Guías de medios
Generación de Video
Genera videos con operaciones públicas explícitas, sondeo asíncrono y entradas de medios específicas del modelo.
La generación de video es asíncrona. POST /v1/videos/generations devuelve una identidad de tarea pública y, por lo general, un poll_url; el video final aparece en respuestas de estado posteriores.
Envía URL HTTP(S) públicas o data URL admitidas en los campos de imagen del modelo elegido. Se procesan como entradas multimedia normales y no crean automáticamente ID de recursos reutilizables.
Si un recurso indicado explícitamente sigue preparándose, POST /v1/videos/generations devuelve 409 seedance_material_preparing con inactive_asset_ids. Consulta esos recursos hasta ACTIVE y reintenta con los mismos ID. Si aparece FAILED, revisa error_message y corrige o vuelve a importar el recurso antes de reintentar.
Operaciones compatibles
Utiliza operation explícito en producción. TokenLab puede inferir algunas operaciones a partir de las entradas, pero los valores de operación explícitos hacen que la validación, el soporte y los reintentos sean más claros.
| Operación | Entrada requerida o típica | Caso de uso |
|---|---|---|
text-to-video | prompt | Generar solo a partir de texto |
image-to-video | image_url o image compatible | Animar una imagen inicial |
reference-to-video | reference_images y opcionalmente video_urls / audio_urls en modelos compatibles | Mantener identidad, estilo o referencias de activos |
start-end-to-video | start_image, end_image | Controlar los primeros y últimos fotogramas |
video-to-video | video_url o task_id específico del modelo | Transformar o mejorar un clip existente |
motion-control | image_url más video_url | Aplicar referencia de movimiento a un sujeto |
audio-to-video | audio_url | Flujos de video condicionados por audio |
video-extension | task_id, extend_at, o campos de extensión específicos del modelo | Continuar un video generado |
Descubrimiento de Modelos
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" \
-H "Authorization: Bearer sk-your-api-key"Usa los IDs de modelo que muestra TokenLab en model y elige variantes de función con operation y las entradas multimedia correspondientes. Ejemplos: wan-2.7, happyhorse-1.0, viduq3, viduq3-mix, pixverse-v6, veo3.1 y seedance-2.0; no uses sufijos específicos de operación como nombres de modelo de TokenLab.
Lee los detalles del modelo seleccionado antes de confiar en campos especializados como reference_images, kling_elements, output_audio, duration, resolution, o aspect_ratio.
Crear Solicitud
curl https://api.tokenlab.sh/v1/videos/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1",
"operation": "text-to-video",
"prompt": "Una toma cinematográfica tranquila de un gato caminando por un jardín iluminado por el sol",
"duration": 4,
"aspect_ratio": "16:9"
}'Para la entrada de medios en producción, prefiere URLs públicas https sobre URLs data: en línea. Si utilizas URLs temporales, mantenlas válidas hasta que TokenLab termine de crear la tarea.
Entradas Y Campos Específicos del Modelo
El audio depende del modelo y la operación. Un vídeo puede incluir sonido aunque no exista un selector. Omitirlo no equivale a enviar false.
veo3.1yveo3.1-fastsiempre generan audio según Gemini API. La generación de vídeo dewan-2.6ywan-2.7tampoco permite silenciarlo. Omiteoutput_audioo usatruecuando la ficha del modelo lo permita.hailuo-h3y los modelos de vídeo Grok generan audio nativo. No añadas controles que no aparezcan en la ficha del modelo.- Seedance 1.5/2.x y
viduq3-pro/viduq3-turboactivan audio por defecto y admiten salida silenciosa. PixVerse C1/V5.6/V6 lo desactivan por defecto. Usaoutput_audiosolo en operaciones que lo declaren; Vidu también acepta su campo booleano declaradoaudio. audio_url/audio_urlsaportan audio de entrada o referencia, no controlan el sonido de salida. La edición, la transferencia de movimiento y de estilo pueden conservar la pista original. Conservar el audio original no significa silenciarlo.
Consulta valores permitidos y precios de audio en la ficha del modelo. Los alias admitidos outputAudio, generate_audio y el booleano audio deben coincidir con output_audio si se combinan. Los controles pueden variar entre versiones y operaciones.
- Para la familia Seedance 2.0, lee la guía de modelos de video Seedance 2.0 antes de usar salida 4K, límites Fast/Mini o entradas de referencia multimodales.
- Para video-to-video con
grok-imagine-video, envíaprompty una URL HTTPS pública.mp4envideo_url. Esta operación no utiliza los selectoresduration,resolutionniaspect_ratio.
PixVerse y HappyHorse
| Modelo | Operaciones | Entradas | Resolución | Duración | Selector de audio |
|---|---|---|---|---|---|
pixverse-c1, pixverse-v6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | prompt; image_url; start_image + end_image; reference_images | 360p, 540p, 720p, 1080p | Cualquier número entero de 1 a 15 segundos | output_audio, false por defecto |
pixverse-v5.6 | text-to-video, image-to-video, start-end-to-video, reference-to-video | Mismos campos que C1 y V6 | 360p, 540p, 720p, 1080p | 5, 8 o 10 segundos; 1080p admite 5 u 8 segundos | output_audio, false por defecto |
happyhorse-1.0 | text-to-video, image-to-video, reference-to-video, video-to-video | prompt; image_url; reference_images; video_url + reference_images | 720p, 1080p | 3 a 15 segundos para operaciones de generación; la salida de video-to-video está limitada a 15 segundos | No enviar output_audio |
En TokenLab, los modelos PixVerse anteriores no aceptan operation=video-extension.
curl https://api.tokenlab.sh/v1/videos/generations \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "pixverse-v6",
"operation": "image-to-video",
"prompt": "A slow camera move through a neon-lit street",
"image_url": "https://example.com/start.jpg",
"resolution": "1080p",
"duration": 5,
"output_audio": true
}'Resultados de Sondeo
Utiliza primero el poll_url devuelto. Si necesitas un punto final fijo, utiliza GET /v1/tasks/{id} con el mismo id / task_id de la respuesta de creación.
Las tareas de video completadas pueden devolver video_url, video o videos según el modelo y la cantidad de salidas. Trata billing_transaction_id como un identificador de facturación, no como un identificador de tarea.
Errores Comunes
- No codifiques en duro rutas de estado de video antiguas; prefiere
poll_url. - No combines campos de primer fotograma con flujos de imagen de referencia dedicados a menos que el detalle del modelo lo permita.
- No asumas que
durationdescribe la longitud del video de referencia de entrada; generalmente controla la longitud de salida generada. - No reintentes solicitudes de creación después de un tiempo de espera sin verificar si ya se creó una tarea.
Referencia de API
| Tema | Referencia |
|---|---|
| Crear Video | Crear Video |
| Obtener Estado del Video | Obtener Estado del Video |
| Obtener Estado de la Tarea | Obtener Estado de la Tarea |
| Cancelar Tarea | Cancelar Tarea |
| Facturación y Precios | Facturación y Precios |
APIs de video estilo OpenAI y compatibles con Volc
Usa /v1/videos/generations para la API unificada de video de TokenLab entre modelos. Si estás migrando una integración Seedance 2.0 que ya usa content[] o solicitudes Action estilo Volc, usa los endpoints de compatibilidad Seedance bajo /api/v3. Ambos estilos usan API keys Bearer de TokenLab y polling asíncrono, pero las formas de solicitud y respuesta son distintas.
Hailuo H3-Max genera vídeos de 5 a 15 segundos en 480p o 768p a partir de texto, de un primer fotograma o de un primer y un último fotograma. Su flujo centrado en la velocidad permite convertir rápidamente una idea de plano en un clip corto.
{
"model": "hailuo-h3-max",
"operation": "text-to-video",
"prompt": "A slow camera move through a quiet garden",
"resolution": "768p",
"duration": 5,
"aspect_ratio": "16:9"
}