Data Prompt
Pustaka prompt IMGPrompt dihimpun dari koleksi daring, promptoMANIA, sd-webui-prompt-all-in-one, dan awesome-gpt-image-2-prompts (CC BY 4.0). Setelah deduplikasi, standardisasi, dan pelokalan ke 18 bahasa, terkumpul 5000+ entri prompt generasi gambar/video yang tersebar di 16 kategori utama dan ratusan subkategori.
Penjelasan Struktur Data
Semua data prompt tersimpan di direktori proyek src/app/data dengan struktur berikut:
src
└── app
└── data
├── prompt # Prompt dalam 18 versi bahasa
│ ├── prompt-zh.json # Mandarin Sederhana (sumber acuan; bahasa lain diturunkan darinya)
│ ├── prompt-en.json # Inggris
│ ├── prompt-ja.json # Jepang
│ └── ...... # 15 bahasa lainnya
└── prompt-custom.json # Prompt kustom pengguna (dimuat untuk semua bahasa)
Setiap prompt berupa satu objek JSON:
{
"displayName": "portrait",
"langName": "Potret",
"object": "Tokoh",
"attribute": "Dasar",
"description": "(Opsional) keterangan atau kredit pembuat",
"preview": "(Opsional) URL gambar pratinjau"
}
Penjelasan Field
| Field | Wajib? | Keterangan |
|---|---|---|
displayName |
✅ Ya | Prompt bahasa Inggris (unik) — teks yang benar-benar disisipkan ke kotak prompt |
langName |
✅ Ya | Terjemahan bahasa lokal/target, ditampilkan pada tag di UI |
object |
✅ Ya | Kategori utama (mis. Tokoh / Lingkungan / Fotografi / Gaya seni) |
attribute |
✅ Ya | Subkategori (mis. Dasar / Usia / Efek pencahayaan / Latar Belakang) |
description |
❌ Tidak | Keterangan tambahan di popover pratinjau (kredit pembuat, tips pemakaian, dll.) — tampil saat hover di desktop / tekan lama di layar sentuh |
preview |
❌ Tidak | URL gambar pratinjau — tampil di popover saat hover (desktop) atau tekan lama ±0,5 detik (sentuh); klik / ketuk thumbnail untuk membuka lightbox |
💡 Field
previewadalah sumber data fitur "pratinjau hover / tekan lama + klik untuk memperbesar". Desktop memakai hover, perangkat sentuh memakai tekan lama; ketukan singkat tetap hanya menambah / menghapus tag.
Tips Pemeliharaan Data
displayNameharus unik — duplikat akan diabaikan dan menurunkan kualitas rekomendasi.- Kontrak koma:
", "(koma + spasi) adalah pemisah tag aplikasi; di dalam entri agregat gunakan","tanpa spasi (mis.snow,ice). Koma berspasi atau koma lebar penuh akan ditolak saat build (validasisliceData). - Gunakan ulang nilai
object/attributeyang sama di semua bahasa agar navigasi kategori tetap konsisten. - Buat
langNameseringkas mungkin agar tampilan tag tidak terpotong. - Untuk
preview, format WebP ≤ 150 KB dengan rasio persegi (1:1) tampil paling baik di popover hover / tekan lama.
Menambahkan Prompt Kustom
Untuk memperluas isi prompt, gunakan Konverter Data IMGPrompt untuk mengubah data kustom Anda ke format standar. Simpan hasil konversinya ke src/app/data/prompt-custom.json; file ini dimuat otomatis saat aplikasi dijalankan dan berlaku untuk semua bahasa.
Contoh:
[
{
"displayName": "cyberpunk cityscape",
"langName": "Kota siberpunk",
"object": "Lingkungan",
"attribute": "Kota"
},
{
"displayName": "cinematic lighting",
"langName": "Pencahayaan sinematik",
"object": "Efek cahaya dan bayangan",
"attribute": "Efek pencahayaan",
"description": "Cahaya terarah lembut + rim light untuk kesan dimensi",
"preview": "https://example.com/preview/cinematic.webp"
}
]
Entri kustom mengikuti aturan tampilan yang persis sama dengan entri bawaan: yang memiliki preview mendapat kemampuan pratinjau hover / tekan lama + klik untuk memperbesar.