Video

Generation video asynchrone, avec narration optionnelle et scenes enchainees.

Contrairement aux autres categories, la video est asynchrone : l'appel renvoie immediatement un job_id (HTTP 202), pas le resultat final. Suivez l'etat via GET /v1/jobs/{job_id}.

Lancer une generation

http
POST /v1/video/generate
json
{
  "prompt": "Un drone survole une plage au coucher du soleil.",
  "image_url": null,
  "duration_seconds": 5,
  "narration_text": null,
  "scenes": null,
  "model": null,
  "routing_strategy": "auto"
}
json
{ "job_id": "8b2a3be3-...", "status": "queued" }

Suivre l'etat

http
GET /v1/jobs/{job_id}
json
{
  "id": "8b2a3be3-...",
  "category": "video",
  "type": "text_to_video",
  "status": "completed",
  "provider": "vidu",
  "model": "viduq1",
  "result_url": "https://cdn.uploadscenter.com/file_...",
  "error": null,
  "created_at": "2026-08-31T17:14:04Z",
  "updated_at": "2026-08-31T17:24:41Z"
}

status vaut queued, processing, completed ou failed. Sondez a intervalles reguliers (ex. toutes les 5 secondes) jusqu'a l'un des deux etats finaux. Les SDKs officiels exposent un raccourci .wait() qui fait ce sondage pour vous.

Narration (voix off)

Fournissez narration_text pour superposer une voix off synthetisee sur la video generee. C'est un texte parle, distinct du prompt visuel qui, lui, decrit uniquement la scene pour le generateur video — aucun fournisseur video ne genere l'audio nativement, la narration est synthetisee separement (voix ElevenLabs) puis fusionnee.

json
{
  "prompt": "Documentaire sous-marin, poissons tropicaux, recif corallien.",
  "narration_text": "Sous la surface, un monde silencieux et colore s'anime au rythme des courants.",
  "duration_seconds": 5
}

Scenes (video plus longue qu'un clip)

Un clip genere par un seul appel fournisseur dure typiquement quelques secondes, quelle que soit la duree demandee. Pour une video plus longue (en particulier utile avec une narration longue), fournissez scenes — une description visuelle par segment d'environ duration_seconds, enchaines dans l'ordre. Chaque scene est un appel fournisseur distinct et facture separement.

json
{
  "prompt": "Presentation d'un chaton qui joue avec une balle.",
  "scenes": [
    "Un chaton tigre tapote une balle rouge dans un salon ensoleille, camera basse.",
    "Le chaton poursuit la balle sous le canape puis la ramene fierement, gros plan."
  ],
  "duration_seconds": 5,
  "narration_text": "Voici Moka, un chaton joueur qui pourchasse sa balle rouge avec entrain."
}

Quand scenes est fourni, prompt est ignore pour la generation (le champ reste obligatoire — utilisez un resume court comme valeur).

Image de depart

image_url transforme une generation texte-vers-video en generation image-vers-video (le premier clip anime l'image fournie).

Fournisseurs

Vidu, OpenAI (Sora).