# API Kling 3.0 Motion Control Référence complète de l’API de génération vidéo Kling 3.0 Motion Control de Kuaishou. ## Variantes du modèle Cette API prend en charge une variante du modèle : | Modèle | ID | Description | |-------|-----|-------------| | **Kling 3.0 Motion Control** | `kling-3.0-motion-control` | Génération vidéo à partir d’une consigne textuelle, d’une image de référence et d’une vidéo de référence | ## Kling 3.0 Motion Control ### Point de terminaison ``` POST /api/v1/video/task ``` ### Paramètres de la requête #### Obligatoires | Paramètre | Type | Description | |-----------|------|-------------| | `model_name` | string | Doit être `"kling-3.0-motion-control"` | | `prompt` | string | Consigne de génération vidéo, jusqu’à 5000 caractères | | `images` | string[] | Exactement une URL d’image de référence. Formats pris en charge : `.jpg`, `.jpeg` et `.png` ; la taille du fichier ne doit pas dépasser 50 Mo. La largeur et la hauteur doivent chacune être d’au moins 300 px, avec un rapport largeur/hauteur de l’image compris entre 1:2.5 et 2.5:1 | | `videos` | string[] | Exactement une URL de vidéo de référence. Formats pris en charge : `.mp4` et `.mov` ; la taille du fichier ne doit pas dépasser 100 Mo. La largeur et la hauteur doivent chacune être comprises entre 340 et 3850 px, bornes incluses. La durée doit être d’au moins 3 secondes ; le maximum dépend de `character_orientation` | | `character_orientation` | string | Obligatoire, sans valeur par défaut. `"image"` : suit l’orientation du personnage dans l’image de référence ; la vidéo de référence doit durer entre 3 et 10 secondes. `"video"` : suit l’orientation du personnage dans la vidéo de référence ; la vidéo de référence doit durer entre 3 et 30 secondes. Les deux intervalles de durée incluent leurs bornes | | `resolution` | string | Résolution de sortie : `"720p"` ou `"1080p"`. Obligatoire, sans valeur par défaut | #### Facultatifs | Paramètre | Type | Description | |-----------|------|-------------| | `keep_original_sound` | boolean | Indique s’il faut conserver le son d’origine de la vidéo de référence. Accepte `true` ou `false` ; la valeur par défaut est `true` | La durée de sortie correspond à celle de la vidéo source. Le paramètre `duration` n’est pas pris en charge. Le rapport largeur/hauteur de sortie est déterminé par les médias d’entrée, et `aspect_ratio` n’est pas pris en charge. Le fournisseur en amont n’a pas précisé quelle entrée détermine le rapport largeur/hauteur de sortie ni la règle exacte de sélection. La facturation repose sur la durée de la vidéo source arrondie à la seconde entière la plus proche et sur la résolution de sortie sélectionnée. Par exemple, 5,4 secondes sont facturées comme 5 secondes, et 5,5 secondes comme 6 secondes. ### Exemple de requête Remplacez les URL des médias de l’exemple par celles de vos propres fichiers respectant les exigences ci-dessus. ```javascript const response = await fetch('https://api.flaq.ai/api/v1/video/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'kling-3.0-motion-control', prompt: 'Animate the character in the reference image using the dance movements from the reference video', images: ['https://example.com/character.jpg'], videos: ['https://example.com/dance-reference.mp4'], character_orientation: 'video', resolution: '720p', keep_original_sound: true }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Format de réponse ### Réponse initiale Renvoie un `task_id` pour les interrogations périodiques : ```json { "code": 0, "message": "success", "data": { "task_id": "{task_id}", "response_url": "https://api.flaq.ai/api/v1/video/{task_id}", "task_status": "submitted" } } ``` Effectuez des interrogations périodiques avec `GET /api/v1/video/{task_id}` pour vérifier l’état et récupérer la vidéo générée. ### Valeurs d’état - `submitted` : Tâche acceptée et en attente de traitement - `processing` : Génération vidéo en cours - `succeed` : Génération vidéo terminée - `failed` : Échec de la génération vidéo ## Bonnes pratiques 1. **Médias de référence** : Fournissez exactement une image et une vidéo, en vérifiant leurs formats, tailles de fichier et dimensions avant l’envoi 2. **Orientation** : Vérifiez à nouveau la durée de la vidéo de référence lorsque vous modifiez `character_orientation`, en particulier lorsque vous sélectionnez `"image"` 3. **Son d’origine** : Définissez `keep_original_sound` sur `false` pour désactiver la conservation du son d’origine de la vidéo de référence ; si vous omettez ce paramètre, le son est conservé