Source: https://ailoot.ai/models/id/google-veo-3-1-lite/
Canonical: https://ailoot.ai/models/id/google-veo-3-1-lite/
Language: id

# Google: Veo 3.1 Lite

[Markdown](https://ailoot.ai/models/id/google-veo-3-1-lite/index.md) · [JSON](https://ailoot.ai/models/id/google-veo-3-1-lite/facts.json)

## [Google: Veo 3.1 Lite](https://ailoot.ai/models/id/google-veo-3-1-lite/)

Veo 3.1 Lite menghasilkan video dengan audio bawaan dari deskripsi teks atau gambar awal. Alur Lite yang didokumentasikan menghasilkan satu klip, dengan durasi 4, 6, atau 8 detik, pembingkaian lanskap atau potret, serta batas khusus yang berbeda dari Veo 3.1 dan Fast.

- [**Ailoot Ultra · Video** `POST /v1/videos` `google/veo-3.1-lite`](https://ailoot.ai/models/id/google-veo-3-1-lite/#method-0)

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 Lite adalah anggota Lite Google dalam lini generasi video Veo 3. Model menyintesis video dengan audio dari deskripsi bahasa alami atau gambar masukan. Keluarannya adalah klip yang dihasilkan, bukan analisis teks atas rekaman yang sudah ada. Kartu model Lite pembuat merujuk Veo 3 untuk arsitektur dasar, materi pelatihan, dan keterbatasan yang diketahui, sementara dokumentasi khusus Lite menetapkan fitur serta batas generasinya sendiri.

Arsitektur yang dirujuk menggunakan difusi laten pada representasi audio temporal dan representasi video spasial-temporal. Model dasar dilatih pada audio, video, dan gambar, dengan keterangan pada berbagai tingkat detail, serta materi pelatihan yang disaring dan dideduplikasi. Ini menjelaskan tujuan generasi visual dan audio terpadu. Hal itu tidak mengungkap jumlah parameter khusus Lite atau membuktikan bahwa setiap gerakan yang dihasilkan mengikuti kenyataan fisik. Untuk adegan praktis, tentukan aksi terlihat dan suara yang menyertainya bersama-sama.

Dokumentasi Lite yang tepat menetapkan batas masukan teks 1.024 token dan satu video keluaran. Kolom Lite dalam panduan generasi mencantumkan durasi 4, 6, dan 8 detik, dengan 720p sebagai bawaan dan 1080p memerlukan klip 8 detik. Lanskap 16:9 merupakan rasio aspek bawaan dan potret 9:16 juga tercantum; keluaran didokumentasikan pada 24 bingkai per detik. Audio bawaan selalu aktif dalam alur tersebut. Nilai-nilai ini milik alur Lite bernama produsen, bukan edisi Veo yang tidak berkaitan atau respons aplikasi yang diukur terpisah.

Lite tidak mendukung keluaran 4K atau perpanjangan video. Tabel parameter juga menandai fitur multireferensi referenceImages dan masukan video untuk perpanjangan sebagai tidak tersedia dalam kolom Lite. Gambar awal dapat menetapkan bingkai awal; tabel mencantumkan gambar lastFrame bersama gambar awal itu untuk transisi. Pisahkan jalur kendali bingkai ini dari pencampuran beberapa referensi gaya atau subjek. Pengaturan generasi orang milik produsen bergantung pada mode: tabel Lite mencantumkan allow\_all untuk teks ke video dan allow\_adult untuk gambar ke video serta interpolasi, sementara aturan regional dapat lebih membatasi profil yang didokumentasikan tersebut. Pilih gambar awal sesuai adegan pertama yang benar-benar diinginkan, dengan subjek, pembingkaian, dan detail terlihat sudah disiapkan sebelum meminta gerakan.

Untuk teks ke video, jelaskan subjek, aksinya, lingkungan, dan gaya yang dimaksud. Tambahkan posisi dan gerakan kamera, pembingkaian, fokus, serta cahaya bila penting. Adegan produk orisinal dapat mempertahankan objek di tengah sementara kamera mendekati satu detail material dan cahaya sekeliling berubah lembut. Tentukan keadaan awal, aksi utama, dan momen akhir agar klip pendek menyelesaikan satu gagasan padu. Kumpulan panjang aksi yang tidak berkaitan merupakan tugas berbeda dari shot terarah.

Untuk gambar ke video, berikan bingkai awal yang jelas dan jelaskan apa yang harus bergerak serta tetap stabil. Tentukan gerakan subjek dan gerakan kamera secara terpisah. Jika menggunakan batasan bingkai akhir, siapkan komposisi akhir yang selaras dan jelaskan transisi di antaranya. Periksa hasil, alih-alih menganggap identitas, posisi, atau bentuk yang diminta tetap identik sepanjang klip. Kartu model yang dirujuk menyebut konsistensi penuh dalam adegan kompleks dan gerakan kompleks sebagai tantangan yang masih berlangsung.

Panduan prompt mendukung petunjuk eksplisit untuk dialog, efek suara, dan ambience. Letakkan ucapan persis dalam tanda kutip, tentukan pembicara, dan jelaskan suara dalam kaitannya dengan aksi terlihat. Efek suara dan suasana latar tidak boleh disamakan dengan dialog lisan. Bahasa Inggris didokumentasikan sebagai didukung penuh untuk prompt, sementara bahasa lain belum dievaluasi dalam panduan itu. Tinjau kata-kata terdengar, waktu, dan kualitas suara sebagai bagian dari artefak yang sama dengan video, alih-alih memperlakukan audio sebagai transkrip prompt yang dijamin setia.

Alur produsen bersifat asinkron: permintaan generasi mengembalikan operasi, dan hasil selesai diperoleh setelah statusnya melaporkan penyelesaian. Simpan identitas operasi dan periksa klip yang dikembalikan. Panduan menjelaskan retensi dua hari di sisi produsen dan penandaan SynthID, sehingga artefak yang disimpan harus mencakup hasil unduhan, prompt, gambar sumber, dan pengaturan pilihan. Seed dapat meningkatkan keterulangan tetapi tidak menjamin determinisme. Periksa kesinambungan subjek, aksi, pembingkaian, suara, dan titik akhir adegan sebelum menggunakan klip dalam suntingan; penyelesaian pemrosesan saja tidak membuktikan persyaratan kreatif terpenuhi.

**Ailoot Ultra · Video** `POST /v1/videos` `google/veo-3.1-lite`

[`google/veo-3.1-lite`](https://ailoot.ai/models/id/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

Google /`google/veo-3.1-lite`

### Mulai

Ubah deskripsi adegan menjadi video berdurasi 4, 6, atau 8 detik dengan resolusi 720p.

- Tampilkan produk yang bergerak
- Buat adegan yang memperkenalkan latar
- Coba gerakan kamera singkat

Masukan yang diterima

Teks · Gambar

Hasil

Video

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · Video** `POST /v1/videos`

Masukan

`text`, `image`

Keluaran

`video`

Format keluaran

mp4

Jumlah keluaran

Hingga 4 keluarans

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan google/veo-3.1-lite | Bawaan— |
| Kolom`prompt` | Jenis`string` | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 Byte maksimum: 10.000 Satuan: byte UTF8 | Bawaan— |
| Kolom`duration` | Jenis`integer` | PersyaratanWajib | Nilai & batasan 4, 6, 8 Satuan: detik | Bawaan— |
| Kolom`resolution` | Jenis`string` | PersyaratanWajib | Nilai & batasan 720p | Bawaan— |
| Kolom`aspect_ratio` | Jenis`string` | PersyaratanWajib | Nilai & batasan 16:9, 9:16 | Bawaan— |
| Kolom`generate_audio` | Jenis`boolean` | PersyaratanWajib | Nilai & batasan false | Bawaan— |
| Kolom`frame_images` | Jenis`array` | PersyaratanOpsional | Nilai & batasan Kondisi: Hilangkan untuk text\_to\_video. Jika disertakan: tepat satu item {"type":"image\_url","image\_url":{"url":"\<actual HTTPS URL\>"},"frame\_type":"first\_frame"}; item hanya memiliki type,image\_url,frame\_type; image\_url hanya memiliki url. Tidak boleh ada kunci tambahan atau duplikat. Hanya duration=4,resolution="720p",aspect\_ratio="16:9",generate\_audio=false. URL harus dapat diurai dengan skema https, nama host yang tidak kosong, tanpa userinfo dan tanpa karakter # literal; kueri bertanda tangan dan jalur yang dikodekan dipertahankan. Sumber tidak memeriksa MIME masukan, ukuran berkas, atau dimensi piksel. | Bawaan— |

Kombinasi bahan masukan

**Teks ke video** · Wajib: prompt

**Gambar ke video** · Wajib: prompt, frame\_images

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, prompt, duration, resolution, aspect\_ratio, generate\_audio |
| Parameter`other_options` | Kontrakfalse |
| Parameter`resolution` | Kontrak720p |
| Parameter`prompt_max_bytes` | Kontrak10000 |
| Parameter`duration` | Kontrak4, 6, 8 |
| Parameter`aspect_ratio` | Kontrak16:9, 9:16 |
| Parameter`generate_audio` | Kontrakfalse |
| Parameter`material_types` | Kontraktext, image |
| Parameter`parameters` | Kontrak{"name":"model","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\["google/veo-3.1-lite"\],"availability":"source\_interface"}, {"name":"prompt","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":false,"enum":null,"availability":"source\_interface","min\_length":1,"maximum\_bytes":10000,"maximum\_length":null,"unit":"byte UTF8"}, {"name":"duration","type":"integer","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\[4,6,8\],"availability":"source\_interface","unit":"detik"}, {"name":"resolution","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\["720p"\],"availability":"source\_interface"}, {"name":"aspect\_ratio","type":"string","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\["16:9","9:16"\],"availability":"source\_interface"}, {"name":"generate\_audio","type":"boolean","required":true,"default\_known":false,"default":null,"enum\_known":true,"enum":\[false\],"availability":"source\_interface"}, {"name":"frame\_images","type":"array","required":false,"default\_known":false,"default":null,"enum\_known":false,"enum":null,"availability":"source\_interface","conditions":"Hilangkan untuk text\_to\_video. Jika disertakan: tepat satu item {\\"type\\":\\"image\_url\\",\\"image\_url\\":{\\"url\\":\\"\<actual HTTPS URL\>\\"},\\"frame\_type\\":\\"first\_frame\\"}; item hanya memiliki type,image\_url,frame\_type; image\_url hanya memiliki url. Tidak boleh ada kunci tambahan atau duplikat. Hanya duration=4,resolution=\\"720p\\",aspect\_ratio=\\"16:9\\",generate\_audio=false. URL harus dapat diurai dengan skema https, nama host yang tidak kosong, tanpa userinfo dan tanpa karakter # literal; kueri bertanda tangan dan jalur yang dikodekan dipertahankan. Sumber tidak memeriksa MIME masukan, ukuran berkas, atau dimensi piksel."} |

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`

Buat sekali dan simpan ID yang dikembalikan.

Periksa status awal secara berkala; simpan setiap aset yang selesai beserta durasinya.

### 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 |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Buat audio— | Resolusi— | Satuan penagihanper detik video | Kondisi penagihansuara: with\_audio | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan **$0.16** per detik video |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Buat audio— | Resolusi— | Satuan penagihanper detik video | Kondisi penagihansuara: with\_audio; resolusi: 720p | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan **$0.1** per detik video |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Buat audio— | Resolusi— | Satuan penagihanper detik video | Kondisi penagihansuara: without\_audio | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan **$0.1** 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.06** 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. |
| 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 **$0.24** 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 →](https://ailoot.ai/docs/id/billing/reserve/)

#### 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.16** 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.1** 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: 720p | Biaya Keluaran · Harga video **$0.1** per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
| KonfigurasiHarga video | Kondisi penagihansuara: without\_audio; resolusi: 720p | Biaya Keluaran · Harga video **$0.06** per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |

### Contoh permintaan

#### Ailoot Ultra · Video

curlcurl · animasikan bingkai pertama Anda

```bash
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-lite", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 4, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": false}')

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
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os,re
from pathlib import Path
from urllib.parse import urlsplit
image=os.environ["AILOOT_IMAGE_URL"]
try:
    parsed=urlsplit(image)
    valid=(image.startswith("https://") and parsed.scheme=="https" and bool(parsed.hostname)
           and parsed.username is None and parsed.password is None and "#" not in image
           and not any(ord(c)<32 or ord(c)==127 for c in image)
           and re.search(r"%(?![0-9A-Fa-f]{2})",image) is None)
except ValueError:
    valid=False
if not valid:
    raise SystemExit("Use your actual HTTPS image URL with a hostname, no userinfo and no fragment")
p={"model":"google/veo-3.1-lite","prompt":"The subject makes a slow, natural movement. Keep the opening composition.","duration":4,"resolution":"720p","aspect_ratio":"16:9","generate_audio":False,"frame_images":[{"type":"image_url","image_url":{"url":image},"frame_type":"first_frame"}]}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False),encoding="utf-8")
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, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.")
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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Periksa status tugas

