# API Gemini Omni 1.2 Flash Referensi lengkap API untuk model pembuatan video Google Gemini Omni 1.2 Flash. ## Varian model API ini mendukung empat varian model: | Model | ID | Deskripsi | |-------|-----|-------------| | **Gemini Omni 1.2 Flash Text to Video** | `gemini-omni-1.2-flash-text-to-video` | Membuat video dari prompt teks | | **Gemini Omni 1.2 Flash Image to Video** | `gemini-omni-1.2-flash-image-to-video` | Menganimasikan gambar awal yang wajib disertakan, dengan bingkai akhir opsional sebagai panduan | | **Gemini Omni 1.2 Flash Video Edit** | `gemini-omni-1.2-flash-video-edit` | Mengubah video yang sudah ada sesuai instruksi dalam prompt | | **Gemini Omni 1.2 Flash Reference to Video** | `gemini-omni-1.2-flash-reference-to-video` | Membuat video berdasarkan gambar referensi, video referensi, atau keduanya | ## Perbandingan singkat | Fitur | Teks ke video | Gambar ke video | Penyuntingan video | Referensi ke video | |---------|---------------|----------------|------------|--------------------| | Masukan utama | Prompt teks | Gambar awal dan prompt teks | Video sumber dan prompt teks | Prompt teks dan minimal satu gambar atau video referensi | | Durasi | 3–15 detik | 3–15 detik, atau 3–10 detik jika ada bingkai akhir | Durasi video sumber maksimal 10 detik | 3–15 detik | | Pilihan resolusi | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | 360p, 720p, 1080p, 4k | | Rasio aspek | 16:9, 9:16 | 16:9, 9:16 | Tidak didukung | 16:9, 9:16 | | Masukan opsional | Tidak ada | Gambar akhir | Tidak ada | Maksimal 10 gambar dan 3 video, dengan minimal satu referensi | ## Endpoint bersama Semua varian Gemini Omni 1.2 Flash menggunakan endpoint tugas video: ``` POST /api/v1/video/task ``` ## Gemini Omni 1.2 Flash Text to Video ### Parameter wajib | Parameter | Tipe | Deskripsi | |-----------|------|-------------| | `model_name` | string | Harus bernilai `"gemini-omni-1.2-flash-text-to-video"` | | `prompt` | string | Deskripsi teks untuk video yang ingin dibuat | | `aspect_ratio` | string | Rasio aspek video keluaran: `"16:9"` atau `"9:16"` | | `resolution` | string | Resolusi keluaran: `"360p"`, `"720p"`, `"1080p"`, atau `"4k"` | | `duration` | integer | Durasi video keluaran dalam detik, dari 3 hingga 15 | ### Contoh permintaan ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'gemini-omni-1.2-flash-text-to-video', prompt: 'A cinematic tracking shot follows a sailboat crossing a glowing ocean at sunset', aspect_ratio: '16:9', resolution: '1080p', duration: 12 }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Gemini Omni 1.2 Flash Image to Video ### Parameter wajib | Parameter | Tipe | Deskripsi | |-----------|------|-------------| | `model_name` | string | Harus bernilai `"gemini-omni-1.2-flash-image-to-video"` | | `prompt` | string | Deskripsi teks tentang gerakan dan perkembangan adegan yang diinginkan | | `image_url` | string | URL gambar bingkai awal yang wajib disertakan | | `aspect_ratio` | string | Rasio aspek video keluaran: `"16:9"` atau `"9:16"` | | `resolution` | string | Resolusi keluaran: `"360p"`, `"720p"`, `"1080p"`, atau `"4k"` | | `duration` | integer | Durasi keluaran dalam detik, dari 3 hingga 15 tanpa bingkai akhir atau dari 3 hingga 10 jika `image_end_url` disertakan | ### Parameter opsional | Parameter | Tipe | Deskripsi | |-----------|------|-------------| | `image_end_url` | string | URL opsional untuk gambar bingkai akhir. Jika disertakan, nilai `duration` harus antara 3 dan 10 detik | ### Contoh permintaan ```javascript { model_name: 'gemini-omni-1.2-flash-image-to-video', prompt: 'The girl walks toward the camera while the city lights shimmer behind her', image_url: 'https://example.com/start-frame.jpg', image_end_url: 'https://example.com/end-frame.jpg', aspect_ratio: '9:16', resolution: '1080p', duration: 8 } ``` ## Gemini Omni 1.2 Flash Video Edit ### Parameter wajib | Parameter | Tipe | Deskripsi | |-----------|------|-------------| | `model_name` | string | Harus bernilai `"gemini-omni-1.2-flash-video-edit"` | | `prompt` | string | Instruksi teks yang menjelaskan perubahan yang diinginkan | | `video_url` | string | URL video sumber. Durasinya tidak boleh melebihi 10 detik | | `resolution` | string | Resolusi keluaran: `"360p"`, `"720p"`, `"1080p"`, atau `"4k"` | **Catatan:** Video Edit tidak mendukung `aspect_ratio` maupun `duration`. Jangan sertakan kedua parameter tersebut dalam permintaan. ### Contoh permintaan ```javascript { model_name: 'gemini-omni-1.2-flash-video-edit', prompt: 'A small ball rolls into the scene and captures the attention of the cat', video_url: 'https://example.com/source-video.mp4', resolution: '1080p' } ``` ## Gemini Omni 1.2 Flash Reference to Video Gambar dan video referensi dapat digunakan secara terpisah atau bersamaan. Sertakan minimal satu gambar atau video referensi dalam `images` atau `videos`. ### Parameter wajib | Parameter | Tipe | Deskripsi | |-----------|------|-------------| | `model_name` | string | Harus bernilai `"gemini-omni-1.2-flash-reference-to-video"` | | `prompt` | string | Deskripsi teks untuk video yang ingin dibuat | | `aspect_ratio` | string | Rasio aspek video keluaran: `"16:9"` atau `"9:16"` | | `resolution` | string | Resolusi keluaran: `"360p"`, `"720p"`, `"1080p"`, atau `"4k"` | | `duration` | integer | Durasi video keluaran dalam detik, dari 3 hingga 15 | ### Masukan referensi opsional | Parameter | Tipe | Deskripsi | |-----------|------|-------------| | `images` | string[] | Maksimal 10 URL gambar referensi. Opsional jika video referensi disertakan | | `videos` | string[] | Maksimal 3 URL video referensi. Durasi setiap video maksimal 3 detik. Opsional jika gambar referensi disertakan | ### Contoh permintaan ```javascript { model_name: 'gemini-omni-1.2-flash-reference-to-video', prompt: 'Use the references to create a cinematic shot of a small boat approaching from the distance', aspect_ratio: '16:9', resolution: '1080p', duration: 12, images: ['https://example.com/boat-reference.jpg'], videos: ['https://example.com/motion-reference.mp4'] } ``` ## Format respons ### Respons awal Semua model mengembalikan `task_id` untuk memeriksa status secara berkala: ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` ### Respons pemeriksaan berkala Kirim permintaan `GET /api/v1/video/{taskId}` secara berkala untuk memeriksa status: ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "succeed", "task_status_msg": null, "task_result": { "credit": 0.2, "videos": [ { "url": "https://example.com/generated-video.mp4" } ] } } } ``` ### Nilai status - `submitted`: tugas telah diterima dan menunggu untuk diproses - `processing`: video sedang dibuat - `succeed`: video selesai dibuat - `failed`: video gagal dibuat ## Praktik terbaik 1. **Penulisan prompt**: Jelaskan subjek, tindakan, pergerakan kamera, pencahayaan, dan perkembangan adegan dengan jelas. 2. **Pengaturan wajib**: Selalu cantumkan resolusi yang didukung. Untuk semua varian selain Video Edit, cantumkan juga rasio aspek dan durasi yang didukung. 3. **Gambar masukan**: Gunakan URL yang stabil dan dapat diakses publik untuk gambar awal, gambar akhir, dan gambar referensi. Jika menyertakan gambar bingkai akhir, tetapkan `duration` antara 3 dan 10 detik. 4. **Masukan untuk penyuntingan video**: Pastikan durasi video sumber tidak melebihi 10 detik sebelum mengirimkannya. 5. **Batas referensi**: Sertakan minimal satu gambar atau video referensi. Kirim maksimal 10 gambar dan 3 video, dengan durasi maksimal 3 detik untuk setiap video referensi.