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ónEntrada requerida o típicaCaso de uso
text-to-videopromptGenerar solo a partir de texto
image-to-videoimage_url o image compatibleAnimar una imagen inicial
reference-to-videoreference_images y opcionalmente video_urls / audio_urls en modelos compatiblesMantener identidad, estilo o referencias de activos
start-end-to-videostart_image, end_imageControlar los primeros y últimos fotogramas
video-to-videovideo_url o task_id específico del modeloTransformar o mejorar un clip existente
motion-controlimage_url más video_urlAplicar referencia de movimiento a un sujeto
audio-to-videoaudio_urlFlujos de video condicionados por audio
video-extensiontask_id, extend_at, o campos de extensión específicos del modeloContinuar 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.1 y veo3.1-fast siempre generan audio según Gemini API. La generación de vídeo de wan-2.6 y wan-2.7 tampoco permite silenciarlo. Omite output_audio o usa true cuando la ficha del modelo lo permita.
  • hailuo-h3 y 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-turbo activan audio por defecto y admiten salida silenciosa. PixVerse C1/V5.6/V6 lo desactivan por defecto. Usa output_audio solo en operaciones que lo declaren; Vidu también acepta su campo booleano declarado audio.
  • audio_url / audio_urls aportan 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ía prompt y una URL HTTPS pública .mp4 en video_url. Esta operación no utiliza los selectores duration, resolution ni aspect_ratio.

PixVerse y HappyHorse

ModeloOperacionesEntradasResoluciónDuraciónSelector de audio
pixverse-c1, pixverse-v6text-to-video, image-to-video, start-end-to-video, reference-to-videoprompt; image_url; start_image + end_image; reference_images360p, 540p, 720p, 1080pCualquier número entero de 1 a 15 segundosoutput_audio, false por defecto
pixverse-v5.6text-to-video, image-to-video, start-end-to-video, reference-to-videoMismos campos que C1 y V6360p, 540p, 720p, 1080p5, 8 o 10 segundos; 1080p admite 5 u 8 segundosoutput_audio, false por defecto
happyhorse-1.0text-to-video, image-to-video, reference-to-video, video-to-videoprompt; image_url; reference_images; video_url + reference_images720p, 1080p3 a 15 segundos para operaciones de generación; la salida de video-to-video está limitada a 15 segundosNo 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 duration describe 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

TemaReferencia
Crear VideoCrear Video
Obtener Estado del VideoObtener Estado del Video
Obtener Estado de la TareaObtener Estado de la Tarea
Cancelar TareaCancelar Tarea
Facturación y PreciosFacturació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"
}

En esta página