Referencia de la API

Generación de Video HappyHorse

Llama a los modelos HappyHorse de Alibaba Cloud Bailian (DashScope) a través de TENSORAXIS — texto a video, imagen a video, referencia a video y edición de video, además de parámetros y facturación.

HappyHorse es la integración de TENSORAXIS de los modelos de video de Alibaba Cloud Bailian (DashScope) (canal HappyHorse). Es una tarea asíncrona: se envía una tarea para obtener un task_id, se consulta el estado de la tarea y luego se lee la URL del video una vez completada. El flujo compartido de envío/consulta se encuentra en el resumen de Generación de Video; esta página solo cubre las cuatro capacidades y parámetros de HappyHorse.

Las cuatro capacidades se distinguen por el sufijo del nombre del modelo:

CapacidadModelosDescripción
Texto a video (t2v)happyhorse-1.1-t2v, happyhorse-1.0-t2vGenerar solo a partir de un prompt
Imagen a video (i2v)happyhorse-1.1-i2v, happyhorse-1.0-i2vGenerar a partir de una imagen de primer fotograma
Referencia a video (r2v)happyhorse-1.1-r2v, happyhorse-1.0-r2vGenerar a partir de múltiples imágenes de referencia
Edición de video (video-edit)happyhorse-1.0-video-editEditar a partir de un video de origen + imágenes de referencia

Campos de la Solicitud

POST /v1/video/generations

CampoTipoObligatorioDescripción
modelstringNombre del modelo HappyHorse (ver tabla anterior)
promptstringPrompt del video; si está vacío devuelve 400 prompt is required
metadata.mediaarraySegún la capacidadArray de entrada de medios; cada elemento tiene type y url; type es first_frame / reference_image / video
imagesstring[]Según la capacidadURLs de imágenes de referencia (para r2v); se tratan como imágenes de referencia cuando metadata.media está ausente
imagestringSegún la capacidadURL de una sola imagen (primer fotograma para i2v)
input_referencestringSegún la capacidadURL de referencia de entrada (entrada de compatibilidad para el primer fotograma de i2v / imagen de referencia de r2v)
metadataobjectNoResolución, duración, relación de aspecto, etc. — ver Parámetros

Se prefiere pasar los medios a través de metadata.media, etiquetando el propósito de cada elemento con type. images / image / input_reference son entradas de compatibilidad: cuando metadata.media está ausente, i2v toma input_reference/image como el primer fotograma, y r2v toma images/input_reference como imágenes de referencia. El video de origen para la edición de video debe pasarse a través de metadata.media (type: video).

Texto a Video (-t2v)

Solo necesita prompt; no se acepta ninguna entrada de medios.

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-t2v",
    "prompt": "A lake at the foot of a snowy mountain reflects the sunset; the camera slowly pushes in",
    "metadata": {
      "resolution": "1080P",
      "ratio": "16:9",
      "duration": 5
    }
  }'

Imagen a Video (-i2v)

Exactamente una imagen de primer fotograma. Pásela a través de metadata.media (type: first_frame), o use las entradas de compatibilidad input_reference / image. ratio no se acepta (la relación de aspecto la determina el primer fotograma).

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-i2v",
    "prompt": "The subject slowly looks up and smiles",
    "metadata": {
      "resolution": "1080P",
      "duration": 5,
      "media": [
        { "type": "first_frame", "url": "https://example.com/first-frame.jpg" }
      ]
    }
  }'

Referencia a Video (-r2v)

Genera a partir de múltiples imágenes de referencia. El gateway acepta de 1 a 9 imágenes de referencia (elementos reference_image en metadata.media, o images de nivel superior); el upstream recomienda ≤5, y cualquier cantidad superior queda sujeta a la respuesta del upstream.

curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.1-r2v",
    "prompt": "Have these characters interact in the same scene",
    "images": [
      "https://example.com/ref-1.jpg",
      "https://example.com/ref-2.jpg"
    ],
    "metadata": {
      "resolution": "1080P",
      "ratio": "16:9",
      "duration": 5
    }
  }'

Edición de Video (-video-edit)

Edita a partir de un video de origen. Debe pasar exactamente un video de origen type: video a través de metadata.media; puede agregar imágenes de referencia (type: reference_image, ≤5 en el gateway, ≤4 en upstream).

  • No se acepta duration: la salida conserva la duración del video de origen, por lo que no se envía ningún parámetro de duración.
  • Admite audio_setting (solo esta capacidad): auto (predeterminado) / origin.
curl https://api.tensoraxis.com/v1/video/generations \
  -H "Authorization: Bearer $TENSORAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "happyhorse-1.0-video-edit",
    "prompt": "Replace the background with a dusk city skyline",
    "metadata": {
      "resolution": "1080P",
      "audio_setting": "origin",
      "media": [
        { "type": "video", "url": "https://example.com/source.mp4" },
        { "type": "reference_image", "url": "https://example.com/style.jpg" }
      ]
    }
  }'

Parámetros

Los parámetros bajo metadata se corresponden con los campos de solicitud upstream de DashScope. El «Valor del gateway» es el valor que este sitio realmente valida/limita; las «Notas» son solo de referencia y están definidas en última instancia por la respuesta del upstream.

ParámetroTipoAplica aValor del gateway / PredeterminadoNotas
resolutionstringTodas720P / 1080P, predeterminado 1080PLos valores no reconocidos usan 1080P de forma predeterminada
ratiostringSolo t2v / r2v16:9 / 9:16 / 1:1 / 4:3 / 3:4; el upstream usa 16:9 de forma predeterminada si se omiteNo aceptado por i2v / video-edit
durationintegert2v / i2v / r2vLimitado a [3,15], predeterminado 5No aceptado por video-edit (la salida conserva la duración de origen)
seedintegerTodas[0, 2147483647]Fija la aleatoriedad; un 0 explícito se conserva y se envía
watermarkbooleanTodasPredeterminado false (se envía explícitamente)Si se debe agregar una marca de agua
audio_settingstringSolo video-editauto (predeterminado) / originManejo del audio

El rango oficial de duration varía según el escenario (texto a video aproximadamente [2,15], con video aproximadamente [2,10]), pero el gateway lo limita uniformemente a [3,15]; los valores fuera de rango se truncan al límite.

Facturación

HappyHorse se factura por segundo, multiplicado por un coeficiente de resolución (1080P es aproximadamente 1.78× de 720P).

  • Para t2v / i2v / r2v, la duración se conoce en el momento de la solicitud y se liquida como duración real × coeficiente de resolución.
  • La edición de video no tiene entrada duration (salida = duración del video de origen), por lo que se factura según el valor declarado de metadata.duration; cuando no se declara, se usa un valor predeterminado conservador (aproximadamente 10 segundos).

Los precios unitarios exactos siguen la configuración de «Precios de Video» de la consola y la página de precios; los operadores pueden anular los valores predeterminados con las tarifas oficiales más recientes.

Consulta de Tareas

El flujo compartido de envío/consulta, los códigos de estado y las rutas de obtención compatibles con OpenAI/Sora se encuentran en el resumen de Generación de Video.