Vídeo

Generación de vídeo

Crea vídeos con Seedance, Kling, Omni, Wan, Grok, Veo, Vidu, PixVerse y MiniMax a partir de un prompt, de un primer fotograma (y, si quieres, uno final) o de imágenes de referencia, vídeos y audio. Los vídeos tardan unos minutos, así que lanzas uno y vuelves a consultarlo.

POST/v1/videos
ModeloIDPrecio por segundoDesdeSonidoDuración
Seedance 2.5seedance-2.5480p $0.135 · 720p $0.305 · 1080p $0.75Prompt, primer y último fotograma o hasta 9 imágenes de referenciaActivado por defecto, gratis4 a 30 s
Seedance 2.0seedance-2.0480p $0.097 · 720p $0.199 · 1080p $0.445 · 4K $0.99Prompt, primer y último fotograma o hasta 9 imágenes de referenciaActivado por defecto, gratis4 a 15 s
Seedance 2.0 Fastseedance-2.0-fast480p $0.074 · 720p $0.159Prompt, primer y último fotograma o hasta 9 imágenes de referenciaActivado por defecto, gratis4 a 15 s
Kling 4.0kling-4.0720p $0.15 · 1080p $0.225Prompt, primer y último fotograma o hasta 10 imágenes de referenciaSiempre activado3 a 30 s
Seedance 2.0 Miniseedance-2.0-mini480p $0.047 · 720p $0.10Prompt, primer y último fotograma o hasta 9 imágenes de referenciaActivado por defecto, gratis4 a 15 s
Gemini Omni Flashgemini-omni-flash360p $0.042 · 720p $0.042 · 1080p $0.042 · 4K $0.07Prompt, primer y último fotograma o hasta 10 imágenes de referenciaSiempre activado4 a 10 s
Kling 3.0kling-3.0720p $0.185 (silent $0.125) · 1080p $0.235 (silent $0.18)Prompt o primer y último fotogramaActivado por defecto; en silencio cuesta menos3 a 15 s
Wan 3.0wan-3.0480p $0.039 · 720p $0.079 · 1080p $0.158Prompt, primer y último fotograma o hasta 10 imágenes de referenciaActivado por defecto, gratis2 a 30 s
Grok Imagine Video 1.5grok-imagine-video-1.5480p $0.071 · 720p $0.124Prompt, un primer fotograma o hasta 3 imágenes de referenciaActivado por defecto, gratis1 a 15 s
Veo 3.1 Fastveo-3.1-fastClip de 720p $0.20 per 8 sPrompt o un primer fotogramaSiempre activado8 s
Vidu Q3 Turbovidu-q3-turbo540p $0.03 · 720p $0.047 · 1080p $0.057Prompt o primer y último fotogramaActivado por defecto, gratis1 a 16 s
PixVerse V6pixverse-v6360p $0.027 (silent $0.019) · 540p $0.035 (silent $0.027) · 720p $0.047 (silent $0.035) · 1080p $0.09 (silent $0.07)Prompt o primer y último fotogramaActivado por defecto; en silencio cuesta menos1 a 15 s
MiniMax H3minimax-h3768p $0.039 · 2K $0.064Prompt y hasta 9 imágenes de referencia, 3 videos and 3 audio clipsSiempre activado4 a 15 s

Iniciar, consultar, descargar

import os, time, requests
API = "https://api.zurelay.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['ZURELAY_API_KEY']}"}
# 1. Start the video
response = requests.post(f"{API}/videos", headers=HEADERS, json={
"model": "seedance-2.0",
"prompt": "A paper boat drifting down a rain-soaked street at night, neon reflections, slow dolly shot",
"seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
})
response.raise_for_status() # a 4xx says what to fix
job = response.json()
# 2. Poll until it's done (usually 2 to 6 minutes)
while job["status"] in ("queued", "in_progress"):
time.sleep(10)
job = requests.get(f"{API}/videos/{job['id']}", headers=HEADERS).json()
if job["status"] == "failed":
raise SystemExit(job["error"]["message"])
# 3. Download the MP4
video = requests.get(f"{API}/videos/{job['id']}/content", headers=HEADERS)
open("boat.mp4", "wb").write(video.content)

Todos los modelos de vídeo funcionan igual: cambia model y la petición sigue siendo la misma. Las guías de cada modelo explican para qué destaca cada uno: Seedance, Kling, Wan, Grok Imagine, Omni Flash, MiniMax H3, Veo, Vidu y PixVerse.

¿Prefieres no consultar? Añade callback_url y el vídeo terminado se envía por POST a tu servidor, firmado, en cuanto esté listo. Consulta Callbacks.

Parámetros

