Vídeo

Generación de vídeo asíncrona, con narración opcional y escenas encadenadas.

A diferencia de otras categorías, el vídeo es asíncrono: la llamada devuelve inmediatamente un job_id (HTTP 202), no el resultado final. Sigue el estado vía GET /v1/jobs/{job_id}.

Iniciar una generación

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" }

Seguir el estado

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 vale queued, processing, completed o failed. Consulta a intervalos regulares (p. ej. cada 5 segundos) hasta llegar a uno de los dos estados finales. Los SDKs oficiales exponen un atajo .wait() que hace este sondeo por ti.

Narración (voz en off)

Proporciona narration_text para superponer una voz en off sintetizada sobre el vídeo generado. Es un texto hablado, distinto del prompt visual, que solo describe la escena para el generador de vídeo — ningún proveedor de vídeo genera audio de forma nativa, la narración se sintetiza por separado (voz de ElevenLabs) y luego se fusiona.

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
}

Escenas (vídeo más largo que un clip)

Un clip generado por una sola llamada al proveedor dura típicamente unos segundos, sea cual sea la duración solicitada. Para un vídeo más largo (especialmente útil con una narración larga), proporciona scenes — una descripción visual por segmento de aproximadamente duration_seconds, encadenadas en orden. Cada escena es una llamada al proveedor distinta y se factura por separado.

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."
}

Cuando se proporciona scenes, prompt se ignora para la generación (el campo sigue siendo obligatorio — usa un resumen corto como valor).

Imagen de partida

image_url convierte una generación de texto a vídeo en una generación de imagen a vídeo (el primer clip anima la imagen proporcionada).

Proveedores

Vidu, OpenAI (Sora).