Introduction
Kling 2.5 Turbo Image to video anime une image de départ en un clip de 5 ou 10 secondes en 1080p, avec une vraie piste audio générée dans la même passe. Ajoutez une image de fin optionnelle (last_image_url) pour verrouiller la fin ; le format d’image de sortie suit celui de l’image que vous envoyez, l’une comme l’autre en JPEG ou PNG uniquement.
Choisissez un mode Kling 2.5 Turbo selon votre matériau de départ
| Ce que vous avez au départ | Mode |
|---|---|
| une scène écrite | Kling 2.5 Turbo Texte vers vidéo |
| une image de départ validée | Kling 2.5 Turbo Image vers vidéo |
Fonctionnalités et points forts
Une image de fin optionnelle
last_image_url n’est pas obligatoire, mais quand elle est définie, le clip est construit pour atterrir exactement sur cette image plutôt que là où le modèle décide de s’arrêter. Rien ne verrouille le milieu du clip, donc gardez les deux images proches en lumière, pose et cadrage pour le résultat le plus fluide.
Le son arrive avec l’image
La piste audio est générée dans la même passe que la vidéo — il n’y a pas de champ pour la mettre en sourdine. Écrivez ce à quoi la scène devrait ressembler sonorement dans le prompt, au même endroit où vous écrivez l’action.
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
prompt | Oui | Décrivez seulement ce qui se passe après l’image de départ : l’action et le mouvement de caméra. 1 caractères minimum · 2500 caractères maximum |
image_url | Oui | Image de départ. JPEG ou PNG uniquement. |
last_image_url | Non | Image de fin optionnelle. Quand elle est définie, le clip est construit pour y atterrir ; le milieu n’est pas verrouillé par ailleurs. |
duration_seconds | Non | Secondes entières, 5 ou 10. Détermine le prix. |
negative_prompt | Non | Une courte liste de ce que le clip doit éviter. 500 caractères maximum |
guidance_scale | Non | 0 à 1. Plus élevé colle davantage à votre formulation ; plus bas donne plus de liberté au modèle. |
Tarification
$0.056 / seconde
Facturé à la seconde du clip de sortie en 1080p. Un téléversement que Kling refuse n’est pas facturé.
Cas d’utilisation
Donner vie à une image validée
Partez d’une image fixe que vous appréciez déjà — un portrait, une photo de produit, un concept art — et décrivez seulement ce qui se passe ensuite ; l’image elle-même ne change pas.
Enchaîner les images à travers une scène plus longue
Envoyez la dernière image d’un clip validé comme image de départ du suivant, et utilisez last_image_url sur ce nouveau clip pour atterrir sur une pose précise — utile pour enchaîner plusieurs clips de 5 ou 10 secondes en une seule scène continue.
Guide de prompt et conseils pratiques
Décrivez seulement ce qui change
Le cadre de départ définit déjà le sujet, la garde-robe et le décor — le prompt n’a qu’à dire ce qui se passe ensuite : l’action, le mouvement de caméra et ce que ça donne comme son.
Gardez les deux cadres proches avec last_image_url
Un cadre de fin qui diffère fortement du cadre de départ en pose, en lumière ou en cadrage donne au modèle davantage de travail pour réconcilier l’espace entre les deux, et le milieu peut dériver sur un clip de 10 secondes. Gardez les deux cadres proches et laissez le prompt porter le mouvement entre eux.
Écrivez le son dans la même phrase que le mouvement
Puisque l’audio est généré en même temps que l’image sur chaque clip, décrivez ce qu’un mouvement doit donner comme son juste là où vous décrivez le mouvement lui-même — des pas, du tissu, du vent, un bruit de foule lointain — plutôt que de traiter le son comme une idée ajoutée à la fin du prompt.
Démarrage rapide de l’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "kling/2.5-turbo/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.