GET status

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Simpan semua aset yang selesai

GET semua aset yang selesai

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Pembacaan konten lain

GET konten

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### Simpan semua hasil yang selesai

Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.

data\[\] yang selesai memuat semua URL konten bertanda tangan milik Ailoot. Ambil setiap URL yang dikembalikan, atau gunakan endpoint konten dengan index yang diatur ke indeks keluaran aktual. Tugas awal yang gagal dapat mengembalikan charge\_pending\_check; periksa tugas awal itu alih-alih membuatnya lagi. 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 |
| --- | --- | --- |
| Kolom`id` | Jenisstring | Arti— |
| Kolom`object` | Jenisstring | Arti— |
| Kolom`model` | Jenisstring | Arti— |
| Kolom`status` | Jenisstring | Arti— |
| Kolom`data[]` | Jenissigned content URL | Arti— |
| Kolom`charge_pending_check` | Jenisboolean | Arti— |
| Kolom`error.code` | Jenisstring | Arti— |
| Kolom`error.message` | Jenisstring | Arti— |
| Kolom`operation_id` | Jenisstring | ArtiRespons status/konten awal HTTP503 result\_pending\_check: ID video publik awal yang sama sebagai id. |
| Kolom`error.type` | Jenisstring | Artiserver\_error pada HTTP503 result\_pending\_check. |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
| Respons409 · `video_not_ready` | KondisiKonten hasil awal belum tersedia | Langkah berikutnyaPeriksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After. |
| Respons`server_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. |
| Respons422 · `price_unavailable` | KondisiObjek frame\_images yang diberikan atau profil bersyaratnya gagal diurai, atau profil lengkap yang telah diurai tidak memiliki kartu harga persis yang siap digunakan. | Langkah berikutnyaPertahankan model, prompt, duration, resolution, aspect\_ratio, dan generate\_audio. Tambahkan frame\_images yang memuat tepat satu item first\_frame dalam format objek yang ditentukan. Tetapkan duration=4, resolution="720p", aspect\_ratio="16:9", dan generate\_audio=false. Validasi ini dijalankan sebelum permintaan dikirim. |

### Alias

#### Alias model

**Ailoot Ultra** [`google/veo-3.1-lite`](https://ailoot.ai/models/id/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

#### Alias jalur metode

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### ID pemanggil terkait

[`google/veo-3.1-lite`](https://ailoot.ai/models/id/#m=google%2Fveo-3.1-lite&route=Ultra&caller=google%2Fveo-3.1-lite&fmt=videos)

FAQ · Google: Veo 3.1 Lite

Input dan hasil apa yang tersedia?

`POST /v1/videos` · `google/veo-3.1-lite`: `text`, `image` → `video`

Kolom apa yang digunakan permintaan?

`POST /v1/videos` · `google/veo-3.1-lite`: `model`, `prompt`, `duration`, `resolution`, `aspect_ratio`, `generate_audio`, `frame_images`

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

## Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

## Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan

Pilih paket dengan diskon untuk permintaan rutin Anda.

Kode promo hingga 50%

Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.

Biaya dalam riwayat

Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/id/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/id/)

## Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial

Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.

Lisensi reseller

Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.

Dokumen di situs

Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

[Minta lisensi reseller](mailto:support@ailoot.ai) · [Penawaran dan perjanjian lisensi](https://ailoot.ai/legal/offer?lang=id)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