modelstringobligatorio
Un ID de modelo de vídeo.
promptstring
Qué ocurre, hasta 8.000 caracteres (Kling admite hasta 2,500, Vidu reads up to 2,000, PixVerse reads up to 2,048, MiniMax reads up to 7,000). Obligatorio salvo que des un primer fotograma o imágenes de referencia.
negative_promptstring
Qué evitar en el vídeo, hasta 2.500 caracteres. Kling and PixVerse lo leen; los demás modelos lo rechazan.
secondsinteger
Duración en segundos enteros, dentro del rango del modelo (consulta la tabla). Por defecto 5, o la duración más cercana que haga el modelo.
resolutionstring
Como 480p, 720p, 1080p, 2k o 4k: los de cada modelo están en la tabla. Por defecto 720p, o el más bajo del modelo.
aspect_ratiostring
16:9, 9:16, 1:1, 4:3, 3:4, 21:9 o adaptive (la forma del primer fotograma; el valor por defecto cuando das uno). En caso contrario, el valor por defecto es 16:9. Kling makes 16:9, 9:16, 1:1 y 21:9; Omni and Veo make 16:9 and 9:16; Kling makes 16:9, 9:16 and 1:1; Grok, Vidu and PixVerse make 16:9, 9:16, 1:1, 4:3 and 3:4.
sizestring
En lugar de resolución y proporción: píxeles como 1280x720.
generate_audioboolean
Sonido y voz generados con el vídeo. Por defecto true. (También funciona audio.) Kling and PixVerse cost menos sin sonido.
seedinteger
La misma semilla y los mismos ajustes dan resultados similares. Kling, Grok and Veo have no seed and ignore it.
first_framestring
Una imagen con la que empieza el vídeo: un enlace o una URL de datos. MiniMax takes none: give the image in reference_images.
last_framestring
Una imagen con la que termina. Necesita un primer fotograma. Seedance, Kling, Omni, Wan, Vidu and PixVerse take one.
reference_imagesarray
Imágenes de personajes, productos, lugares o un estilo que usar: Seedance up to 9, Kling up to 10, Omni up to 10, Wan up to 10, Grok up to 3, MiniMax up to 9; Veo, Vidu and PixVerse take none. No junto con fotogramas.
reference_videosarray
Vídeos cuyo aspecto, movimiento o trabajo de cámara quieres usar, o un vídeo que editar o ampliar: MP4 o MOV, como enlaces o URLs de datos, mencionados en el prompt como @Video1, @Video2 y así sucesivamente. Seedance 2.5, Seedance 2.0, Gemini Omni Flash y MiniMax H3 solamente. Sus segundos se facturan a una parte del precio de un segundo, o no se facturan en algunos modelos; consulta Vídeos y audio de referencia.
reference_audioarray
Voz, música o sonido que usar: MP3 o WAV, como enlaces o data URLs, mencionados como @Audio1 y demás. Seedance 2.5, Seedance 2.0 y MiniMax H3 solamente, sin coste adicional.
reference_modestring
Con vídeos de referencia: edit uno, extend uno, o crear un vídeo nuevo a partir de las referencias (reference). Por defecto auto: el modelo se guía por el prompt. Seedance 2.5 solamente.
callback_urlstring
Una URL https a la que enviar el vídeo terminado (o fallido), en lugar de consultar el estado. Consulta Callbacks.

Empezar desde imágenes

Primer y último fotograma

Anima una imagen fija: el vídeo empieza exactamente en first_frame. Añade last_frame y termina en esa imagen, así controlas ambos extremos del plano. MiniMax starts a partir de imágenes de referencia.

Cuerpo de la petición
{
"model": "seedance-2.0",
"first_frame": "https://example.com/storefront-day.jpg",
"last_frame": "https://example.com/storefront-night.jpg",
"prompt": "Time passes from afternoon to night; lights come on inside the shop.",
"seconds": 6,
"resolution": "720p"
}

Imágenes de referencia

Indica hasta 10 imágenes (Seedance up to 9, Kling up to 10, Omni up to 10, Wan up to 10, Grok up to 3, MiniMax up to 9; Veo, Vidu y PixVerse take none) y menciónalas en el prompt por orden (@Image1, @Image2…): las personas, productos y lugares que aparecen en ellas saldrán en el vídeo.

Cuerpo de la petición
{
"model": "seedance-2.5",
"reference_images": [
"https://example.com/chef.jpg",
"https://example.com/kitchen.jpg",
"https://example.com/dish.jpg"
],
"prompt": "The chef from @Image1 plates the dish from @Image3 in the kitchen from @Image2, close-up, warm light.",
"seconds": 8,
"resolution": "720p",
"aspect_ratio": "9:16"
}

Vídeos y audio de referencia

Da vídeos para tomar el aspecto y los movimientos de una persona, un movimiento de cámara o una escena, y audio para una voz, una melodía o efectos de sonido. Menciónalos en el prompt por orden, igual que con las imágenes: @Video1, @Audio1. Se combinan con imágenes de referencia, pero no con un primer fotograma.

