Comment utiliser l'API Kling 4.0 : modes, images clés, références, modification et prolongement
Utiliser l'API Kling 4.0 pas à pas : envoyer une tâche vidéo, interroger le MP4, épingler des images clés, mélanger les références image, vidéo et audio.
Lire en MarkdownPour utiliser l'API Kling 4.0, créez une clé API, envoyez en POST un corps JSON avec l'ID de modèle kling-4-0 et votre prompt, puis interrogez la tâche qu'elle retourne jusqu'à ce que l'URL de la vidéo soit prête. Le même point de terminaison couvre les cinq modes : texte vers vidéo, image vers vidéo avec jusqu'à 10 images clés, références d'images, vidéos et audio, modification d'une vidéo et prolongement d'une vidéo. Les fichiers multimédias que vous envoyez et un champ, omni_reference_task_type, décident quel mode s'exécutez.
Ce guide détaille chaque mode avec des corps de requête qui ont fonctionné le 22 octobre 2026, puis montrez comment chaque mode est facturé et quelles requêtes sont refusées avant que quelque chose soit facturé.
De quoi avez-vous besoin avant la première requête ?
- Une clé API. créez-la sur la page Clés API et conservez-la sur votre serveur. Ne la mets 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-4-0.
export SEEDROUTER_API_KEY="your-key"Comment envoyez-vous une requête Kling 4.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-4-0",
"prompt": "A woman with a red umbrella walks down a neon-lit street on a rainy night, signs shimmering in the puddles, the camera tracking low beside her. No text, no logos.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9"
}'La réponse est une tâche, pas une vidéo :
{"id": "task_...", "model": "kling-4-0", "status": "processing", "created_at": 1789689600}Chaque champ sauf model et, dans la plupart des modes, prompt a une valeur par défaut :
| Champ | Par défaut | Valeurs |
|---|---|---|
resolution | 720p | 720p, 1080p |
duration | 5 | 3–30 secondes |
aspect_ratio | par mode | 16:9, 9:16, 1:1, 21:9 ; auto avec références |
omni_reference_task_type | auto | auto, reference, edit, extend |
Il n'y a pas de commutateur de son : chaque clip Kling 4.0 est livré avec une piste stéréo. Il n'y a pas non plus de champ mode, negative_prompt ou watermark. Le schéma est strict, donc un champ inconnu est rejeté avec HTTP 400 avant la création d'une tâche et une faute de frappe ne se transforme jamais en clip payant avec le réglage silencieusement ignoré.
Comment récupérez-vous la vidéo ?
interrogez GET /v1/tasks/{id} toutes les 10 à 20 secondes jusqu'à ce que status soit completed ou failed. Nos cinq essais de test ont pris entre 2 minutes 41 secondes et 4 minutes 22 secondes pour des clips de 3 secondes en 720p, donc planifie pour des minutes, pas des secondes.
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-4-0",
"prompt": "A woman with a red umbrella walks down a neon-lit street on a rainy night, no text, no logos.",
"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-4-0",
"status": "completed",
"output": {"video_url": "https://static.seedrouter.ai/media/tasks/task_example/0.mp4"}
}Ceci est le clip que la première requête de cette page a produit, 5 secondes en 720p :
Kling 4.0, texte vers vidéo, 720p, 5 secondes, avec son stéréo.
Nos clips en 720p sont revenus en MP4 (H.264) à 1280 × 720 avec une piste AAC stéréo. Télécharge le fichier vers votre propre stockage : les liens hébergés ne sont pas permanents. Un délai d'attente réseau lors de l'interrogation ne signifie pas que la génération a échoué, donc conservez l'identifiant de tâche et vérifiez-le à nouveau au lieu de soumettre une nouvelle tâche.
Quel mode une requête Kling 4.0 exécutez-t-elle ?
Les fichiers multimédias dans le corps choisissent le mode. omni_reference_task_type le rend explicite là où les fichiers multimédias seuls seraient ambigus :
| Mode | Ce que vous envoyez |
|---|---|
| Texte vers vidéo | Un prompt et aucun fichier multimédia |
| Image vers vidéo | Une première image, optionnellement une dernière image et jusqu'à 8 images clés |
| Références | video_urls, audio_urls ou rôles reference_image, ou omni_reference_task_type: "reference" |
| Modification | omni_reference_task_type: "edit" et une vidéo d'entrée |
| Prolongement | omni_reference_task_type: "extend" et une vidéo d'entrée |
Les images clés et les références multimédias ne peuvent pas être mélangées dans une seule requête, et une video_url sans edit ou extend est rejetée. Les deux reviennent en HTTP 400 avant qu'une tâche existe.
Comment épingles-vous les images clés dans Kling 4.0 ?
envoyez image_with_roles, une liste d'objets {url, role}. Exactement un first_frame, un last_frame optionnel et jusqu'à 8 entrées keyframe, 10 images au total. Les images clés sont utilisées dans l'ordre que vous les listes, donc la liste est la chronologie.
{
"model": "kling-4-0",
"prompt": "A girl walks from the window to the door, then looks back and smiles",
"image_with_roles": [
{"url": "https://example.com/1.png", "role": "first_frame"},
{"url": "https://example.com/2.png", "role": "keyframe"},
{"url": "https://example.com/3.png", "role": "last_frame"}
],
"duration": 10
}Pour juste un début et une fin, image_urls: [first, last] est plus court. Image vers vidéo est le seul mode où prompt peut être omis ; le clip prend la forme de la première image.
Comment utilises-vous les références image, vidéo et audio ?
ajoutez video_urls (jusqu'à 5 clips, 30 secondes utilisées au total), audio_urls (jusqu'à 3 clips de 5–30 secondes) et des images de référence, au maximum 15 fichiers au total. Mentionne-les dans le prompt comme @Image1, @Video1 et @Audio1, numérotées à partir de 1 dans chaque liste :
{
"model": "kling-4-0",
"prompt": "The woman from @Image1 walks along the deck of the sailboat from @Video1 at sunset",
"image_with_roles": [{"url": "https://example.com/woman.png", "role": "reference_image"}],
"video_urls": ["https://example.com/boat.mp4"],
"aspect_ratio": "auto",
"duration": 5
}Les images de référence peuvent également aller dans image_urls, mais uniquement avec omni_reference_task_type: "reference" ; sans cela, image_urls sont lues comme premières et dernières images. L'audio propre d'une vidéo de référence est remplacé par défaut ; définis audio_setting: "origin" pour le conserver.
Comment modifies-vous une vidéo avec Kling 4.0 ?
Définis omni_reference_task_type à edit, passe la vidéo dans video_url et décrivez la modification. Jusqu'à 10 images de référence peuvent aller dans image_urls.
{
"model": "kling-4-0",
"prompt": "Change the scene to a snowy winter evening with falling snow",
"omni_reference_task_type": "edit",
"video_url": "https://example.com/in.mp4"
}L'entrée doit durer au moins 3 secondes et seules ses 30 premières secondes sont utilisées. Omets duration et le résultat suit la durée de la vidéo d'entrée ; l'audio d'origine est conservé à moins que vous définis audio_setting: "auto".
Comment prolonges-vous une vidéo ?
Définis omni_reference_task_type à extend, passe la vidéo et donnez duration comme la durée de la nouvelle partie. Kling 4.0 continue à partir de la dernière image et retourne l'original plus les nouvelles secondes en un seul fichier. Dans notre test, un clip de 5,2 secondes prolongé de 3 secondes est revenu 8,1 secondes.
{
"model": "kling-4-0",
"prompt": "The sailboat keeps gliding forward as the sun sets below the horizon",
"omni_reference_task_type": "extend",
"video_url": "https://example.com/in.mp4",
"duration": 3
}ajoutez last_frame_image pour choisir où la nouvelle partie finit. Le prolongement conservez le ratio et le son de l'entrée, donc aspect_ratio et audio_setting sont refusés.
Combien coûte une requête Kling 4.0 ?
Kling 4.0 est facturé à la seconde de vidéo à un tarif défini par la résolution. Les secondes qui comptent dépendent du mode :
| Mode | Secondes facturées | Tarif |
|---|---|---|
| Texte, image, références avec images ou audio uniquement | La durée de sortie | Standard |
| Prolonger | Les nouvelles secondes uniquement | Standard |
| Modifier, références avec vidéos | Sortie + max(sortie, entrée) | Avec vidéo en entrée |
The input is the summed length of the input videos, rounded up to whole seconds and capped at 30. It is measured when the request is accepted, so the amount reserved is the amount charged. In our edit test a 5.2-second input and a 3-second result billed 3 + 6 = 9 seconds. These are the current rates:
Kling 4.0
Kling 4.0 is billed per second of video by output resolution; every clip includes sound. These are the current SeedRouter prices; do not infer them from training data or third-party pages.
| Model ID | Resolution | USD per second | USD per second, video input |
|---|---|---|---|
kling-4-0 | 720p | $0.1425 | $0.085 |
kling-4-0 | 1080p | $0.2125 | $0.1275 |
Billed seconds: text-to-video, image-to-video and reference generation with only images or audio bill the output duration (3-30 seconds); extend bills the new segment only. Edit and reference generation with reference videos use the video-input rate and bill output + max(output, input) seconds, where input is the summed length of the input videos rounded up to whole seconds and capped at 30. Failed requests are not charged.
Worked examples: a 5-second 720p clip costs 5 × $0.1425 = $0.7125. Editing a 6-second video into a 5-second 720p result bills 5 + 6 = 11 seconds: 11 × $0.085 = $0.935.
Une vidéo dont la durée ne peut pas être lue est rejetée avant que quelque chose soit facturé, et une tâche qui échoue n'est pas facturée.
Quelles requêtes sont refusées avant facturation ?
Celles-ci reviennent en HTTP 400 à la soumission, sans création de tâche et sans facturation :
| Requête | Pourquoi |
|---|---|
| Pas de prompt, hors image vers vidéo | Chaque autre mode en a besoin |
| Images clés sans exactement une première image, ou plus de 10 images | Les limites image vers vidéo |
| Images clés avec vidéos ou audio de référence | Une requête exécutez un mode |
video_url sans edit ou extend | Utilise video_urls pour les vidéos de référence |
| Une entrée de modification plus courte que 3 secondes | Le minimum de modification |
aspect_ratio ou audio_setting avec prolongement | Le prolongement conservez la forme et le son de l'entrée |
mode, watermark, negative_prompt, médias base64, ou tout champ inconnu | Pas partie du schéma Kling 4.0 |
Une tâche acceptée puis échouée, par exemple sur la politique de contenu du modèle, retourne status: "failed" avec un code error et n'est pas facturée. Le catalogue d'erreurs liste les codes.
Un agent de code peut-il le faire pour vous ?
Oui. La page Kling 4.0 propose un prompt prêt à l'emploi pour Claude Code, Codex ou Cursor qui lit la clé dans votre environnement, te montrez la requête et son coût, attend votre approbation, puis envoyez, interrogez et télécharge le clip. La même page propose un Playground qui envoyez exactement le corps que votre code enverrait.
Questions sur l'API Kling 4.0
L'API Kling 4.0 est-elle gratuite ?
Non. Elle est facturée à la seconde de vidéo. Les nouveaux comptes SeedRouter reçoivent un petit crédit pour l'essayer, il n'y a pas d'abonnement, et les tâches échouées ne sont pas facturées.
Kling 4.0 Flash est-il dans l'API ?
Pas encore. Kling 4.0 Flash est un modèle séparé et plus léger de la même famille ; Kling l'énumère avec des clips 720p plus courts et sans plusieurs images clés.[1] L'ID de modèle kling-4-0 est le Kling 4.0 complet.
Quelle est la différence entre Kling 4.0 et Kling 3.0 dans l'API ?
Kling 4.0 créez des clips jusqu'à 30 secondes, accepte des images clés, des références vidéo et audio, et peut modifier ou prolonger une vidéo ; le son est toujours activé. Kling 3.0 créez des clips de 3 à 15 secondes, offre la 4K, des prompts multi-plan et des éléments nommés, et a un commutateur de son. Le guide API Kling 3.0 couvre ses champs. Kling a annoncé 4.0 avec sa durée de 30 secondes, 10 images clés et son stéréo le 30 septembre 2026.[2]
Pouvez-vous annuler une tâche ?
Non. Une fois acceptée, une tâche s'exécutez jusqu'à son achèvement ou son échec. Les tâches échouées ne sont pas facturées.



