Passer au contenu principal
Cet article présentera des instructions d’intégration de l’API Kling Motion Generation, qui permet de générer des vidéos officielles de Kling en saisissant des paramètres personnalisés.

Processus de demande

Pour utiliser l’API Kling Motion Generation, rendez-vous d’abord sur la console Ace Data Cloud afin d’obtenir votre API Token, à conserver pour une utilisation ultérieure. Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion afin de vous inviter à vous inscrire et à vous connecter, puis vous reviendrez automatiquement sur la page actuelle une fois terminé. Un seul API Token permet d’appeler tous les services de la plateforme, sans avoir besoin d’en demander un séparément pour chaque service. Lors de la première demande, un quota gratuit est offert pour une utilisation d’essai ; lorsque le quota est insuffisant, vous pouvez recharger votre solde commun dans la console.
📘 Documentation complète : Kling Motion Generation API →

Utilisation de base

Commençons par comprendre l’utilisation de base : il suffit de saisir le mot-clé prompt, l’image de référence image_url ainsi que le lien de la vidéo de référence video_url pour obtenir le résultat traité, puis nous devons également saisir le modèle mode, comprenant actuellement principalement les modèles std et pro, dont les détails sont les suivants :

Vous pouvez voir que nous avons ici configuré les Request Headers, notamment :
  • accept : le format de résultat de réponse que vous souhaitez recevoir ; indiquez ici application/json, c’est-à-dire le format JSON.
  • authorization : la clé permettant d’appeler l’API, qui peut être sélectionnée directement dans une liste déroulante après la demande.
Les Request Body suivants sont également configurés :
  • image_url : URL de l’image de référence de l’apparence du personnage. Prend en charge JPG/JPEG/PNG, fichier ≤50MB, largeur et hauteur toutes deux ≥300px, ratio largeur-hauteur de 1:2.5 à 2.5:1 ; le personnage doit clairement montrer le haut du corps ou le corps entier ainsi que la tête.
  • video_url : URL de la vidéo de référence du mouvement. Prend en charge MP4/MOV, fichier ≤100MB, largeur et hauteur de 340 à 3850px, au moins 3 secondes ; durée maximale de 10 secondes lorsque character_orientation=image, et de 30 secondes lorsque character_orientation=video. Il est recommandé d’utiliser une vidéo continue à plan unique où le personnage reste toujours dans le cadre.
  • mode : le mode de génération de la vidéo, comprenant principalement le mode standard std et le mode ultra-rapide pro.
  • keep_original_sound : permet de choisir de conserver ou non le son original de la vidéo, valeurs d’énumération : yes, no.
  • character_orientation : l’orientation du personnage dans la vidéo générée, pouvant correspondre à l’image ou à la vidéo, valeurs d’énumération : image, video.
  • prompt : mot-clé.
  • callback_url : URL nécessitant un résultat de rappel.
  • async : facultatif, lorsque défini sur true, l’interface retourne immédiatement un task_id, sans qu’il soit nécessaire de fournir callback_url, puis le résultat est obtenu par interrogation via l’interface de requête de tâche correspondante.
Après la sélection, vous pouvez constater que le code correspondant est également généré à droite, comme illustré ci-dessous :

Cliquez sur le bouton « Try » pour effectuer un test. Comme illustré ci-dessus, nous obtenons ici le résultat suivant :
Le résultat retourné comporte plusieurs champs, présentés comme suit :
  • success, l’état actuel de la tâche de génération de la vidéo.
  • task_id, l’ID actuel de la tâche de génération de la vidéo.
  • video_id, l’ID de la vidéo de la tâche actuelle de génération de la vidéo.
  • video_url, le lien de la vidéo de la tâche actuelle de génération de la vidéo.
  • duration, la durée de la vidéo de la tâche actuelle de génération de la vidéo.
  • state, l’état de la tâche actuelle de génération de la vidéo.
Vous pouvez voir que nous avons obtenu des informations vidéo satisfaisantes ; il nous suffit d’obtenir la vidéo Kling générée à partir de l’adresse du lien vidéo data dans le résultat. Par ailleurs, 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 :

Rappel asynchrone

Étant donné que le temps de génération de l’API Kling Motion Generation est relativement long, environ 1 à 2 minutes, si l’API ne répond pas pendant longtemps, la requête HTTP maintiendra constamment la connexion, entraînant une consommation supplémentaire de ressources système ; cette API prend donc également en charge les rappels asynchrones. Le processus global est le suivant : lorsque le client lance une requête, il spécifie en supplément un champ callback_url. Après que le client a lancé la requête API, l’API retourne immédiatement un résultat contenant un champ task_id, qui représente l’ID de la tâche actuelle. Une fois la tâche terminée, le résultat de la génération de la vidéo est envoyé au callback_url spécifié par le client sous la forme d’un POST JSON, comprenant également le champ task_id, afin que le résultat de la tâche puisse être associé via l’ID. Découvrons maintenant comment procéder concrètement à travers un exemple. Tout d’abord, le rappel Webhook est un service capable de recevoir des requêtes HTTP ; les développeurs doivent le remplacer par l’URL du serveur HTTP qu’ils ont eux-mêmes mis en place. Afin de faciliter la démonstration, nous utilisons ici un site d’exemple Webhook public https://webhook.site/ ; ouvrez ce site pour obtenir une URL Webhook, comme illustré ci-dessous : Copiez cette URL pour l’utiliser 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 et remplir simultanément les paramètres correspondants ; le contenu spécifique est illustré ci-dessous :

Cliquez sur exécuter, et vous constaterez qu’un résultat est immédiatement obtenu, comme suit :
Après avoir attendu un instant, nous pouvons observer le résultat de la génération de la vidéo sur https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, comme illustré ci-dessous : Le contenu est le suivant :
On peut voir qu’il y a un champ task_id dans le résultat, les autres champs sont similaires à ceux ci-dessus, et ce champ permet d’établir l’association de la tâche.

Gestion des erreurs

Lors de l’appel de l’API, en cas d’erreur, l’API renverra le code d’erreur et les informations correspondants. Par exemple :
  • 400 token_mismatched:Mauvaise requête, possiblement en raison de paramètres manquants ou non valides.
  • 400 api_not_implemented:Mauvaise requête, possiblement en raison de paramètres manquants ou non valides.
  • 401 invalid_token:Non autorisé, jeton d’autorisation non valide ou manquant.
  • 429 too_many_requests:Trop de requêtes, vous avez dépassé la limite de débit.
  • 500 api_error:Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

Conclusion

Grâce à ce document, vous avez appris comment utiliser l’API Kling Motion Generation pour mettre en œuvre la fonctionnalité de contrôle des mouvements officielle de Kling. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, veuillez contacter notre équipe de support technique à tout moment.