Passer au contenu principal
POST
/
video
/
generations
Soumettre une tâche vidéo
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
}

Autorisations

Authorization
string
header
requis

Les clés API OrcaRouter ressemblent à sk-orca-.... Passez-les dans l'en-tête Authorization: Bearer sk-orca-....

Corps

application/json

Choisissez la variante correspondant à votre préfixe model :

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

Modèle vidéo Kling (nom orienté client avec préfixe d'espace de noms kling/). L'endpoint que Kling sert réellement (text2video / image2video / omni-video) est déterminé par les champs de métadonnées que vous passez, pas par le nom de modèle que vous choisissez — mais seuls kling/kling-video-o1 et kling/kling-v3-omni acceptent les champs de référence multi-source (image_list / video_list).

Options 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
Exemple:

"kling/kling-v3-omni"

prompt
string
requis

Requis. Kling rejette les prompts vides / contenant uniquement des espaces.

image
string

Image optionnelle de première image pour image-vers-vidéo (URL ou URI data base64). Mutuellement informative avec metadata.image_tail.

metadata
object

Sac de paramètres de forme libre honoré par Kling.

Universel (tous endpoints) :

  • mode (string) : std (720P) / pro (1080P) / 4k. 4k uniquement sur kling/kling-v3 et kling/kling-v3-omni. Le défaut est std pour texte/image-vers-vidéo, pro pour Omni-Video.
  • aspect_ratio (string) : 16:9 / 9:16 / 1:1.
  • duration (string) : longueur en secondes, défaut "5". kling/kling-v3-omni et kling/kling-v3 acceptent "3"-"15" ; la famille v2 et kling/kling-video-o1 acceptent "5" ou "10".

Texte-vers-vidéo et image-vers-vidéo uniquement (PAS Omni-Video) :

  • negative_prompt (string) : choses à éviter. Max 2500 caractères.
  • cfg_scale (number) : plage [0, 1], défaut 0.5. Plus élevé = adhésion plus stricte au prompt. Non pris en charge sur les modèles v2.x.
  • image_tail (string) : image de dernière image pour i2v première/dernière image.

Référence multi-source (endpoint Omni, kling/kling-video-o1 / kling/kling-v3-omni uniquement) :

  • image_list (array) : [{image_url, type}] — référence multi-image. Référencez les images dans le prompt avec <<<image_1>>> etc.
  • video_list (array) : [{video_url, refer_type, keep_original_sound}]. Sur kling/kling-v3-omni limité à 3-10s et mode std/pro (pas 4K).

Fonctionnalités avancées (dépendantes du modèle — voir Capability Map) :

  • multi_shot (bool) + shot_type (customize / intelligence) + multi_prompt ([{index, prompt, duration}]) : mode multi-plan. Disponible sur kling/kling-v3 et kling/kling-v3-omni.
  • sound (string) : "on" / "off" — audio natif. Disponible sur kling/kling-v3 et kling/kling-v3-omni (tout mode), et kling/kling-v2-6 (mode pro uniquement).
  • watermark_info (object) : {enabled: bool}. Universel.

Réponse

200 - application/json

Tâche acceptée (asynchrone — interroger /v1/video/generations/{task_id})

Réponse de soumission style OpenAI. Retournée par POST /v1/video/generations (et l'alias OpenAI-symétrique POST /v1/videos).

id
string

ID de tâche. Même valeur que task_id (gardée pour les clients hérités).

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

Nom du modèle tel que le client l'a envoyé (alias / préfixe d'espace de noms préservé, pas le nom résolu par l'amont).

status
enum<string>

Toujours queued lors d'une soumission réussie.

Options disponibles:
queued
progress
integer
Plage requise: 0 <= x <= 100
created_at
integer

Horodatage Unix lorsque la tâche a été soumise.