```json
{
"name": "Super Prompt - Foto Editor Generator Combiner (Web Mobile)",
"version": "1.3",
"app_features": {
"ui_theme": {
"dark_mode": {
"enabled": true,
"default": "system",
"options": ["light", "dark", "system"],
"notes_id": "Sediakan toggle Mode Malam/Dark Mode di header/menu pengaturan. Simpan preferensi tema di local storage agar konsisten saat aplikasi dibuka ulang."
}
},
"project_persistence": {
"save_load_project_local_json": {
"enabled": true,
"save_method": "download_json_file",
"load_method": "upload_json_file",
"notes_id": "Fitur Save Project mengekspor state proyek menjadi file .json ke perangkat user. Fitur Load Project mengimpor file .json dari perangkat user untuk mengembalikan seluruh state proyek. Tidak perlu server."
},
"project_file_schema": {
"file_extension": ".json",
"required_fields": ["project_meta", "inputs", "template", "style", "generation_state"],
"structure": {
"project_meta": {
"project_id": "string (uuid)",
"project_name": "string",
"app_version": "string",
"created_at": "string (ISO-8601)",
"updated_at": "string (ISO-8601)"
},
"inputs": {
"person_image_ref": {
"type": "object",
"ref_kind": "string (mis. 'local_file_name' atau 'data_url')",
"ref_value": "string",
"notes_id": "Karena file disimpan lokal, referensi gambar bisa berupa nama file lokal yang dipilih user saat load, atau data URL/base64 jika aplikasi mengizinkan penyimpanan embedded."
},
"location_image_ref": {
"type": "object|null",
"ref_kind": "string|null",
"ref_value": "string|null"
},
"extra_command": "string",
"selected_template": "string",
"selected_style": "string"
},
"template": {
"template_label": "string",
"template_id": "number|null"
},
"style": {
"style_label": "string",
"style_id": "number|null"
},
"generation_state": {
"last_output": {
"ringkasan_input_id": "string|null",
"konsep_foto_id": "object|null",
"prompt_en": "string|null",
"negative_prompt_en": "string|null",
"saran_parameter_id": "object|null"
},
"history": "array (opsional, menyimpan versi prompt/output sebelumnya)"
}
}
}
},
"generation_workflow": {
"buttons": {
"generate_prompt": {
"enabled": true,
"label_id": "Generate Prompt",
"notes_id": "Menghasilkan konsep foto (ID) + prompt_en + negative_prompt_en dari input user."
},
"generate_photo": {
"enabled": true,
"label_id": "Generate Photo",
"notes_id": "Tombol muncul setelah prompt berhasil dibuat. Tombol ini menjalankan proses text-to-image menggunakan prompt_en + negative_prompt_en (dan input image reference jika engine mendukung)."
}
}
}
},
"system_prompt": "Anda adalah fotografer profesional kelas dunia, sutradara visual (art director), dan prompt engineer senior. Anda menghasilkan konsep foto yang sangat kuat serta menulis prompt text-to-image berbahasa Inggris yang siap dipakai untuk menghasilkan gambar 3D realistis sinematik berkualitas kelas dunia.\n\nKONTEKS APLIKASI (FLOW):\nUser menginput:\n1) person_image (WAJIB): foto orang/manusia sebagai referensi identitas (wajah, bentuk tubuh, gaya rambut, ciri khas).\n2) location_image (OPSIONAL): foto lingkungan/lokasi sebagai referensi tempat, tekstur, palet warna, arah cahaya, dan atmosfer.\n3) extra_command (OPSIONAL): perintah tambahan (mis. lokasi spesifik, cuaca, waktu, mood, outfit, properti, aksi, penambahan tokoh/objek, dll.).\n4) selected_template (WAJIB): salah satu dari 20 template konsep.\n5) selected_style (OPSIONAL): salah satu dari 100 style preset kelas dunia, atau mode khusus \"Gunakan style dari command tambahan\".\n\nTUJUAN OUTPUT:\n- Buat konsep foto (Bahasa Indonesia) yang paling cocok dengan input user dan template.\n- Buat prompt text-to-image (Bahasa Inggris) yang kaya detail, sinematik, dan fotoreal 3D.\n- Buat negative prompt (Bahasa Inggris) untuk meminimalkan cacat generasi.\n- Sertakan saran teknis fotografi singkat (Bahasa Indonesia): komposisi, lighting, lensa/kamera, color grading, HDR seperlunya, white balance, depth of field.\n\nATURAN WAJIB (KUALITAS & KONSISTENSI):\n1) Identitas subjek prioritas tertinggi: pertahankan kemiripan orang dari person_image (wajah, warna kulit, bentuk kepala, fitur khas, proporsi realistis). Jangan mengubah gender/umur/etnis secara ekstrem kecuali diminta jelas oleh user.\n2) Jika location_image tersedia: jadikan itu environment utama. Jika tidak ada, bangun environment dari selected_template dan extra_command.\n3) Jika extra_command bertentangan dengan template, prioritaskan extra_command.\n4) Penerapan style:\n a) Jika selected_style = \"Gunakan style dari command tambahan (Custom)\": jangan memaksakan style preset apa pun. Ambil style hanya jika disebut di extra_command. Jika extra_command tidak menyebut style, gunakan tampilan netral-realistik (tanpa gimmick), tetap berkualitas tinggi.\n b) Jika selected_style diisi preset tertentu: terapkan ciri style itu secara konsisten (grading, contrast, grain, lighting), tanpa merusak realisme wajah/anatomi.\n c) Jika selected_style kosong/null: default ke cinematic photorealistic 3D yang natural (tidak berlebihan).\n5) Hasil harus tampak realistis: material akurat, skala masuk akal, anatomi benar, detail natural (tekstur kulit, rambut, kain).\n6) Terapkan prinsip fotografi: subject-background separation, leading lines/foreground interest, depth, perspektif, rule of thirds atau center framing sesuai konsep.\n7) Pencahayaan harus logis dan sinematik: arah cahaya jelas, highlight/shadow natural, hindari overexposure dan HDR berlebihan.\n8) Hindari artefak generatif: tangan/jari cacat, wajah ganda, mata tidak simetris, gigi aneh, proporsi tubuh rusak, objek menyatu, teks acak, watermark, logo, noise berlebihan, oversharpen, blur tidak wajar.\n9) Konten aman: tidak ada konten seksual eksplisit, kekerasan sadis, atau hal ilegal.\n\nGAYA VISUAL DEFAULT (jika tidak ditentukan oleh selected_style/extra_command):\n- cinematic photorealistic 3D, realistic skin texture, natural pores, subtle volumetric light, filmic color grading, accurate white balance, high dynamic range (natural, not overprocessed), sharp focus on subject, soft bokeh background.\n\nCARA KERJA (LANGKAH):\nA) Interpretasi input: ringkas kebutuhan user secara singkat.\nB) Buat konsep kreatif yang kuat dan masuk akal: jelaskan pose, ekspresi, wardrobe, properti, suasana, dan momen.\nC) Susun prompt English final yang menyebut:\n - Subjek utama: “the same person as the reference photo” (tanpa mengubah identitas), detail pose/ekspresi.\n - Environment: lokasi sesuai template/lokasi user, waktu (sunrise/golden hour/blue hour/night), cuaca, detail latar.\n - Komposisi: angle kamera (eye-level/low angle/over-the-shoulder), framing (close-up/half-body/full-body), depth.\n - Lighting: key light (natural/sun/softbox), rim light bila perlu, bounce fill, suasana sinematik.\n - Kamera/lensa: sebutkan opsi realistis (mis. full-frame, 35mm/50mm/85mm) + aperture (f/1.8–f/4) + DOF.\n - Style (jika ada): sebutkan karakter style sesuai selected_style atau extra_command (mis. film grain halus, teal-orange, matte, noir b/w), tetapi jangan mengorbankan kemiripan wajah.\n - Kualitas render: ultra-detailed, realistic materials, clean subject separation.\nD) Susun negative prompt English (ringkas namun kuat).\nE) Beri saran parameter netral (tanpa menyebut platform tertentu): aspect ratio, framing, dan catatan kecil.\n\nFORMAT OUTPUT (WAJIB: JSON VALID). Semua teks wajib Bahasa Indonesia, KECUALI field \"prompt_en\" dan \"negative_prompt_en\" yang wajib Bahasa Inggris.\nKeluarkan tepat dalam struktur berikut:\n{\n \"ringkasan_input_id\": \"...\",\n \"konsep_foto_id\": {\n \"judul\": \"...\",\n \"cerita_singkat\": \"...\",\n \"detail_pose_ekspresi\": \"...\",\n \"wardrobe_properti\": \"...\",\n \"lokasi_suasana\": \"...\",\n \"komposisi\": \"...\",\n \"lighting\": \"...\",\n \"color_grading\": \"...\",\n \"kamera_lensa\": \"...\"\n },\n \"prompt_en\": \"...\",\n \"negative_prompt_en\": \"...\",\n \"saran_parameter_id\": {\n \"aspect_ratio\": \"...\",\n \"framing\": \"...\",\n \"catatan\": \"...\"\n }\n}\n\nCATATAN:\n- Jika user meminta tambahan tokoh/objek, masukkan secara realistis dan jelaskan posisinya (mis. di belakang dengan bokeh, atau di sisi frame), namun tetap fokus pada subjek utama.\n- Jangan menulis penjelasan di luar JSON. Jangan menambahkan markdown. Jangan menambahkan field lain.",
"ui_templates": [
{ "id": 1, "label": "Sedang di Bali (Pantai & Pura saat Golden Hour)", "intent": "Tropis hangat, aura spiritual, sunset cinematic." },
{ "id": 2, "label": "Di Puncak Piramida Mesir (Giza, Sunrise Epik)", "intent": "Hero shot, sunrise, pasir dan angin, monumental." },
{ "id": 3, "label": "Di Puncak Himalaya (Pendakian, Angin Salju, Hero Shot)", "intent": "Ekspedisi dingin, dramatis, skala megah." },
{ "id": 4, "label": "Tokyo Neon Rain (Shibuya Malam Hujan, Cyber-Urban)", "intent": "Neon, refleksi basah, mood urban sinematik." },
{ "id": 5, "label": "Paris Klasik (Menara Eiffel, Senja Romantis)", "intent": "Romantis, hangat, gaya editorial travel." },
{ "id": 6, "label": "New York Rooftop (Golden Hour, City Skyline)", "intent": "Modern, percaya diri, skyline dramatis." },
{ "id": 7, "label": "Santorini White & Blue (Siang Cerah, Laut Aegea)", "intent": "Cerah bersih, kontras putih-biru, airy." },
{ "id": 8, "label": "Machu Picchu Mist (Kabut Pagi, Petualangan)", "intent": "Kabut lembut, misterius, petualangan klasik." },
{ "id": 9, "label": "Safari Serengeti (Jeep, Debu Emas, Satwa Jauh)", "intent": "Hangat, natural, wildlife di kejauhan, cinematic." },
{ "id": 10, "label": "Aurora Islandia (Langit Hijau, Salju, Malam Jernih)", "intent": "Kontras aurora, dingin, night cinematic." },
{ "id": 11, "label": "Venice Gondola (Kanal, Cahaya Hangat, Vintage Film)", "intent": "Vintage, hangat, refleksi air, romantis." },
{ "id": 12, "label": "Gurun Sahara (Bukit Pasir, Angin, Siluet Dramatis)", "intent": "Siluet, tekstur pasir, minimalis dramatis." },
{ "id": 13, "label": "Hutan Hujan Tropis (Air Terjun, Kabut, Sun Rays)", "intent": "Hijau lembap, sun rays, cinematic adventure." },
{ "id": 14, "label": "Danau Pegunungan (Refleksi Tenang, Pagi Dingin)", "intent": "Tenang, refleksi, mood sejuk, clean grading." },
{ "id": 15, "label": "Studio Fashion High-Key (Putih Bersih, Editorial)", "intent": "Editorial, high-key, bersih, fokus styling." },
{ "id": 16, "label": "Film Noir Alley (Hitam Putih, Kontras Tinggi, Misterius)", "intent": "Noir, shadow keras, misteri, b/w klasik." },
{ "id": 17, "label": "Underwater Dream (Bawah Laut, Caustics, Elegan)", "intent": "Bawah air, caustics, dreamy elegan." },
{ "id": 18, "label": "Kerajaan Medieval (Kastil Batu, Epic Fantasy Realistis)", "intent": "Epic, medieval realistis, kabut sinematik." },
{ "id": 19, "label": "Futuristic Space Station (Sci-Fi Realistis, Rim Light)", "intent": "Sci-fi realistis, rim light, cinematic." },
{ "id": 20, "label": "Street Kyoto Winter (Salju Halus, Lampion, Tenang)", "intent": "Winter calm, lampion hangat, zen." }
],
"ui_styles": [
{ "id": 0, "label": "Gunakan style dari command tambahan (Custom)", "intent": "Abaikan preset; style hanya mengikuti extra_command. Jika tidak ada style di extra_command, gunakan tampilan netral-realistik." },
{ "id": 1, "label": "Sinematik Teal & Orange (Blockbuster)", "intent": "Kontras sinema, skin tone hangat, bayangan teal." },
{ "id": 2, "label": "Sinematik Warm Golden Hour", "intent": "Hangat keemasan, highlight lembut, nuansa sunset." },
{ "id": 3, "label": "Sinematik Cold Blue Night", "intent": "Malam dingin, biru dominan, highlight terkontrol." },
{ "id": 4, "label": "IMAX Epic Wide", "intent": "Skala besar, wide angle dramatis, detail lingkungan kuat." },
{ "id": 5, "label": "Hollywood Clean (Modern Film)", "intent": "Bersih, premium, dynamic range rapi, warna natural sinema." },
{ "id": 6, "label": "Indie Film Grain Halus", "intent": "Grain halus organik, tone sedikit matte, intim." },
{ "id": 7, "label": "Dokumenter Photojournalism", "intent": "Natural, jujur, kontras moderat, momen spontan." },
{ "id": 8, "label": "Street High Contrast", "intent": "Kontras kuat, shadow tegas, urban gritty." },
{ "id": 9, "label": "Street Neon Pop", "intent": "Neon kuat, refleksi, saturasi terarah." },
{ "id": 10, "label": "Fashion Editorial High-Key", "intent": "Terang bersih, bayangan minimal, look majalah." },
{ "id": 11, "label": "Fashion Editorial Low-Key", "intent": "Gelap elegan, highlight terarah, mood premium." },
{ "id": 12, "label": "Beauty Retouch Glossy", "intent": "Kulit rapi natural, glossy highlight, detail rambut." },
{ "id": 13, "label": "Portrait Natural Soft Light", "intent": "Cahaya lembut, skin tone natural, bokeh creamy." },
{ "id": 14, "label": "Corporate Headshot Clean", "intent": "Netral, tajam, profesional, latar bersih." },
{ "id": 15, "label": "Vintage 70s Warm", "intent": "Hangat retro, sedikit fade, nuansa analog." },
{ "id": 16, "label": "80s On-Camera Flash", "intent": "Flash keras khas era 80-an, highlight tegas." },
{ "id": 17, "label": "90s Magazine Pop", "intent": "Kontras dan saturasi seperti majalah 90-an." },
{ "id": 18, "label": "Y2K Pop Clean", "intent": "Bersih, cerah, vibe awal 2000-an." },
{ "id": 19, "label": "K-Pop Stage Glow", "intent": "Glow lembut, warna vibrant, highlight panggung." },
{ "id": 20, "label": "Harajuku Color Burst", "intent": "Warna playful, kontras ceria, gaya jalanan." },
{ "id": 21, "label": "Minimalis Scandinavian", "intent": "Palet netral, airy, sederhana, clean." },
{ "id": 22, "label": "Dark Moody (Coffee Tone)", "intent": "Gelap hangat, shadow pekat, mood intim." },
{ "id": 23, "label": "Pastel Dreamy", "intent": "Pastel lembut, kontras rendah, dreamy." },
{ "id": 24, "label": "Matte Film (Soft Contrast)", "intent": "Kontras lembut, blacks terangkat, filmic." },
{ "id": 25, "label": "HDR Natural (Detail Seimbang)", "intent": "Detail tinggi namun tetap natural, tidak berlebihan." },
{ "id": 26, "label": "Travel Postcard Vibrant", "intent": "Cerah, tajam, warna meriah, cocok travel." },
{ "id": 27, "label": "Autumn Warm Tones", "intent": "Oranye-cokelat dominan, cozy, musim gugur." },
{ "id": 28, "label": "Winter Cool Tones", "intent": "Kebiruan, bersih, dingin, winter feel." },
{ "id": 29, "label": "Hitam Putih Klasik", "intent": "B/W timeless, tonal smooth, elegan." },
{ "id": 30, "label": "Hitam Putih Kontras Tinggi", "intent": "B/W tegas, shadow pekat, dramatis." },
{ "id": 31, "label": "Film Noir (B/W Dramatic)", "intent": "Shadow tajam, rim light, nuansa misteri." },
{ "id": 32, "label": "Sepia Vintage", "intent": "Cokelat sepia, nostalgia, lembut." },
{ "id": 33, "label": "Film Look: Portra 400", "intent": "Skin tone natural, grain halus, filmic." },
{ "id": 34, "label": "Film Look: Ektar 100", "intent": "Warna kaya, detail tajam, saturasi elegan." },
{ "id": 35, "label": "Film Look: Fuji Pro 400H", "intent": "Hijau lembut, pastel, wedding/editorial." },
{ "id": 36, "label": "Film Look: Velvia (Vivid)", "intent": "Saturasi kuat, landscape punchy, vibrant." },
{ "id": 37, "label": "Film Look: 800T (Tungsten)", "intent": "Malam kota, halation lampu, vibe sinema." },
{ "id": 38, "label": "B/W Film Look: HP5", "intent": "Grain klasik, kontras moderat, dokumenter." },
{ "id": 39, "label": "B/W Film Look: Tri-X", "intent": "Kontras lebih kuat, grain khas street." },
{ "id": 40, "label": "Instant Camera (Polaroid Feel)", "intent": "Soft, sedikit fade, warna khas instant." },
{ "id": 41, "label": "Cross-Process Lomo", "intent": "Warna shift kreatif, kontras unik." },
{ "id": 42, "label": "Disposable Camera Snapshot", "intent": "Flash sederhana, grain/noise ringan, candid." },
{ "id": 43, "label": "Tilt-Shift Miniature", "intent": "Miniature effect, blur selektif, fun." },
{ "id": 44, "label": "Long Exposure Light Trails", "intent": "Jejak lampu, motion artistik, city night." },
{ "id": 45, "label": "Astro Milky Way", "intent": "Langit malam detail, bintang jelas, low noise." },
{ "id": 46, "label": "Aurora Night Vivid", "intent": "Aurora kuat, warna hijau-ungu, langit bersih." },
{ "id": 47, "label": "Underwater Realistic Caustics", "intent": "Caustics natural, floating particles halus." },
{ "id": 48, "label": "Desert Haze (Heatwave)", "intent": "Haze panas, kontras terkompres, cinematic." },
{ "id": 49, "label": "Tropical Bright (Clean Aqua)", "intent": "Biru laut bersih, hijau segar, cerah." },
{ "id": 50, "label": "Rainy Day Reflections", "intent": "Refleksi basah, highlight neon, mood sendu." },
{ "id": 51, "label": "Snowstorm Dramatic", "intent": "Butiran salju, kontras dingin, hero mood." },
{ "id": 52, "label": "Foggy Mist Soft", "intent": "Kabut lembut, low contrast, atmosfer tebal." },
{ "id": 53, "label": "Golden Dust (Backlit Particles)", "intent": "Partikel backlight, glow halus, dreamy." },
{ "id": 54, "label": "Sunset Silhouette", "intent": "Siluet tegas, langit dramatis, minimalis." },
{ "id": 55, "label": "Sunrise Soft Pastel", "intent": "Pagi pastel, lembut, clean, optimis." },
{ "id": 56, "label": "Blue Hour City Clean", "intent": "Biru senja, lampu kota, clean modern." },
{ "id": 57, "label": "Cyberpunk Neon", "intent": "Neon kuat, kontras tinggi, urban futuristik." },
{ "id": 58, "label": "Synthwave 80s", "intent": "Magenta-cyan, retro neon, vibe 80s." },
{ "id": 59, "label": "Vaporwave Pastel Neon", "intent": "Pastel neon, dreamy retro, soft glow." },
{ "id": 60, "label": "Steampunk Realistis", "intent": "Brass, leather, smoke halus, detail mekanik." },
{ "id": 61, "label": "Medieval Epic Realistis", "intent": "Kabut, cahaya dramatis, tekstur batu/armor." },
{ "id": 62, "label": "Fantasy Ethereal (Realistic)", "intent": "Glow halus, mist, magical tapi tetap real." },
{ "id": 63, "label": "Dark Fantasy Realistis", "intent": "Gelap, kontras dramatis, aura misterius." },
{ "id": 64, "label": "Sci-Fi Clean (Minimal Futurism)", "intent": "Bersih, metal putih, rim light modern." },
{ "id": 65, "label": "Space Opera Cinematic", "intent": "Epik, kontras sinema, skala besar." },
{ "id": 66, "label": "Retro Sci-Fi 60s Clean", "intent": "Retro futurism, palet cerah, desain klasik." },
{ "id": 67, "label": "Desert Sci-Fi (Cinematic)", "intent": "Pasir sinema, haze, minimalis megah." },
{ "id": 68, "label": "Photoreal dengan Palet Anime (Subtle)", "intent": "Tetap fotoreal, tapi palet warna lebih pop/clean." },
{ "id": 69, "label": "CGI Photoreal (Octane-like)", "intent": "Specular rapi, global illumination halus, premium." },
{ "id": 70, "label": "Game Cinematic (UE5-like)", "intent": "Cinematic realtime feel, detail lingkungan kuat." },
{ "id": 71, "label": "Product Hero Shot (Studio Premium)", "intent": "Bersih, highlight terkontrol, sangat tajam." },
{ "id": 72, "label": "Macro Detail (Super Close-Up)", "intent": "Detail mikro, DOF tipis, tekstur kuat." },
{ "id": 73, "label": "Wildlife Telephoto (Compressed Background)", "intent": "Kompress perspektif, bokeh kuat, fokus subjek." },
{ "id": 74, "label": "Aerial Drone Cinematic", "intent": "Top-down atau oblique, skala luas, cinematic." },
{ "id": 75, "label": "Architecture Wide-Angle Clean", "intent": "Garis lurus, perspektif rapi, detail bangunan." },
{ "id": 76, "label": "Editorial Travel Minimal", "intent": "Sederhana, elegan, tone natural, airy." },
{ "id": 77, "label": "Sports Action Freeze", "intent": "Gerak beku, tajam, energi tinggi." },
{ "id": 78, "label": "Dynamic Motion Blur", "intent": "Motion blur terarah, tetap jaga wajah tajam." },
{ "id": 79, "label": "Bokeh Creamy (Portrait Lens Feel)", "intent": "Background creamy, subjek menonjol, premium." },
{ "id": 80, "label": "Deep Focus Environmental Portrait", "intent": "Banyak elemen tajam, cerita lokasi kuat." },
{ "id": 81, "label": "Rembrandt Lighting (Studio)", "intent": "Segitiga cahaya di pipi, klasik, dramatis." },
{ "id": 82, "label": "Butterfly Lighting (Beauty)", "intent": "Shadow kecil di bawah hidung, look beauty." },
{ "id": 83, "label": "Split Lighting Dramatic", "intent": "Separuh wajah terang, separuh gelap, intens." },
{ "id": 84, "label": "Rim Light Silhouette", "intent": "Outline terang, latar gelap, dramatis." },
{ "id": 85, "label": "Softbox Studio Neutral", "intent": "Cahaya lembut studio, skin tone natural." },
{ "id": 86, "label": "Hard Sun Noon (High Contrast)", "intent": "Kontras siang hari, shadow tajam, realistis." },
{ "id": 87, "label": "Candlelight Warm Intimate", "intent": "Hangat, lembut, highlight kecil, cozy." },
{ "id": 88, "label": "Tungsten Indoor Cozy", "intent": "Warm indoor, nuansa rumah, lampu kuning." },
{ "id": 89, "label": "Fluorescent Gritty", "intent": "Sedikit hijau/keras, vibe urban mentah." },
{ "id": 90, "label": "Gel Lighting Red/Blue", "intent": "Lampu gel warna, modern, editorial." },
{ "id": 91, "label": "Prism Refraction Flare", "intent": "Refleksi prisma halus, artistik, tetap real." },
{ "id": 92, "label": "Anamorphic Lens Flare", "intent": "Flare horizontal, cinematic widescreen feel." },
{ "id": 93, "label": "Vintage Lens Swirly Bokeh", "intent": "Bokeh berputar halus, karakter lensa klasik." },
{ "id": 94, "label": "16mm Film Grain (Heavy)", "intent": "Grain lebih kuat, texture film, gritty." },
{ "id": 95, "label": "Clean Digital Modern", "intent": "Sangat bersih, tajam wajar, warna netral." },
{ "id": 96, "label": "High Saturation Pop", "intent": "Warna menonjol, kontras segar, eye-catching." },
{ "id": 97, "label": "Muted Earthy Tones", "intent": "Warna bumi redup, elegan, kontemporer." },
{ "id": 98, "label": "Monochrome Teal", "intent": "Dominan teal, modern, atmosfer kuat." },
{ "id": 99, "label": "Monochrome Orange", "intent": "Dominan oranye, hangat, poster-like." },
{ "id": 100, "label": "Monokrom Abu Minimal", "intent": "Abu-abu minimal, bersih, fokus bentuk/komposisi." }
],
"input_schema": {
"person_image": "WAJIB (file/URL) - foto orang/manusia",
"location_image": "OPSIONAL (file/URL) - foto lokasi/lingkungan",
"extra_command": "OPSIONAL (string) - perintah tambahan user",
"selected_template": "WAJIB (string) - salah satu label template",
"selected_style": "OPSIONAL (string) - salah satu label style (atau Custom)"
},
"output_schema": {
"ringkasan_input_id": "string (ID)",
"konsep_foto_id": "object (ID, bahasa Indonesia)",
"prompt_en": "string (English)",
"negative_prompt_en": "string (English)",
"saran_parameter_id": "object (ID, bahasa Indonesia)"
},
"example_input": {
"person_image": "uploaded_file_or_url_person",
"location_image": null,
"extra_command": "Tambahkan jaket kulit hitam, suasana hujan gerimis, ada satu teman di belakang sedikit blur. Style: neon noir dengan film grain halus.",
"selected_template": "Tokyo Neon Rain (Shibuya Malam Hujan, Cyber-Urban)",
"selected_style": "Gunakan style dari command tambahan (Custom)"
}
}
```