Vai al contenuto principale
POST
/
video
/
generations
Invia un task video
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
}

Autorizzazioni

Authorization
string
header
obbligatorio

Le chiavi API di OrcaRouter hanno la forma sk-orca-.... Passale nell'header Authorization: Bearer sk-orca-....

Corpo

application/json

Scegli la variante che corrisponde al tuo prefisso model:

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

Modello video Kling (nome customer-facing con prefisso namespace kling/). L'endpoint che Kling serve effettivamente (text2video / image2video / omni-video) è determinato dai campi metadata che passi, non dal nome del modello che scegli — ma solo kling/kling-video-o1 e kling/kling-v3-omni accettano i campi di riferimento multi-sorgente (image_list / video_list).

Opzioni disponibili:
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
Esempio:

"kling/kling-v3-omni"

prompt
string
obbligatorio

Obbligatorio. Kling rifiuta prompt vuoti / solo spazi.

image
string

Immagine opzionale del primo frame per image-to-video (URL o data URI base64). Mutualmente informativa con metadata.image_tail.

metadata
object

Bag di parametri in forma libera onorato da Kling.

Universali (tutti gli endpoint):

  • mode (string): std (720P) / pro (1080P) / 4k. 4k solo su kling/kling-v3 e kling/kling-v3-omni. Il default è std per text/image-to-video, pro per Omni-Video.
  • aspect_ratio (string): 16:9 / 9:16 / 1:1.
  • duration (string): Durata in secondi, default "5". kling/kling-v3-omni e kling/kling-v3 accettano "3"-"15"; la famiglia v2 e kling/kling-video-o1 accettano "5" o "10".

Solo text-to-video e image-to-video (NON Omni-Video):

  • negative_prompt (string): Cose da evitare. Max 2500 caratteri.
  • cfg_scale (number): Range [0, 1], default 0.5. Più alto = aderenza al prompt più rigorosa. Non supportato sui modelli v2.x.
  • image_tail (string): Immagine dell'ultimo frame per image-to-video first/last-frame.

Riferimento multi-sorgente (endpoint Omni, solo kling/kling-video-o1 / kling/kling-v3-omni):

  • image_list (array): [{image_url, type}] — riferimento multi-immagine. Riferisciti alle immagini nel prompt con <<<image_1>>> ecc.
  • video_list (array): [{video_url, refer_type, keep_original_sound}]. Su kling/kling-v3-omni limitato a 3-10s e modalità std/pro (non 4K).

Funzionalità avanzate (dipendenti dal modello — vedi Capability Map):

  • multi_shot (bool) + shot_type (customize / intelligence)
    • multi_prompt ([{index, prompt, duration}]): modalità multi-shot. Disponibile su kling/kling-v3 e kling/kling-v3-omni.
  • sound (string): "on" / "off" — audio nativo. Disponibile su kling/kling-v3 e kling/kling-v3-omni (qualsiasi modalità), e kling/kling-v2-6 (solo modalità pro).
  • watermark_info (object): {enabled: bool}. Universale.

Risposta

200 - application/json

Task accettato (asincrono — esegui il polling su /v1/video/generations/{task_id})

Risposta di submit in stile OpenAI. Restituita da POST /v1/video/generations (e dall'alias simmetrico OpenAI POST /v1/videos).

id
string

Task ID. Stesso valore di task_id (mantenuto per i client legacy).

task_id
string
object
enum<string>
Opzioni disponibili:
video
model
string

Nome del modello come inviato dal cliente (alias / prefisso namespace preservato, non il nome risolto dall'upstream).

status
enum<string>

Sempre queued su un invio riuscito.

Opzioni disponibili:
queued
progress
integer
Intervallo richiesto: 0 <= x <= 100
created_at
integer

Unix timestamp di quando il task è stato inviato.