Referencia de la API

Generación de Video

Envía tareas de generación de video, consulta el estado de las tareas y pasa parámetros avanzados de Seedance/Doubao a través de TENSORAXIS.

La generación de video es asíncrona: envía una tarea para obtener un task_id, consulta el estado de la tarea y luego lee la URL del video después de completarse.

Para los modelos de video Seedance/Doubao, usa los campos de solicitud de TENSORAXIS prompt, images y metadata. No envíes directamente el cuerpo content[] de nivel superior al estilo Volcengine upstream a /v1/video/generations; TENSORAXIS no encontrará un campo prompt y devolverá 400 prompt is required.

Páginas por Modelo

Esta página cubre el flujo compartido de envío, consulta y sondeo (polling). Para la matriz de capacidades de cada familia de video, los campos de solicitud, ejemplos por capacidad y tablas de parámetros, consulta las páginas dedicadas:

Puntos de conexión

MétodoRutaPropósitoUso Recomendado
POST/v1/video/generationsEnviar una tarea de generación de videoEntrada común de TENSORAXIS para tareas de video Seedance/Doubao
GET/v1/video/generations/{task_id}Consultar una tarea de generación de videoSe usa junto con el endpoint de envío anterior
POST/v1/videosEnvío de tarea al estilo OpenAI/SoraClientes compatibles con Sora/OpenAI
GET/v1/videos/{task_id}Consulta de tarea al estilo OpenAI/SoraClientes compatibles con Sora/OpenAI
GET/v1/videos/{task_id}/contentDescarga de contenido de video mediante proxyObtener el contenido de video completado

Para nuevas integraciones de Seedance/Doubao, se recomienda usar /v1/video/generations.

Cuerpo de la Solicitud

POST /v1/video/generations

CampoTipoRequeridoDescripción
modelstringNombre del modelo a llamar
promptstringPrompt del video; los valores vacíos devuelven 400 prompt is required
imagestringNoURL de una única imagen de referencia; el servidor la normaliza en images
imagesstring[]NoURLs de imágenes de referencia para imagen a video
metadataobjectNoParámetros específicos del modelo o proveedor; los parámetros avanzados de Seedance/Doubao van aquí
secondsstringNoCampo de compatibilidad; un entero positivo se asigna al campo duration upstream para Doubao/Seedance
durationintegerNoCampo común de tarea; para Seedance/Doubao, se recomienda usar metadata.duration
sizestringNoCampo de tamaño usado por algunos modelos de video
modestringNoCampo de modo usado por algunos modelos de video
input_referencestringNoReferencia de entrada usada por algunos flujos compatibles con OpenAI/Sora; no se usa en los ejemplos de Seedance/Doubao

Ejemplos Correctos e Incorrectos

Incorrecto: enviar directamente el cuerpo content[] de nivel superior upstream a TENSORAXIS.

{
  "model": "doubao-seedance-2-0-260128",
  "content": [
    {
      "type": "text",
      "text": "An old man wearing a hat smiles and walks forward"
    }
  ]
}

Correcto: usa los campos de solicitud de TENSORAXIS y deja que el relay los traduzca.

{
  "model": "doubao-seedance-2-0-260128",
  "prompt": "An old man wearing a hat smiles and walks forward",
  "images": ["https://example.com/reference.jpg"],
  "metadata": {
    "resolution": "1080p",
    "ratio": "16:9",
    "duration": 5,
    "camera_fixed": true,
    "watermark": false
  }
}

Enviar una Tarea

curl https://api.tensoraxis.ai/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-0-260128",
    "prompt": "An old man wearing a hat smiles and walks forward",
    "images": ["https://example.com/reference.jpg"],
    "metadata": {
      "resolution": "1080p",
      "ratio": "16:9",
      "duration": 5,
      "camera_fixed": true,
      "watermark": false
    }
  }'

Una respuesta de envío exitosa devuelve un ID de tarea público. Los campos pueden variar ligeramente según el canal de video, pero normalmente incluyen:

{
  "id": "task_xxxxx",
  "task_id": "task_xxxxx",
  "object": "video",
  "model": "doubao-seedance-2-0-260128",
  "status": "queued",
  "progress": 0,
  "created_at": 1760000000
}

Guarda id o task_id para el sondeo.

Consultar una Tarea

Si envías a través del endpoint común de tareas de video, consulta con:

curl https://api.tensoraxis.ai/v1/video/generations/task_xxxxx \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY"

La respuesta común de consulta usa la forma envolvente de tarea:

{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_xxxxx",
    "status": "SUCCESS",
    "progress": "100%",
    "result_url": "https://example.com/video.mp4",
    "fail_reason": ""
  }
}

Significados comunes de los estados:

EstadoSignificado
SUBMITTED / QUEUEDEnviado o en cola
IN_PROGRESSGenerando
SUCCESSCompletado; lee result_url
FAILUREFallido; lee fail_reason

La ruta de consulta al estilo OpenAI/Sora es:

curl https://api.tensoraxis.ai/v1/videos/task_xxxxx \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY"

Esa ruta devuelve una respuesta object: "video" y, en caso de éxito, expone la URL del video como url, video_url y metadata.url.

Metadatos de Seedance/Doubao

Para los canales Doubao/Seedance, TENSORAXIS convierte prompt, images y metadata en la forma de tarea de generación de contenido de Volcengine:

Campo de Solicitud TENSORAXISReenviado Upstream Como
promptcontent[].text
images[]content[].image_url.url
secondsduration
metadata.resolutionresolution
metadata.ratioratio
metadata.durationduration
metadata.framesframes
metadata.seedseed
metadata.camera_fixedcamera_fixed
metadata.watermarkwatermark
metadata.generate_audiogenerate_audio
metadata.draftdraft
metadata.service_tierservice_tier
metadata.return_last_framereturn_last_frame
metadata.execution_expires_afterexecution_expires_after
metadata.callback_urlcallback_url
metadata.toolstools

Notas:

  • metadata.model se elimina y no puede sobrescribir el modelo facturado.
  • Los campos de metadata que no se corresponden con la estructura del adaptador actual normalmente no se reenvían upstream.
  • metadata.content es un campo avanzado de compatibilidad interna y puede sobrescribir la lista de contenido generada a partir de images; las integraciones públicas no deben usarlo.
  • Los valores válidos, las enumeraciones y el comportamiento real upstream están definidos por la documentación oficial de Volcengine para el modelo seleccionado. Esta página solo documenta cómo el relay actual de TENSORAXIS recibe y reenvía los campos.

Recomendaciones de Sondeo

  • Espera de 2 a 5 segundos antes de la primera consulta después del envío.
  • Consulta cada 5-10 segundos mientras la tarea se está generando.
  • No uses sondeo de alta frecuencia como reemplazo de los callbacks; encola lotes grandes en tu aplicación.
  • Si recibes 429, reduce la concurrencia y reintenta con retroceso exponencial.