Google: Veo 3.1
Veo 3.1 adalah model video Google untuk adegan berbasis teks dan gambar dengan suara yang dihasilkan, bingkai batas berpanduan, dan aset referensi. Profil produksinya menyediakan klip empat, enam, atau delapan detik pada 24 fps, dengan opsi keluaran termasuk 720p, 1080p, dan 4K.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Veo 3.1 adalah model generasi video Google untuk membuat adegan audiovisual pendek dari teks atau brief berbasis gambar. Profil produksinya mendukung teks ke video, gambar ke video, dan kreasi berpanduan bingkai pertama/terakhir, dengan suara yang dihasilkan, referensi aset, serta alur kelanjutan terpisah. Gunakan untuk mengembangkan konsep sinematis, narasi produk pendek, atau segmen visual dengan adegan, aksi, dan pengalaman mendengar yang ditentukan.
Jelaskan subjek dan peristiwa terlihat terlebih dahulu. Tetapkan lingkungan, waktu, dan cahaya, lalu tentukan sudut pandang atau gerakan kamera serta gaya visual yang dimaksud. Brief adegan orisinal dapat menampilkan wadah kaca di permukaan studio gelap, dengan gerakan lateral perlahan yang mengungkap pantulan sementara suara lingkungan lembut menyertai penyingkapan. Setiap instruksi memberikan fitur terlihat atau terdengar yang dapat dinilai dalam hasil selesai.
Kerangka prompt Google memperlakukan subjek, aksi, adegan, kamera, dan estetika sebagai bagian brief yang terpisah. Gunakan bagian yang mendukung shot, alih-alih menambahkan setiap deskriptor yang mungkin. Tulis arahan dalam bahasa Inggris untuk profil prompt yang didokumentasikan. Jika adegan memiliki beberapa aksi, nyatakan hubungannya dan jaga sebanding dengan klip pendek agar penyingkapan atau reaksi tetap terbaca.
Gambar awal menetapkan tampilan dan komposisi pembuka. Gunakan ketika karakter, produk, atau latar sudah tersedia sebagai aset visual, lalu jelaskan gerakan yang harus berkembang darinya. Bingkai terakhir menambahkan komposisi sasaran untuk akhir. Siapkan bingkai batas yang menyampaikan transisi masuk akal dan mempertahankan detail pengenal subjek utama, lalu periksa gerakan di antara bingkai tersebut setelah generasi.
Referensi aset memiliki tujuan lain: memandu tampilan karakter atau objek dalam adegan baru yang dihasilkan, sementara bingkai batas menentukan momen tertentu dalam adegan itu. Pilih referensi yang memperlihatkan ciri visual penting dan perjelas peran setiap aset dalam prompt. Spesifikasi gambar referensi ke video model produksi menggunakan keluaran delapan detik untuk alur referensi itu, terpisah dari pemilihan durasi biasa berbasis teks.
Profil produksi biasa pembuat menghasilkan klip empat, enam, atau delapan detik pada 24 bingkai per detik. Profil mencantumkan pembingkaian lanskap 16:9 dan potret 9:16, hingga empat keluaran video per prompt, serta resolusi keluaran 720p, 1080p, dan 4K. Format video keluaran adalah MP4. Spesifikasi berbasis gambarnya menerima JPEG atau PNG, mencantumkan maksimum gambar masukan 20 MB, dan mendukung konfigurasi masukan 720p/1080p. Pilih profil keluaran untuk penempatan yang dimaksud dan jaga komposisi bingkai tetap terbaca pada ukuran itu.
Suara bawaan dapat menyertai adegan terlihat. Tentukan dialog lisan, suasana, dan efek suara sebagai bagian brief yang sama, dengan menyebut subjek atau peristiwa penghasil masing-masing. Instruksi dialog dan kamera menjawab pertanyaan berbeda: yang satu menetapkan penampilan, yang lain menetapkan bagaimana penonton melihatnya. Jaga kata-kata dalam waktu bicara yang berguna pada klip dan tinjau kejelasan suara serta hubungannya dengan aksi.
Untuk kelanjutan, pembuat menyediakan alur perpanjangan video terpisah. Mulailah dari klip sumber hasil generasi yang sesuai dan jelaskan peristiwa terlihat atau perubahan adegan berikutnya. Simpan segmen asli dan lanjutan agar titik sambungnya dapat ditinjau untuk tampilan, gerakan, dan suara. Pilihan durasi serta resolusi generasi baru normal tidak boleh diperlakukan sebagai kontrak universal bagi setiap operasi perpanjangan.
Deskripsi negatif dapat memusatkan pengecualian pada persyaratan visual tugas. Untuk seri variasi produk, jaga subjek dan komposisi stabil sambil mengubah satu arahan kreatif, seperti pencahayaan atau jarak kamera. Catat prompt, referensi, dan pengaturan pilihan bersama hasil. Hal ini memungkinkan perbandingan perbedaan kreatif yang berguna, alih-alih sekumpulan generasi tidak berkaitan.
Profil produksi Veo 3.1 reguler dan Veo 3.1 Fast memiliki profil resolusi keluaran berbeda. Fast mencantumkan 720p dan 1080p; 3.1 reguler juga mencantumkan 4K. Simpan edisi pilihan bersama hasil, tanpa diam-diam mengganti pengenal model produksi dengan profil Preview lama atau generasi Veo lain. Tampilan subjek maupun operasi yang didukung bergantung pada alur pilihan.
Generasi adalah operasi yang hasil selesainya menyediakan artefak video untuk diputar dan disunting kemudian. Simpan berkas yang dikembalikan bersama bingkai sumber, aset referensi, dan brief, serta pertahankan informasi asal-usul konten yang diberikan. Periksa setiap keluaran sebenarnya untuk tampilan subjek, aksi, pembingkaian, suara, dan komposisi akhir. Gunakan klip pilihan sebagai bahan produksi, dengan judul, transisi, atau penyelesaian lain ditambahkan dalam suntingan sekeliling.
Ailoot Ultra · Video POST /v1/videos google/veo-3.1
google/veo-3.1Mulai
Veo 3.1 adalah model video Google untuk adegan berbasis teks dan gambar dengan suara yang dihasilkan, bingkai batas berpanduan, dan aset referensi. Profil produksinya menyediakan klip empat, enam, atau delapan detik pada 24 fps, dengan opsi keluaran termasuk 720p, 1080p, dan 4K.
- Masukan yang diterima
- Teks
- Hasil
- Video
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Video POST /v1/videos
- Masukan
text- Keluaran
video- Format keluaran
- mp4
- Jumlah keluaran
- Hingga 4 keluarans
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan google/veo-3.1 | Bawaan— |
Kolomprompt | Jenisstring | PersyaratanWajib | Nilai & batasan Byte UTF-8 maksimum: 10.000 Wajib berisi karakter selain spasi: Ya | Bawaan— |
Kolomduration | Jenisinteger | PersyaratanWajib | Nilai & batasan 4, 6, 8 | Bawaan— |
Kolomresolution | Jenisstring | PersyaratanWajib | Nilai & batasan 720p | Bawaan— |
Kolomaspect_ratio | Jenisstring | PersyaratanWajib | Nilai & batasan 16:9, 9:16 | Bawaan— |
Kolomgenerate_audio | Jenisboolean | PersyaratanWajib | Nilai & batasan false, true | Bawaan— |
Kombinasi bahan masukan
Teks ke video · Wajib: prompt
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Parameteradditional_properties | Kontrakfalse |
Parameterparameters | Kontrak{"name":"model","type":"string","required":true,"enum":["google/veo-3.1"]}, {"name":"prompt","type":"string","required":true,"non_whitespace":true,"max_utf8_bytes":10000}, {"name":"duration","type":"integer","required":true,"enum":[4,6,8]}, {"name":"resolution","type":"string","required":true,"enum":["720p"]}, {"name":"aspect_ratio","type":"string","required":true,"enum":["16:9","9:16"]}, {"name":"generate_audio","type":"boolean","required":true,"enum":[false,true]} |
Parametermaterial_types | Kontraktext |
Alias metode: /v1/videos/generations, /videos, /videos/generations
Siklus hidup: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Simpan respons secara utuh dan ID asli yang dikembalikan.
Jangan pernah kirim ulang pembuatan yang statusnya tidak diketahui.
Paket
Cara menghitung biaya akhir
Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Biaya akhir dihitung dari biaya yang tercatat untuk proses pembuatan awal. Durasi keluaran yang terukur dan kuantitas perkiraan bukanlah kuantitas akhir yang ditagihkan.
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Perkiraan tarif untuk perbandingan
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah perkiraan | Buat audio | Resolusi | Satuan penagihan | Kondisi penagihan | Biaya |
|---|---|---|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | Buat audio— | Resolusi— | Satuan penagihan— | Kondisi penagihan— | Biaya Masukan · Token masukan · Perkiraan hanya untuk perbandingan — / 1K token Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan — / 1K token |
| KonfigurasiUltra | Jadwal tarif— | Jumlah perkiraanKonfigurasi yang diminta; hanya estimasi. | Buat audioDengan audio | Resolusi720p | Satuan penagihanper detik video keluaran | Kondisi penagihan— | Biaya Keluaran · Perkiraan detik video keluaran · Perkiraan hanya untuk perbandingan $0.8 per detik video keluaran Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Tagihan akhir dihitung dari biaya yang dicatat untuk pembuatan awal. Durasi fisik video bukan kuantitas yang ditagihkan. |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Buat audio— | Resolusi— | Satuan penagihanper detik video | Kondisi penagihansuara: with_audio; resolusi: 4k | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan $1.2 per detik video |
| KonfigurasiUltra | Jadwal tarif— | Jumlah perkiraanKonfigurasi yang diminta; hanya estimasi. | Buat audioTanpa audio | Resolusi720p | Satuan penagihanper detik video keluaran | Kondisi penagihan— | Biaya Keluaran · Perkiraan detik video keluaran · Perkiraan hanya untuk perbandingan $0.4 per detik video keluaran Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Tagihan akhir dihitung dari biaya yang dicatat untuk pembuatan awal. Durasi fisik video bukan kuantitas yang ditagihkan. |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Buat audio— | Resolusi— | Satuan penagihanper detik video | Kondisi penagihanaudio: without_audio; resolusi: 4k | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan $0.8 per detik video |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Buat audio— | Resolusi— | Satuan penagihan— | Kondisi penagihan— | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $1.6 estimasi sebelum pembuatan Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai. |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Detail tarif referensi
Jadwal referensi tingkat model tidak mengubah pemilihan metode, estimasi harga, atau biaya. Biaya aktif menggunakan tarif metode Ailoot yang dipilih.
Referensi harga konfigurasi video
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Kondisi penagihan | Biaya |
|---|---|---|
| KonfigurasiHarga video | Kondisi penagihansuara: with_audio | Biaya Keluaran · Harga video $0.8 per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
| KonfigurasiHarga video | Kondisi penagihansuara: with_audio; resolusi: 4k | Biaya Keluaran · Harga video $1.2 per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
| KonfigurasiHarga video | Kondisi penagihansuara: without_audio | Biaya Keluaran · Harga video $0.4 per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
| KonfigurasiHarga video | Kondisi penagihanaudio: without_audio; resolusi: 4k | Biaya Keluaran · Harga video $0.8 per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
Contoh permintaan
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1", "prompt": "a calm greenhouse", "duration": 6, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": true}')
Path('request.json').write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Terima dan simpan hasil
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Periksa status tugas
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Pembacaan konten lain
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Simpan semua hasil yang selesai
Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.
Simpan setiap URL bertanda tangan milik Ailoot dalam data[] yang selesai dan metadata status secara utuh. Simpan setiap keluaran, termasuk audio yang dibuatnya. Trek audio AAC yang valid dapat tetap ada meskipun generate_audio=false; simpan MP4 asli secara utuh termasuk audio tersebut.
Jika respons asli perlu diperiksa
Baca tugas awal yang sudah ada; jangan pernah kirim ulang pengiriman yang statusnya tidak diketahui.
Keluaran maksimum: 4.
Kolom respons
| Kolom | Jenis | Arti |
|---|---|---|
Kolomid | Jenisstring | Arti— |
Kolomobject | Jenisstring | Arti— |
Kolommodel | Jenisstring | Arti— |
Kolomstatus | Jenisstring | Arti— |
Kolomdata[] | Jenissigned content URL | Arti— |
Kolomcharge_pending_check | Jenisboolean | Arti— |
Kolomerror.code | Jenisstring | Arti— |
Kolomerror.message | Jenisstring | Arti— |
Kolomoperation_id | Jenisstring | ArtiRespons status/konten awal HTTP503 result_pending_check: ID video publik awal yang sama sebagai id. |
Kolomerror.type | Jenisstring | Artiserver_error pada HTTP503 result_pending_check. |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiPembacaan isi permintaan mentah gagal sebelum penguraian profil video | Langkah berikutnyaSimpan respons yang dikembalikan dan perbaiki isi permintaan yang tidak dapat dibaca. |
Respons422 · price_unavailable | KondisiPenguraian profil video persis gagal, atau profil lengkap yang telah diurai tidak memiliki kartu harga persis yang siap digunakan | Langkah berikutnyaSimpan respons; gunakan profil lengkap dan persis yang diizinkan beserta kartu harga yang dipublikasikan untuknya. Cabang ini dijalankan sebelum pengiriman ke penyedia. |
Respons409 · video_not_ready | KondisiKonten hasil awal belum tersedia | Langkah berikutnyaPeriksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After. |
Responsserver_error | KondisiRespons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa | Langkah berikutnyaSimpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan. |
Respons503 · result_pending_check | KondisiGET status/konten awal: tugas belum dipublikasikan, tugas awal tidak berstatus failed/cancelled/expired, dan status lokal unknown atau status tugas awal completed. | Langkah berikutnyaSimpan id dan operation_id asli (ID video publik yang sama), respons, dan header; baca hanya status/konten awal. Jangan pernah kirim permintaan pembuatan baru. |
Alias
Alias model
Ailoot Ultra google/veo-3.1
Alias jalur metode
/v1/videos/generations, /videos, /videos/generations
ID pemanggil terkait
FAQ · Google: Veo 3.1
- Input dan hasil apa yang tersedia?
POST /v1/videos·google/veo-3.1:text→video- Kolom apa yang digunakan permintaan?
POST /v1/videos·google/veo-3.1:model,prompt,duration,resolution,aspect_ratio,generate_audio