Rujukan API

Dokumentasi API lengkap untuk penjanaan video Veo 3.1 AI

Gambaran Keseluruhan

Veo 3.1 API membolehkan anda menjana video AI secara programatik daripada penerangan teks atau imej. RESTful API kami direka bentuk untuk menjadi mudah, berkuasa dan mudah diintegrasikan ke dalam aplikasi anda.

URL Asas

https://veo3o1.com/api

Pengesahan

Semua permintaan API memerlukan pengesahan menggunakan kunci API. Sertakan kunci API anda dalam pengepala Authorization:

Authorization: Bearer YOUR_API_KEY

Anda boleh menjana kunci API dari papan pemuka akaun anda.


Jana Video

Cipta video AI baharu daripada teks atau imej.

Endpoint

POST /generate-video

Badan 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

ParameterJenisDiperlukanPenerangan
generationTypestringYaJenis penjanaan: text_to_video atau image_to_video
promptstringYaPenerangan video yang anda mahu jana
aspectRatiostringTidakNisbah aspek video. Lalai: auto
imageUrlstringBersyaratDiperlukan jika generationType adalah image_to_video
imageKeystringTidakKunci storan untuk imej yang dimuat naik

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

Semak status permintaan penjanaan video.

Endpoint

GET /video-status/{uuid}

Parameter

ParameterJenisDiperlukanPenerangan
uuidstringYaUUID video daripada permintaan penjanaan

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 barisan untuk diproses
  • processing: Video sedang dijana
  • completed: Video sedia dan tersedia untuk dimuat turun
  • failed: Penjanaan gagal (semak mesej ralat)

Muat Naik Imej

Muat naik imej untuk penjanaan imej-ke-video.

Endpoint

POST /upload-video-image

Permintaan

Gunakan multipart/form-data untuk memuat naik fail imej.

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 Disokong

  • JPEG/JPG
  • PNG
  • WebP
  • Saiz fail maksimum: 50MB

Kod Ralat

KodPenerangan
0Berjaya
1000Parameter tidak sah
1001Kredit tidak mencukupi
1002Pengesahan gagal
1003Had kadar melebihi
5000Ralat pelayan

Contoh Respons Ralat

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

Amalan Terbaik

  1. Polling bertanggungjawab: Semak status video setiap 5-10 saat, bukan berterusan
  2. Pengendalian ralat: Laksanakan logik cuba semula dengan backoff eksponen
  3. Cache keputusan: Simpan video yang dijana untuk mengelakkan penjanaan semula
  4. Gunakan webhooks: Lebih cekap daripada polling untuk pemberitahuan siap
  5. Sahkan input: Semak panjang prompt dan format imej sebelum panggilan API

Sokongan

Perlukan bantuan dengan API?