Cuerpo de la petición
{
"model": "seedance-2.5",
"reference_images": ["https://example.com/singer.jpg"],
"reference_videos": ["https://example.com/dance-moves.mp4"],
"reference_audio": ["https://example.com/chorus.mp3"],
"prompt": "The singer from @Image1 performs the dance from @Video1 on a rooftop at dusk, singing to @Audio1.",
"seconds": 8,
"resolution": "720p"
}
ModeloVídeos de referenciaAudio de referenciaCada segundo de vídeo de referencia
Seedance 2.5Hasta 10, 30 s in allHasta 10, 30 s in all480p $0.081, 720p $0.183
Seedance 2.0Hasta 3, 15 s in allHasta 3, 15 s in all, with an image or video480p $0.0582, 720p $0.1194
Gemini Omni FlashHasta 3, 10 s eachNingunoSin coste
MiniMax H3Hasta 3, 15 s eachHasta 3, 15 s in allSin coste

El modelo lee cada segundo de un vídeo de referencia, así que esos segundos también se facturan, a una parte del precio de un segundo: un vídeo de 5 s con una referencia de 10 s cuesta sus 5 segundos más 10 segundos de referencia. El audio de referencia no cuesta nada extra. Cada objeto de vídeo muestra los segundos de referencia facturados (reference_seconds).

Editar y ampliar un vídeo

Ajusta reference_mode a edit para modificar un vídeo de referencia (cambiar una persona u objeto, añadir o quitar algo, cambiar la música), o a extend para continuarlo hacia delante o hacia atrás. Di qué hacer en el prompt: «Replace the car in @Video1 with the one in @Image1», «Continue @Video1 as the dancer leaves the stage».

  • Una edición mantiene la forma y la duración del vídeo, así que omite aspect_ratio y seconds. Se factura según el vídeo de referencia más largo, que debe durar entre 4 y 30 segundos.
  • Una ampliación mantiene la forma del vídeo; seconds define cuánto dura el vídeo nuevo.
  • Sin reference_mode el modelo decide a partir del prompt, y un prompt que se lee como una edición con seconds o aspect_ratio definidos puede fallar (los vídeos fallidos son gratis).

Reglas para las imágenes

  • PNG, JPEG o WebP, como enlace https público o data URL, hasta 10 MB.
  • Entre 300 y 6000 píxeles por lado, y sin una proporción mayor que 5:2. Las data URLs que no cumplan esto se rechazan de entrada con un mensaje que explica por qué. Los enlaces se leen cuando empieza el vídeo: uno que no sea una imagen válida hace fallar el vídeo con invalid_image, sin coste.
  • Fotogramas o referencias, no ambos en una misma petición.
  • Las peticiones son JSON: las imágenes van como enlaces o data URLs, no como subidas multipart.

El objeto de vídeo

GET /v1/videos/video_abc123
{
"id": "video_abc123",
"object": "video",
"model": "seedance-2.0",
"status": "completed",
"progress": 100,
"created_at": 1790870400,
"completed_at": 1790870562,
"expires_at": 1793462400,
"seconds": 5,
"resolution": "720p",
"aspect_ratio": "16:9",
"size": "1280x720",
"generate_audio": true,
"url": "https://...signed link...",
"url_expires_at": 1790956962,
"cost": 1.035,
"error": null
}
CampoSignificado
statusqueued, in_progress, completed o failed.
progressUna estimación de 0 a 100, según lo que suele tardar el modelo.
urlEl MP4, una vez completado. El enlace funciona durante 24 horas; vuelve a consultar el trabajo para obtener uno nuevo.
expires_atCuándo se elimina el vídeo: 30 días después de crearse, o antes si alguien lo borra en la Library.
costLo que costó, una vez completado.
reference_secondsSegundos de vídeo de referencia incluidos en el precio, cuando los indicaste.
errorPara los vídeos fallidos: code (content_policy, invalid_image o invalid_request cuando el modelo no puede aceptar la solicitud tal como se pide, generation_failed, o generation_timeout pasados 90 minutos) y un mensaje.

Otros endpoints

EndpointDevuelve
GET /v1/videos/{id}Un vídeo, como arriba.
GET /v1/videos/{id}/contentEl propio MP4.
GET /v1/videos?limit=20&after=video_abcLos vídeos de tu espacio de trabajo, del más reciente al más antiguo, con first_id y last_id para paginar.

Pagar por vídeo

Un vídeo cuesta su precio por segundo (según la resolución) multiplicado por su duración; Kling y PixVerse cost menos por segundo sin sonido; los vídeos de referencia suman sus segundos a parte de ese precio. Al iniciarlo, su precio se reserva de tu saldo; se cobra cuando el vídeo termina y se libera si falla. Un vídeo fallido es gratis.

Haz un borrador en la resolución más baja y con una duración corta, y luego genera el montaje final en una resolución más alta cuando el prompt ya esté bien. La mayor parte de la espera es la cola, así que los borradores no son mucho más rápidos, pero cuestan una fracción.

¿Tienes dudas o falta algo? Escribe a nuestro equipo de soporte y te responderemos por email, normalmente en menos de un minuto.