Saltar al contenido principal
POST
/
video
/
generations
Enviar una tarea de vídeo
curl --request POST \
  --url https://api.orcarouter.ai/v1/video/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "kling/kling-v3-omni",
  "prompt": "<string>",
  "image": "<string>",
  "metadata": {}
}
'
{
  "id": "<string>",
  "task_id": "<string>",
  "model": "<string>",
  "progress": 50,
  "created_at": 123
}

Autorizaciones

Authorization
string
header
requerido

Las claves API de OrcaRouter se ven como sk-orca-.... Pásalas en la cabecera Authorization: Bearer sk-orca-....

Cuerpo

application/json

Elige la variante que coincide con tu prefijo model:

  • kling/...Kling video request
  • byteplus/...Seedance video request
model
enum<string>
requerido

Modelo de vídeo Kling (nombre orientado al cliente con prefijo de espacio de nombres kling/). El endpoint que Kling realmente sirve (text2video / image2video / omni-video) se determina por los campos de metadatos que pasas, no por qué nombre de modelo eliges — pero solo kling/kling-video-o1 y kling/kling-v3-omni aceptan los campos de referencia multi-fuente (image_list / video_list).

Opciones disponibles:
kling/kling-v2-master,
kling/kling-v2-1-master,
kling/kling-v2-5-turbo,
kling/kling-v2-6,
kling/kling-v3,
kling/kling-video-o1,
kling/kling-v3-omni
Ejemplo:

"kling/kling-v3-omni"

prompt
string
requerido

Requerido. Kling rechaza prompts vacíos / solo de espacios en blanco.

image
string

Imagen opcional de primer fotograma para imagen-a-vídeo (URL o URI data base64). Mutuamente informativa con metadata.image_tail.

metadata
object

Bolsa de parámetros de forma libre honrada por Kling.

Universal (todos los endpoints):

  • mode (string): std (720P) / pro (1080P) / 4k. 4k solo en kling/kling-v3 y kling/kling-v3-omni. Por defecto es std para texto/imagen-a-vídeo, pro para Omni-Video.
  • aspect_ratio (string): 16:9 / 9:16 / 1:1.
  • duration (string): longitud en segundos, por defecto "5". kling/kling-v3-omni y kling/kling-v3 aceptan "3"-"15"; la familia v2 y kling/kling-video-o1 aceptan "5" o "10".

Texto-a-vídeo e imagen-a-vídeo solo (NO Omni-Video):

  • negative_prompt (string): cosas a evitar. Máx 2500 caracteres.
  • cfg_scale (number): rango [0, 1], por defecto 0.5. Mayor = adherencia más estricta al prompt. No soportado en modelos v2.x.
  • image_tail (string): imagen de último fotograma para imagen-a-vídeo primer/último fotograma.

Referencia multi-fuente (endpoint Omni, solo kling/kling-video-o1 / kling/kling-v3-omni):

  • image_list (array): [{image_url, type}] — referencia multi-imagen. Referencia imágenes en el prompt con <<<image_1>>> etc.
  • video_list (array): [{video_url, refer_type, keep_original_sound}]. En kling/kling-v3-omni limitado a 3-10s y modo std/pro (no 4K).

Funciones avanzadas (dependiente del modelo — ver Capability Map):

  • multi_shot (bool) + shot_type (customize / intelligence) + multi_prompt ([{index, prompt, duration}]): modo multi-plano. Disponible en kling/kling-v3 y kling/kling-v3-omni.
  • sound (string): "on" / "off" — audio nativo. Disponible en kling/kling-v3 y kling/kling-v3-omni (cualquier modo), y kling/kling-v2-6 (solo modo pro).
  • watermark_info (object): {enabled: bool}. Universal.

Respuesta

200 - application/json

Tarea aceptada (asíncrona — consulta /v1/video/generations/{task_id})

Respuesta de envío estilo OpenAI. Devuelta por POST /v1/video/generations (y el alias OpenAI-simétrico POST /v1/videos).

id
string

ID de tarea. Mismo valor que task_id (mantenido para clientes heredados).

task_id
string
object
enum<string>
Opciones disponibles:
video
model
string

Nombre del modelo como lo envió el cliente (alias / prefijo de espacio de nombres preservado, no el nombre resuelto por upstream).

status
enum<string>

Siempre queued en un envío exitoso.

Opciones disponibles:
queued
progress
integer
Rango requerido: 0 <= x <= 100
created_at
integer

Marca de tiempo Unix cuando se envió la tarea.