
Teks ke Gambar
Buat gambar AI dari prompt teks
Animasikan gambar diam dengan API Google Gemini Omni 1.2 Flash. Jelaskan gerakan dan tambahkan gambar akhir opsional untuk mengarahkan bingkai terakhir klip. Output hingga 4K.
Gemini Omni 1.2 Flash Image-to-Video API membuat video pendek dari gambar awal dan deskripsi gerakan tertulis. Tersedia di Best Image AI, API ini mendukung gambar akhir opsional sebagai panduan untuk mengakhiri rangkaian adegan. Animasikan foto produk, ilustrasi, atau bingkai papan cerita dengan pilihan keluaran video berorientasi lanskap atau potret.
Animasi gambar diam: Ciptakan gerakan dari gambar yang disediakan dengan menggunakan komposisinya sebagai tampilan pembuka klip yang dihasilkan.
Transisi antarbingkai: Arahkan rangkaian gerakan di antara gambar awal dan akhir saat tampilan akhir adegan sudah ditentukan.
Arahan gerakan tertulis: Lengkapi gambar dengan prompt yang menjelaskan aksi dan bagaimana adegan tersebut seharusnya berkembang.
Masukan: Sediakan gambar awal dan prompt yang menjelaskan gerakan yang diinginkan. Gambar akhir bersifat opsional.
Pengaturan keluaran: Pilih orientasi lanskap atau potret, resolusi, dan durasi klip. Menambahkan gambar akhir mengurangi durasi maksimum yang didukung. Lihat dokumentasi API untuk mengetahui batas yang berlaku.
Keluaran: Ambil video yang dihasilkan setelah proses pembuatan video dari gambar selesai.
Penagihan: Biaya dihitung per detik dari durasi keluaran yang diminta sesuai dengan resolusi yang dipilih. Tidak ada biaya terpisah untuk penambahan gambar akhir.
Animasi foto produk: Gunakan foto produk sebagai bingkai pembuka untuk membuat konsep video promosi singkat.
Transisi papan cerita: Sediakan ilustrasi awal dan akhir untuk menjajaki rangkaian gerakan di antara bingkai yang direncanakan.
Adaptasi materi media sosial: Buat versi video dari gambar kampanye atau ilustrasi editorial yang sudah ada.
Peninjauan arahan gerakan: Padukan ilustrasi yang telah disetujui dengan berbagai deskripsi gerakan untuk menjajaki adegan sebelum melanjutkan produksi.
Catatan Jelaskan gerakan yang menghubungkan bingkai yang disediakan, alih-alih hanya menggambarkan isi setiap gambar. Gambar akhir memandu tampilan penutup sekaligus mengurangi durasi maksimum klip yang didukung.
Dibandingkan dengan Text-to-Video: Image-to-Video memerlukan gambar pembuka. Pilih Text-to-Video jika adegan perlu dibuat dari deskripsi tertulis tanpa masukan gambar.
Dibandingkan dengan Reference-to-Video: Image-to-Video menggunakan gambar untuk menentukan awal dan, secara opsional, akhir klip. Reference-to-Video menerima gambar dan video sebagai referensi untuk membuat klip baru.
Dibandingkan dengan Video Edit: Image-to-Video menciptakan gerakan dari gambar diam dengan durasi dan orientasi yang dipilih. Video Edit menggunakan rekaman yang sudah ada sebagai dasar pengaturan waktu dan rasio aspek keluaran.
Jelajahi berbagai alat kreasi AI untuk alur kerja gambar dan video yang cepat di browser Anda, lalu tingkatkan skala ide yang berhasil dengan API model siap produksi dari Best Image AI. Best Image AI menyediakan lapisan API terpadu untuk semua model sehingga alur kerja Anda mudah digunakan dan ditingkatkan skalanya.

Buat gambar AI dari prompt teks

Buat gambar AI dari gambar dan prompt teks

Buat video AI dari prompt teks

Animasikan gambar menjadi video AI

Buat gambar dan video AI dalam satu ruang kerja terpadu

Buat video yang konsisten dari media referensi

Bangun alur kerja visual gambar dan video AI pada kanvas tanpa batas
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
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
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/video/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.videos[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/video/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'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
}
)
result = response.json()
task_id = result['data']['task_id']
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"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
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/video/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/video/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['videos'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)