Kuaishou
Kling 2.5
kling-2.5-turbo/image-to-video
Modèle image-vers-vidéo lancé par Kuaishou, remarquable par la fluidité du mouvement et la cohérence des personnages, prenant en charge les prompts négatifs et le réglage CFG, adapté à la génération de courts métrages à plans très dynamiques
Essayer kling-2.5-turbo/image-to-video
Entrée
Créations
Voir toutes les créationsSortie
videoTarifs
kling-2.5-turbo/image-to-video per second
| Prix unitaire | $0.060 |
|---|
Présentation
kling-2.5-turbo/image-to-video est un modèle dédié aux tâches de génération de vidéo à partir d'images : il prend une ou deux images comme première image et, éventuellement, comme dernière image, et les combine à une invite textuelle pour générer une courte vidéo de 5 ou 10 secondes. Il prend en charge les invites négatives ainsi qu'un réglage de 0 à 1 de la force de suivi de l'invite, et le format d'image peut être choisi selon le mode une ou deux images. Il convient aux développeurs qui souhaitent transformer une image statique en un clip animé et contrôler le contenu de l'image via des paramètres.
Points clés
- Pilotage par deux images (première et dernière) — vous pouvez fournir une première image ou y ajouter une dernière image, afin que la vidéo démarre sur l'image indiquée et transite vers l'image finale spécifiée.
- Force de suivi de l'invite réglable — cfg_scale, entre 0 et 1, ajuste le degré de suivi de la description textuelle par la vidéo, ce qui permet d'arbitrer entre liberté créative et fidélité stricte.
- Invite négative pour écarter les éléments indésirables — prend en charge une invite négative de 2496 caractères maximum, destinée à supprimer les contenus que vous ne souhaitez pas voir apparaître à l'image.
Capacités
Entrée de la première image et, en option, de la dernière image : image_urls accepte de 1 à 2 URL d'images, aux formats jpeg/png/webp, chacune d'une taille maximale de 10 Mo ; lorsque deux images sont fournies, une transition de la première à la dernière image est générée.
Choix de la durée et du format d'image : duration peut valoir 5 ou 10 secondes ; en mode une image, les formats pris en charge sont 16:9, 9:16, 1:1, 4:3, 3:4 et 21:9 ; en mode deux images, ils sont limités à 16:9, 9:16 et 1:1.
Invite et invite négative : prompt est obligatoire, avec une longueur maximale de 2500 caractères, pour décrire les actions du sujet, les changements d'environnement et les mouvements de caméra ; negative_prompt peut atteindre 2496 caractères et sert à exclure les contenus non souhaités.
Réglage du degré de suivi : cfg_scale prend une valeur de 0 à 1 ; plus la valeur est élevée, plus la vidéo suit fidèlement la description textuelle, ce qui permet d'ajuster l'adéquation du résultat généré aux besoins du plan.
Cas d'usage
- Créateurs de publicités et de films produits : une image de produit + une description d'action — transformez une image de produit statique en un court clip avec mouvement de caméra, pour des contenus animés dans des vidéos de marque ou de commerce en ligne.
- Prévisualisation en amont de productions audiovisuelles : images conceptuelles + première et dernière images spécifiées — verrouillez les images de début et de fin avec deux images conceptuelles et générez un clip de transition servant de storyboard ou de prévisualisation conceptuelle.
- Gestion de contenus pour les réseaux sociaux : image verticale + invite courte — convertissez une image en une courte vidéo verticale de 5 ou 10 secondes au format 9:16, directement utilisable pour une publication sur les plateformes sociales.
Limites et conseils de choix
La durée maximale d'une génération est de 10 secondes, ce qui ne convient pas à la production directe de vidéos longues ; en mode deux images, seuls les formats 16:9, 9:16 et 1:1 sont pris en charge, tandis qu'en mode une image, le traitement de secours peut suivre le ratio de l'image d'origine sans garantir une correspondance exacte avec les dimensions demandées. Les images WebP ne sont pas converties automatiquement et certains traitements de secours n'acceptent que jpeg/png. La qualité de génération dépend fortement de la rédaction de l'invite et du réglage de cfg_scale. Si vous souhaitez générer une vidéo directement à partir de texte, il convient de choisir un modèle texte-vers-vidéo de la même famille.
Nouveautés
Voir le journal des modifications →- Nouveau modèle Ajout de la documentation kling-2.5-turbo/text-to-video
- Nouveau modèle Nouvelle documentation des modèles vidéo : kling-2.5-turbo/image-to-video ( piloté par la première image, 5 secondes fixes en 1080p, en option…
Créer une tâche de génération
https://api.hiapi.ai/v1/tasks En-têtes
AuthorizationstringRequisClé API du compte. Requise sur chaque requête. Exemple : Bearer YOUR_HIAPI_API_KEY. Obtenir une clé API
Content-TypestringOptionnelLe corps de la requête est toujours analysé en JSON ; s'il est envoyé, seul application/json (charset facultatif) est accepté — toute autre valeur renvoie 415. Exemple : application/json.
Idempotency-KeystringOptionnelClé d'idempotence, jusqu'à 255 octets. Les reprises avec la même clé du même compte ne créent la tâche qu'une seule fois ; les rejeux renvoient le taskId d'origine.
En cas de timeout réseau ou de relance automatique du client, la même clé ne crée la tâche qu'une seule fois, sans double facturation (portée = le compte de la clé API). Utilisez un identifiant métier unique (ex. "order-42") ; les rejeux renvoient le taskId d'origine et les clés expirent 24 h après la première requête. La matrice complète des scénarios est dans la présentation de l'API asynchrone unifiée.
Corps
modelstringRequisValeur fixe actuelle : kling-2.5-turbo/image-to-video
routestringOptionnelValeur fixe actuelle : default
inputobjectRequis
Objet de paramètres métier pour kling-2.5-turbo/image-to-video et la route default — voir le tableau des paramètres ci-dessous.
promptstringRequisminLength 1maxLength 2500Texte d'invite décrivant les actions du sujet, les changements d'environnement et les mouvements de caméra, qui détermine l'orientation du contenu de la vidéo générée.
durationintegerOptionnelDéfaut: 5min 5max 10Sélectionnez le nombre de secondes de la vidéo générée, en nombre entier, par défaut 5.
510cfg_scalenumberOptionnelmin 0max 1Ajustez le degré de respect de la vidéo envers la description textuelle, sous forme de valeur numérique ; plus la valeur est élevée, plus la vidéo adhère au texte d'invite.
image_urlsarrayRequisminItems 1maxItems 2Tableau d'URL d'images pour la première image et éventuellement la dernière image, prenant en charge jpeg/png/webp, 10 Mo maximum par image ; le traitement de secours partiel n'accepte que jpeg/png, WebP n'est pas converti automatiquement, et avec deux images, seuls les formats 16:9, 9:16 ou 1:1 sont pris en charge.
Array [ string ]
aspect_ratiostringOptionnelDéfaut: "16:9"Ratio d'image de la vidéo, par défaut 16:9 ; lors du traitement de secours, une image unique peut suivre le ratio de l'image d'origine, sans garantie de correspondance exacte avec les dimensions demandées ; lorsque image_urls est fourni, seuls 16:9, 9:16 ou 1:1 sont pris en charge.
16:99:161:14:33:421:9negative_promptstringOptionnelmaxLength 2496Contenu que vous ne souhaitez pas voir apparaître dans la vidéo, sous forme de chaîne de caractères, 2496 caractères maximum.
callbackobjectOptionnel
Configuration de notification d'état terminal. Sans elle, aucun callback — interrogez la tâche vous-même.
Fournissez callback.url à la création et HiAPI envoie un POST à votre service à l'état terminal — plus besoin de polling. Le corps du rappel reprend la structure du détail de tâche ; vérification de signature, relances et idempotence sont décrits dans la présentation de l'API asynchrone unifiée.
urlstringRequisObligatoire si callback est présent. Un POST est envoyé vers cette URL à l'état terminal ; doit être une URL http(s) valide.
whenstringOptionnelDéfaut: "final"Seul final est pris en charge pour l'instant — notifié sur success et fail.
finalstoragestringOptionnelDéfaut: "temp"Niveau de stockage des artefacts : temp (par défaut, ~7 jours) ou persistent (long terme, facturé au volume). Solde insuffisant ou dépassement de limite ⇒ rétrogradation silencieuse en temp ; le niveau effectif figure dans la réponse de détail.
temppersistentExemples de requête
# Soumet une tâche asynchrone ; renvoie immédiatement un taskId (n'attend pas la génération)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-2.5-turbo/image-to-video",
"input": {
"prompt": "…",
"duration": 5,
"image_urls": "…",
"aspect_ratio": "16:9"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "kling-2.5-turbo/image-to-video",
input: {
"prompt": "…",
"duration": 5,
"image_urls": "…",
"aspect_ratio": "16:9"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "kling-2.5-turbo/image-to-video",
"input": {
"prompt": "…",
"duration": 5,
"image_urls": "…",
"aspect_ratio": "16:9"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obtenir le détail de la tâche
https://api.hiapi.ai/v1/tasks/:id Champs de réponse
taskIdstringRequisIdentifiant de tâche, toujours préfixé tk-hiapi-.
modelstringRequisNom complet résolu du modèle. Les tâches envoyées avec le paramètre route renvoient base@route (ex. gpt-image-2/text-to-image@ext) ; sinon identique au nom fourni.
routestringOptionnelPrésent uniquement si le paramètre route explicite a été utilisé ; renvoie la valeur soumise.
statusstringRequisStatut de la tâche.
queued En file, pas encore démarrée.
handling En cours de traitement.
archiving Traitement terminé, préparation des artefacts.
success Terminal : terminé, artefacts disponibles (output renvoyé).
fail Terminal : échec (error renvoyé).
Après soumission, suivez status : success et fail sont terminaux, le reste non terminal. Interrogez toutes les 1–3 s jusqu'à l'état terminal. En cas de succès, téléchargez les artefacts via output[].url et transférez-les avant expireAt ; pour une conservation longue durée, indiquez storage: "persistent" à la création.
creatednumberRequisDate de création de la tâche (secondes Unix).
completednumberRequisSecondes Unix de l'état terminal ; 0 tant que non terminal.
outputarrayOptionnel
Présent uniquement si status == success. Liste d'artefacts — toujours un tableau ; une tâche peut renvoyer plusieurs types à la fois (ex. video + first_frame).
Array [ object ]
Éléments du tableau
urlstringRequisURL de l'artefact, téléchargeable directement.
typestringRequisValeurs possibles actuelles : video, image, audio, first_frame, last_frame, thumbnail ; d'autres pourront s'ajouter.
expireAtnumberRequisSecondes Unix de disponibilité de l'artefact ; téléchargez ou transférez avant l'expiration.
errorobjectOptionnel
Présent uniquement si status == fail.
codestringRequisCode d'erreur métier.
messagestringRequisDescription de l'erreur.
Exemples de réponse
Succès
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} En cours (non terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Échec
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
Voir tous les articles →-
Tutoriel
Comment utiliser kling-4.0/text-to-video via l'API HiAPI : curl, Python et un exemple de requête fonctionnel
Guide pratique pour les développeurs : prompts cinématographiques, audio synchronisé, interrogation asynchrone et téléchargement des sorties
-
Tutoriel
Comment appeler hailuo-2.3/text-to-video via l'API HiAPI : curl, Python et exemples de requêtes exécutables
-
Tutoriel
Comment appeler hailuo-2.3-fast/image-to-video via l'API HiAPI : curl et Python en pratique
La première requête exploitable du palier image-vers-vidéo rapide et économique — de l'ID du modèle au téléchargement du MP4
-
Tutoriel
Comment appeler kling-4.0/image-to-video sur HiAPI : curl, Python et interrogation périodique
-
Tutoriel
Tutoriel pour kandinsky-6.0-pro/image-to-video sur HiAPI : curl + Python
Lancer une requête image-vers-vidéo exploitable sur HiAPI : de l'envoi de la première image à l'interrogation asynchrone jusqu'au téléchargement final
-
Tutoriel
Utiliser Kandinsky 6.0 Pro texte-vers-vidéo sur HiAPI : tutoriel curl et Python
Démonstration pratique axée sur la requête : construire l'appel du prompt au clip vidéo, soumettre la requête, interroger l'état d'achèvement et télécharger le résultat
Modèles associés
Voir tous les modèles →Même type
-
Gemini Omni 1.1 Flash Google $0.450 /vidéo -
Creatify Boreal Creatify $0.015 /seconde -
Runway Gen 4.5 Runway $0.172 /seconde -
FLUX 3 Max Black Forest Labs $0.061 /seconde -
Veo 3.1 Lite Google $0.060 /seconde -
Seedance 2.5 ByteDance $0.121 /seconde -
Kling 3.0 Kuaishou $0.100 /seconde -
HeyGen Avatar V HeyGen $0.150 /seconde -
HeyGen Avatar IV HeyGen $0.150 /seconde -
LTX 2.5 Fast Lightricks $0.086 /seconde -
Gemini Omni Google -- -
PixVerse V6 PixVerse $0.036 /seconde




