Passer au contenu principal
Cet article présente une documentation sur l’intégration de l’API de génération de mouvement Kling, qui permet de générer des vidéos officielles de Kling en entrant des paramètres personnalisés.

Processus de demande

Pour utiliser l’API, vous devez d’abord vous rendre sur la page correspondante de l’API de génération de mouvement Kling pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué dans l’image ci-dessous : Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de la première demande, un quota gratuit sera offert, vous permettant d’utiliser l’API gratuitement.

Utilisation de base

Tout d’abord, comprenons la méthode d’utilisation de base, qui consiste à entrer un mot-clé prompt, une image de référence image_url et un lien vidéo de référence video_url, ce qui vous permettra d’obtenir le résultat traité. Ensuite, nous devons également entrer le modèle mode, qui comprend principalement les modèles std et pro, comme indiqué ci-dessous :

Nous pouvons voir ici que nous avons défini les en-têtes de requête, y compris :
  • accept : le format de réponse souhaité, ici rempli avec application/json, c’est-à-dire au format JSON.
  • authorization : la clé d’API pour appeler l’API, que vous pouvez sélectionner directement après la demande.
De plus, nous avons défini le corps de la requête, y compris :
  • image_url : image de référence, les personnages, arrière-plans et autres éléments du vidéo généré sont basés sur cette image.
  • video_url : lien d’accès à la vidéo de référence. Les mouvements des personnages dans la vidéo générée seront conformes à ceux de la vidéo de référence.
  • mode : mode de génération de la vidéo, principalement les modes standard std et rapide pro.
  • keep_original_sound : option pour conserver le son original de la vidéo, valeurs énumérées : yes, no.
  • character_orientation : orientation des personnages dans la vidéo générée, pouvant être choisie pour correspondre à l’image ou à la vidéo, valeurs énumérées : image, video.
  • prompt : mot-clé.
  • callback_url : URL pour recevoir le résultat.
Après avoir fait votre sélection, vous pouvez constater que le code correspondant a également été généré à droite, comme indiqué dans l’image ci-dessous :

Cliquez sur le bouton « Try » pour effectuer un test, comme montré ci-dessus, et nous avons obtenu le résultat suivant :
{
  "success": true,
  "video_id": "842578800134742051",
  "video_url": "https://v4-fdl.kechuangai.com/ksc2/yGPGHvUVDQEzDCs6tC0rYIbd_JwWNFaF8BEYAlw_xVcWX72xFuIUVqB_Hp5Sa7YEijI-yXqfKI92WW7bmyeCtpMjSOImlOFpQCmMUa-9iojt_ifXJnex_tvNkA0ZlJmuJLpeOfvX3j8d9oeeWgLeU3ftzBjQq1g9OC9FU92OfjRQLUTSzfWRzkhzirV32BT-BwfxgqJKsUD-WHxjqCJmOw.mp4?cacheKey=ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQSsAHtyCrKxB23NXn5ddMedV5Mw4pp_kOk_TRbCVA-wO9LJZuga8_KxXCzhw6bU3hS1V5PpNoSTxSkm_E80i5U1PkJ5d444cjPvoIq2VboPqCip2QbsoiVMu6CuGP7tB7fStLbezBNA4lQtHeSVPxWTE7Hy0wbJ33tKlf-X_-1ad3u0cyHfT_8EroD4iYZ1ZVasuYxAKjcdmbbVZ7NlDK9rqyI5euyz-70-M-QM5Lk6l88SRoSS2Y9drB8Z4ednHxTIh7XZcnaIiB5Xf4Mv8Rc51nUyIC5lKp02LP7oViCg6OaAhR4ynNJkCgFMAE&x-kcdn-pid=112757&pkey=AAX8ukavvkZsIz-IUg2pTvMOAV7LVItIdg_5TUYhGA1YINT8x-SR7rXY7BWLKqspLTYIjK7C0SjbXtX25Lm4_sx2V229AIyfVzjrlQQ7IjPsxvAv9cTG72YN0TPSjVowBZQ",
  "duration": "5.066",
  "state": "succeed",
  "task_id": "363c7a84-e880-472e-a4d4-098e50cfc292"
}
Le résultat de retour contient plusieurs champs, décrits comme suit :
  • success, l’état de la tâche de génération de vidéo.
  • task_id, l’ID de la tâche de génération de vidéo.
  • video_id, l’ID de la vidéo de la tâche de génération de vidéo.
  • video_url, le lien de la vidéo de la tâche de génération de vidéo.
  • duration, la durée de la vidéo de la tâche de génération de vidéo.
  • state, l’état de la tâche de génération de vidéo.
Nous pouvons voir que nous avons obtenu des informations vidéo satisfaisantes, et nous n’avons qu’à récupérer la vidéo Kling générée à partir de l’adresse du lien vidéo dans le résultat data. De plus, si vous souhaitez générer le code d’intégration correspondant, vous pouvez le copier directement, par exemple, le code CURL est le suivant :
curl -X POST 'https://api.acedata.cloud/kling/motion' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image_url": "https://sourceyoya.wenge.com/2025/06/03/683e9f76e4b0684509ab1aca.jpg",
  "video_url": "https://cdn.acedata.cloud/odwfm5.mp4",
  "prompt": "Rendre l'image vivante",
  "mode": "std",
  "character_orientation": "image"
}'

Rappel asynchrone

Étant donné que le temps de génération de l’API de génération de mouvement Kling est relativement long, environ 1 à 2 minutes, si l’API ne répond pas pendant longtemps, la requête HTTP maintiendra la connexion, entraînant une consommation supplémentaire de ressources système. Par conséquent, cette API propose également un support de rappel asynchrone. Le processus global est le suivant : lorsque le client initie une demande, il spécifie un champ callback_url supplémentaire. Après que le client ait lancé la demande API, l’API renverra immédiatement un résultat contenant un champ d’information task_id, représentant l’ID de la tâche actuelle. Lorsque la tâche est terminée, le résultat de la vidéo générée sera envoyé au callback_url spécifié par le client sous forme de POST JSON, incluant également le champ task_id, permettant ainsi de relier le résultat de la tâche par ID. Voyons maintenant un exemple pour comprendre comment procéder. Tout d’abord, le rappel Webhook est un service capable de recevoir des requêtes HTTP, et les développeurs doivent le remplacer par l’URL de leur propre serveur HTTP. Pour des raisons de démonstration, nous utiliserons un site Web de Webhook public, https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme indiqué dans l’image ci-dessous : Copiez cette URL, elle peut être utilisée comme Webhook, l’exemple ici est https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3. Ensuite, nous pouvons définir le champ callback_url sur l’URL Webhook ci-dessus, tout en remplissant les paramètres correspondants, le contenu spécifique est comme indiqué dans l’image :

En cliquant sur exécuter, vous pouvez constater que vous obtiendrez immédiatement un résultat, comme suit :
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Après un moment, nous pouvons observer le résultat de la vidéo générée sur https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, comme indiqué dans l’image : Le contenu est le suivant :
{
    "success": true,
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
    "duration": "5.1",
    "state": "succeed",
    "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
On peut voir qu’il y a un champ task_id dans le résultat, les autres champs sont similaires à ceux mentionnés ci-dessus, ce champ permet d’associer les tâches.

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API Kling Motion Generation pour réaliser les fonctionnalités de contrôle de mouvement officielles de Kling. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.