Passer au contenu principal
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Autorisation

Authorization
string
requis
Tous les points de terminaison API nécessitent une authentification par Bearer TokenObtenir votre clé API :Rendez-vous sur la page de gestion des clés API pour obtenir votre clé APIAjoutez-la à l’en-tête de la requête :
Authorization: Bearer YOUR_API_KEY

Paramètres de la requête

model
string
requis
Nom du modèle de génération vidéoModèles pris en charge :
  • kling-v3-omni — Kling v3 Omni (interface unifiée)
prompt
string
requis
Prompt textuel positifPermet de référencer les images de image_urls via la syntaxe <<<image_N>>>, où N commence à 1.Exemple : "Make the person in <<<image_1>>> wave at the camera"
Si des images sont fournies mais que le prompt ne contient aucune référence <<<image_N>>>, le système ajoute automatiquement <<<image_1>>> au début du prompt.
negative_prompt
string
Prompt négatif utilisé pour exclure les contenus indésirables. Longueur maximale : 2500 caractères.
mode
string
défaut:"std"
Mode de générationOptions :
  • std — mode standard (720P)
  • pro — mode professionnel (1080P)
  • 4k — mode 4K Ultra HD
Par défaut : std
duration
integer
défaut:"5"
Par défaut : 5 Durée de la vidéo (en secondes)Plage : 3 à 15 (minimum 3 secondes, maximum 15 secondes)⚠️ Note : doit être un nombre simple (par ex. 6), sans guillemets, sinon une erreur se produira
aspect_ratio
string
défaut:"16:9"
Format d’image de la vidéoOptions :
  • 16:9 — paysage
  • 9:16 — portrait
  • 1:1 — carré
Par défaut : 16:9
image_urls
array<url>
Tableau d’URL d’images pour le référencement d’imagesRéférencez les images correspondantes dans le prompt via la syntaxe <<<image_N>>> (N commence à 1)Exemple : ["https://example.com/photo.jpg"]
  • Les URL d’images doivent être publiquement accessibles, sans protection anti-hotlink
  • En mode image-to-video, aspect_ratio peut être remplacé par le rapport réel de l’image
image_with_roles
array<object>
Tableau d’images avec rôles, recommandé pour l’image-to-video.Format de chaque élément : { "url": "...", "role": "..." }
  • first_frame : première image
  • last_frame : dernière image
  • reference : image de référence
image_urls et image_with_roles sont mutuellement exclusifs. N’en utilisez qu’un seul.
video_list
array
Liste de vidéos de référence (basée sur URL), jusqu’à 1 vidéo.Utilisez refer_type pour distinguer les types :
  • base : vidéo à éditer (par défaut)
  • feature : vidéo de référence de caractéristiques
Utilisez keep_original_sound pour contrôler l’audio d’origine :
  • no : ne pas conserver (par défaut)
  • yes : conserver le son d’origine
Format de la requête :
"video_list":[
  { "video_url": "video_url", "refer_type": "base", "keep_original_sound": "no" }
]
  • video_url ne peut pas être vide, et l’URL de la vidéo doit être accessible
  • Lorsque refer_type=base :
    • Les images de début/fin ne peuvent pas être définies
    • La vidéo de référence doit durer 3 à 10 secondes
    • La durée de la vidéo générée suit celle de la vidéo téléversée
  • Lorsque refer_type=feature et que video_url n’est pas vide :
    • image_urls ne peut contenir qu’une image de première image
  • Exigences vidéo : MP4/MOV uniquement ; durée d’au moins 3 secondes ; résolution 720–2160 px ; fréquence d’images 24–60 fps (la sortie est de 24 fps) ; taille maximale 200 Mo
multi_shot
boolean
défaut:"false"
Activer ou non le mode multi-plans.
shot_type
string
Méthode de découpage des plans : customize / intelligence.Obligatoire lorsque multi_shot=true.
multi_prompt
array<object>
Liste multi-plans, chaque élément est { index, prompt, duration }.
  • Minimum 1 plan, maximum 6 plans
  • Chaque duration de plan doit être un entier >= 1
  • La somme des durées de tous les plans doit être égale à la duration de premier niveau
  • index doit commencer à 1 et augmenter de manière continue
  • Obligatoire lorsque multi_shot=true et shot_type=customize
