Referensi API

Dokumentasi API lengkap untuk pembuatan video Veo 3.1 AI

Ikhtisar

Veo 3.1 API memungkinkan Anda membuat video AI secara programatis dari deskripsi teks atau gambar. RESTful API kami dirancang sederhana, kuat, dan mudah diintegrasikan ke dalam aplikasi Anda.

URL Dasar

https://veo3o1.com/api

Autentikasi

Semua permintaan API memerlukan autentikasi menggunakan kunci API. Sertakan kunci API Anda di header Authorization:

Authorization: Bearer YOUR_API_KEY

Anda dapat membuat kunci API dari dasbor akun Anda.


Buat Video

Buat video AI baru dari teks atau gambar.

Endpoint

POST /generate-video

Isi Permintaan

{
  "generationType": "text_to_video" | "image_to_video",
  "prompt": "Your video description",
  "aspectRatio": "auto" | "16:9" | "9:16",
  "imageUrl": "https://...", // Required if generationType is "image_to_video"
  "imageKey": "r2-key" // Optional, for uploaded images
}

Parameter

ParameterTipeWajibDeskripsi
generationTypestringYaTipe pembuatan: text_to_video atau image_to_video
promptstringYaDeskripsi video yang ingin Anda buat
aspectRatiostringTidakRasio aspek video. Default: auto
imageUrlstringKondisionalWajib jika generationType adalah image_to_video
imageKeystringTidakKunci penyimpanan untuk gambar yang diunggah

Respons

{
  "code": 0,
  "msg": "Success",
  "data": {
    "uuid": "video-uuid-123",
    "status": "pending",
    "generationType": "text_to_video",
    "prompt": "Your video description",
    "aspectRatio": "16:9",
    "createdAt": "2025-10-16T10:00:00Z"
  }
}

Contoh

curl -X POST https://veo3o1.com/api/generate-video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "generationType": "text_to_video",
    "prompt": "A beautiful sunset over the ocean with waves gently lapping the shore",
    "aspectRatio": "16:9"
  }'

Dapatkan Status Video

Periksa status permintaan pembuatan video.

Endpoint

GET /video-status/{uuid}

Parameter

ParameterTipeWajibDeskripsi
uuidstringYaUUID video dari permintaan pembuatan

Respons

{
  "code": 0,
  "msg": "Success",
  "data": {
    "uuid": "video-uuid-123",
    "status": "completed" | "pending" | "processing" | "failed",
    "videoUrl": "https://...", // Available when status is "completed"
    "progress": 85, // Processing progress (0-100)
    "estimatedTime": 120 // Estimated seconds remaining
  }
}

Nilai Status

  • pending: Video dalam antrian untuk diproses
  • processing: Video sedang dibuat
  • completed: Video siap dan tersedia untuk diunduh
  • failed: Pembuatan gagal (periksa pesan kesalahan)

Unggah Gambar

Unggah gambar untuk pembuatan gambar-ke-video.

Endpoint

POST /upload-video-image

Permintaan

Gunakan multipart/form-data untuk mengunggah file gambar.

curl -X POST https://veo3o1.com/api/upload-video-image \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/image.jpg"

Respons

{
  "code": 0,
  "msg": "Upload successful",
  "data": {
    "imageUrl": "https://...",
    "imageKey": "r2-key-123"
  }
}

Format yang Didukung

  • JPEG/JPG
  • PNG
  • WebP
  • Ukuran file maksimum: 50MB

Kode Kesalahan

KodeDeskripsi
0Berhasil
1000Parameter tidak valid
1001Kredit tidak cukup
1002Autentikasi gagal
1003Batas kecepatan terlampaui
5000Kesalahan server

Contoh Respons Kesalahan

{
  "code": 1001,
  "msg": "Insufficient credits",
  "data": {
    "required": 2,
    "current": 0
  }
}

Praktik Terbaik

  1. Polling yang bertanggung jawab: Periksa status video setiap 5-10 detik, bukan terus-menerus
  2. Penanganan kesalahan: Terapkan logika coba ulang dengan backoff eksponensial
  3. Cache hasil: Simpan video yang dihasilkan untuk menghindari pembuatan ulang
  4. Gunakan webhooks: Lebih efisien daripada polling untuk notifikasi penyelesaian
  5. Validasi input: Periksa panjang prompt dan format gambar sebelum panggilan API

Dukungan

Butuh bantuan dengan API?