Utiliser l’API Kling 3.0 : clé, requête, interrogation, images et multi-plan
L’API Kling 3.0 pas à pas : créer une clé, envoyer une tâche vidéo, récupérer l’URL, partir d’une première et dernière image, créer des clips multi-plan.
Lire en MarkdownPour utiliser l’API Kling 3.0, créez une clé API, envoyez en POST un corps JSON avec l’ID de modèle kling-3-0 et votre prompt, puis interrogez la tâche renvoyée jusqu’à ce que l’URL de la vidéo soit prête. Un seul point de terminaison couvre le texte vers vidéo, la vidéo à partir d’une première et d’une dernière image, les clips multi-plan et les références d’éléments ; ce sont les champs du corps qui décident.
Ce guide détaille chaque étape avec du code fonctionnel, puis présente les images, les clips multi-plan, les éléments et les requêtes refusées avant toute facturation.
De quoi avez-vous besoin avant la première requête ?
- Une clé API. Créez-en une sur la page Clés API et gardez-la sur votre serveur. Ne la mettez jamais dans du code côté navigateur.
- Des crédits. Ajoutez un solde sur la page de facturation. Les crédits n’expirent jamais, et les tâches échouées ne sont pas facturées.
- L’ID de modèle
kling-3-0.
export SEEDROUTER_API_KEY="your-key"Comment envoyer une requête Kling 3.0 ?
Envoyez la tâche en POST à /v1/videos/generations :
curl https://api.seedrouter.ai/v1/videos/generations \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, soft mist on the water, slow push-in, no text, no logos.",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}'La réponse est une tâche, pas une vidéo :
{"id": "task_...", "model": "kling-3-0", "status": "processing", "created_at": 1789689600}Tous les champs sauf model et prompt ont une valeur par défaut :
| Champ | Par défaut | Valeurs |
|---|---|---|
mode | pro | std (720p), pro (1080p), 4K |
duration | 5 | 3 à 15 secondes |
aspect_ratio | 16:9 | 16:9, 9:16, 1:1 |
sound | false | true génère un son natif |
Le schéma est strict : un champ inconnu est refusé avec HTTP 400 avant la création d’une tâche, donc une faute de frappe ne se transforme jamais en clip payant où le réglage aurait été ignoré en silence.
Comment récupérer la vidéo ?
Interrogez GET /v1/tasks/{id} toutes les 10 à 20 secondes jusqu’à ce que status vaille completed ou failed. Lors de nos tests, un clip std de 3 secondes s’est terminé en deux minutes environ et un clip pro de 5 secondes avec son en deux minutes et demie environ.
import os
import time
import requests
API = "https://api.seedrouter.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}
task = requests.post(
f"{API}/videos/generations",
headers=HEADERS,
json={
"model": "kling-3-0",
"prompt": "A red paper boat drifting on a calm pond at sunrise, slow push-in, no text, no logos.",
"mode": "std",
"duration": 5,
},
timeout=60,
)
task.raise_for_status()
task_id = task.json()["id"]
while True:
result = requests.get(f"{API}/tasks/{task_id}", headers=HEADERS, timeout=60).json()
if result["status"] in ("completed", "failed"):
break
time.sleep(15)
if result["status"] == "completed":
print(result["output"]["video_url"])
else:
print(result["error"])Une tâche terminée ressemble à ceci :
{
"id": "task_...",
"model": "kling-3-0",
"status": "completed",
"output": {"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"}
}std est revenu en 1280 × 720 et pro en 1920 × 1080, tous deux en MP4 (H.264) ; avec sound activé, le fichier contient une piste audio stéréo. Téléchargez le fichier sur votre propre stockage : les liens hébergés ne sont pas permanents. Un dépassement de délai réseau pendant l’interrogation ne signifie pas que la génération a échoué ; conservez donc l’identifiant de tâche et vérifiez-le à nouveau au lieu d’envoyer une nouvelle tâche.
Comment partir d’une première et d’une dernière image ?
Passez une ou deux URL d’images dans image_urls. La première image ouvre le clip ; une seconde marque sa fin. Sans images, le clip est créé à partir du prompt seul.
{
"model": "kling-3-0",
"prompt": "The camera glides from the empty street to the lit shop window",
"image_urls": ["https://example.com/start.png", "https://example.com/end.png"],
"mode": "pro",
"duration": 6
}Les images doivent être des URL HTTP(S) publiques, en JPG ou PNG. Les données base64 sont refusées ; téléversez d’abord le fichier sur votre propre stockage.
Comment créer un clip multi-plan ?
Réglez multi_shots sur true et décrivez chaque plan dans multi_prompt, jusqu’à cinq plans de 1 à 12 secondes chacun. Les durées des plans doivent totaliser 3 à 15 secondes, et ce total est la durée du clip qui vous est facturée ; duration n’est pas utilisé.
{
"model": "kling-3-0",
"mode": "pro",
"sound": true,
"multi_shots": true,
"multi_prompt": [
{"prompt": "Wide shot of a small open kitchen, a chef tosses vegetables in a wok, flames rising, warm light.", "duration": 3},
{"prompt": "Close-up of the wok, vegetables flipping through the flames, oil sizzling, steam drifting.", "duration": 3}
]
}Voici le clip produit par cette requête lors de notre test, une vidéo de 6 secondes qui passe d’un plan large à un gros plan :
Kling 3.0, pro (1080p), multi-plan 3 + 3 secondes, avec son.
Comment garder une personne ou un produit cohérent ?
Ajoutez-le à kling_elements : un name, une courte description et 2 à 4 URL d’images du sujet, jusqu’à trois éléments par requête. Mentionnez l’élément par son nom dans le prompt.
{
"model": "kling-3-0",
"prompt": "@hero slowly turns toward the camera in soft window light",
"kling_elements": [
{
"name": "hero",
"description": "a young woman with short black hair and a yellow raincoat",
"element_input_urls": ["https://example.com/hero-front.png", "https://example.com/hero-side.png"]
}
]
}Quelles requêtes sont refusées avant toute facturation ?
Celles-ci reviennent en HTTP 400 à l’envoi, sans création de tâche ni facturation :
| Requête | Pourquoi |
|---|---|
| Un clip multi-plan dont les plans totalisent moins de 3 ou plus de 15 secondes | Kling 3.0 crée des clips de 3 à 15 secondes |
Un élément sans description | Chaque élément en a besoin |
Plus de 2 image_urls, plus de 5 plans ou plus de 3 éléments | Hors des limites du modèle |
mode: "4k" en minuscules | La valeur est 4K |
| Des images base64, ou tout champ absent du tableau ci-dessus | Les médias sont transmis sous forme d’URL ; le schéma est strict |
Une tâche acceptée qui échoue ensuite, par exemple sur la politique de contenu du modèle, renvoie status: "failed" avec un code error et n’est pas facturée. Le catalogue d’erreurs liste les codes.
En quoi est-ce différent de l’API de Kling ?
L’API développeur de Kling utilise ses propres noms de champs, et ses versions legacy et actuelle diffèrent l’une de l’autre.[1][2] Si vous migrez une intégration, faites correspondre les champs :
| SeedRouter | API legacy de Kling |
|---|---|
model: "kling-3-0" | model_name: "kling-v3" |
sound: true / false | sound: "on" / "off" |
duration: 5 (entier) | duration: "5" (chaîne) |
mode: "4K" | mode: "4k" |
image_urls: [first, last] | image et image_tail |
multi_shots + multi_prompt: [{prompt, duration}] | multi_shot + shot_type: "customize" + multi_prompt: [{index, prompt, duration}] |
kling_elements: [{name, description, element_input_urls}] | element_list: [{element_id}], créé à l’avance |
SeedRouter livre les résultats sous forme de tâche à interroger ; callback_url n’est pas proposé.
Un agent de code peut-il le faire pour vous ?
Oui. La page Kling 3.0 propose un prompt prêt à l’emploi pour Claude Code, Codex ou Cursor qui lit la clé dans votre environnement, vous montre la requête et son coût, attend votre accord, puis envoie, interroge et télécharge le clip. La même page propose un Playground qui envoie exactement le corps que votre code enverrait.
Questions sur l’API Kling 3.0
Existe-t-il une API officielle Kling 3.0 ?
Oui. Kling publie une API développeur avec ses propres clés, une facturation en unités et son propre format de requête.[1][3] SeedRouter est une autre façon d’appeler Kling 3.0, avec une seule clé et un seul solde partagés avec d’autres modèles.
Combien coûte l’API Kling 3.0 ?
Elle est facturée à la seconde de vidéo, selon le mode et selon que le son est activé. Le guide des prix de l’API Kling 3.0 détaille le coût des clips, et la page du modèle affiche les tarifs actuels.
Puis-je annuler une tâche ?
Non. Une fois acceptée, une tâche s’exécute jusqu’à son achèvement ou son échec. Les tâches échouées ne sont pas facturées.
Références
- Kling AI. Kling 3.0: Text to Video (référence de l’API, version legacy). Consulté le 6 octobre 2026 sur kling.ai.
- Kling AI. Kling 3.0: Image to Video (référence de l’API, version legacy). Consulté le 6 octobre 2026 sur kling.ai.
- Kling AI. Pricing: Video (API développeur). Consulté le 6 octobre 2026 sur kling.ai.