Exemple :
[
  { "index": 1, "prompt": "a happy dog in running@element_cat", "duration": 3 },
  { "index": 2, "prompt": "a happy dog play with a cat@element_dog", "duration": 3 }
]
element_list
array<object>
Liste des sujets de référence, jusqu’à 3 sujets. Prend en charge :
  • La création de sujets à la volée avec name, description, element_input_urls
Format général :
[
  {
    "name": "element_dog",
    "description": "a golden retriever, fluffy fur, friendly expression",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  },
  {
    "name": "element_cat",
    "description": "an orange tabby cat, round face, bright eyes",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  }
]
Notes :
  • Pour la création à la volée, name, description, element_input_urls sont obligatoires
  • element_input_urls : 2 à 4 images par sujet (la première comme image frontale, les autres comme références)
  • Utilisez @name dans prompt, par ex. "@element_dog and @element_cat are playing on the grass"
watermark
boolean
Ajouter ou non un filigrane
audio
boolean
défaut:"false"
Générer ou non la vidéo avec audio
Ce paramètre est mutuellement exclusif avec video_list.Lorsque video_list a une valeur, le paramètre audio n’est pas nécessaire.

Contraintes et limites des paramètres

  • image_urls et image_with_roles sont mutuellement exclusifs
  • mode=4k est disponible pour kling-v3-omni
  • L’entrée de la dernière image seule (last_frame sans première image) est invalide
  • Les images de début/fin et l’édition vidéo sont mutuellement exclusives : lorsque video_list.refer_type=base (ou omis), les images de début/fin ne sont pas autorisées
  • Lorsque video_list est présent, audio est ignoré
  • video_list prend en charge au maximum 1 vidéo
  • multi_prompt prend en charge jusqu’à 6 plans, avec index commençant à 1 et augmentant de manière continue

Syntaxe de référence d’image

Le modèle Omni utilise la syntaxe <<<image_N>>> pour référencer des images dans les prompts, offrant une expérience unifiée text-to-video / image-to-video :
SyntaxeDescription
<<<image_1>>>Référence la 1re image du tableau image_urls
<<<image_2>>>Référence la 2e image du tableau image_urls
Référence automatique : si image_urls est fourni mais que le prompt ne contient aucune référence <<<image_N>>>, le système ajoute automatiquement <<<image_1>>> au début du prompt.

Réponse

code
integer
Code de statut de la réponse, 200 en cas de succès
data
array
Tableau de données de la réponse

Cas d’usage

Cas 1 : Texte vers vidéo (mode standard)

{
  "model": "kling-v3-omni",
  "prompt": "A golden retriever running on the beach, sunset, cinematic",
  "mode": "std",
  "duration": 5,
  "aspect_ratio": "16:9"
}

Cas 2 : Référence d’image (image unique)

{
  "model": "kling-v3-omni",
  "prompt": "Make the person in <<<image_1>>> wave at the camera",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "pro",
  "duration": 5
}

Cas 3 : Références à plusieurs images

{
  "model": "kling-v3-omni",
  "prompt": "The character in <<<image_1>>> walks toward the scene in <<<image_2>>>",
  "image_urls": [
    "https://example.com/character.jpg",
    "https://example.com/scene.jpg"
  ],
  "mode": "pro",
  "duration": 5
}

Cas 4 : Image fournie sans référence explicite (ajoutée automatiquement)

{
  "model": "kling-v3-omni",
  "prompt": "The person slowly turns and smiles",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "std",
  "duration": 5
}
Le système ajoute automatiquement <<<image_1>>> au début du prompt, ce qui équivaut à "<<<image_1>>>The person slowly turns and smiles".

Cas 5 : Générer une vidéo avec audio

{
  "model": "kling-v3-omni",
  "prompt": "A yellow canary singing on a branch",
  "audio": true,
  "mode": "std",
  "duration": 5
}
Note : audio est mutuellement exclusif avec video_list. Lorsque video_list a une valeur, le paramètre audio n’est pas nécessaire.
Interroger les résultats de la tâcheLa génération vidéo est une tâche asynchrone qui renvoie un task_id lors de la soumission. Utilisez le point de terminaison Obtenir le statut de la tâche pour interroger la progression et les résultats.