> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Kling-V3 Contrôle de mouvement

> - Kling-V3 Motion Control (kling-v3-motion-control) prend en charge la génération de mouvement pilotée par **image de référence + vidéo de référence**
- Le système extrait la trajectoire de mouvement de la vidéo de référence et l'applique au personnage/objet de l'image de référence, générant une nouvelle vidéo avec des mouvements cohérents avec la vidéo de référence
- La durée de la vidéo dépend de `character_orientation` : `image` max. 10 secondes, `video` max. 30 secondes, minimum 3 secondes
- Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour [effectuer une requête](/fr/api-manual/task-management/get-task-detail)
- Le lien de la vidéo générée est valide pendant 24 heures, veuillez le sauvegarder rapidement



## OpenAPI

````yaml fr/api-manual/video-series/kling/kling-v3-motion-control.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: API kling-v3-motion-control
  description: Créer des tâches de contrôle de mouvement vidéo en utilisant des modèles IA
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Génération vidéo
    description: Interfaces liées à la génération vidéo par IA
paths:
  /v1/videos/generations:
    post:
      tags:
        - Génération vidéo
      summary: kling-v3-motion-control API
      description: >-
        - Kling-V3 Motion Control (kling-v3-motion-control) prend en charge la
        génération de mouvement pilotée par **image de référence + vidéo de
        référence**

        - Le système extrait la trajectoire de mouvement de la vidéo de
        référence et l'applique au personnage/objet de l'image de référence,
        générant une nouvelle vidéo avec des mouvements cohérents avec la vidéo
        de référence

        - La durée de la vidéo dépend de `character_orientation` : `image` max.
        10 secondes, `video` max. 30 secondes, minimum 3 secondes

        - Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour
        [effectuer une requête](/fr/api-manual/task-management/get-task-detail)

        - Le lien de la vidéo générée est valide pendant 24 heures, veuillez le
        sauvegarder rapidement
      operationId: createVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              basic:
                summary: Contrôle de mouvement basique
                value:
                  model: kling-v3-motion-control
                  prompt: A girl dancing gracefully
                  image_urls:
                    - https://example.com/character.jpg
                  video_urls:
                    - https://example.com/dance-reference.mp4
                  quality: 720p
                  model_params:
                    character_orientation: image
              hd_no_sound:
                summary: Haute définition + sans son d'origine
                value:
                  model: kling-v3-motion-control
                  prompt: A robot performing martial arts
                  image_urls:
                    - https://example.com/robot.png
                  video_urls:
                    - https://example.com/martial-arts.mp4
                  quality: 1080p
                  model_params:
                    character_orientation: video
                    keep_sound: false
              with_element:
                summary: Avec contrôle d'élément principal
                value:
                  model: kling-v3-motion-control
                  image_urls:
                    - https://example.com/person.jpg
                  video_urls:
                    - https://example.com/walking.mp4
                  model_params:
                    character_orientation: video
                    element_list:
                      - element_id: '123456789'
      responses:
        '200':
          description: Tâche de génération vidéo créée avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Erreur de paramètres de requête
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Non authentifié, token invalide ou expiré
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Quota insuffisant, rechargement nécessaire
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Accès non autorisé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: kling-v3-motion-control'
                  type: invalid_request_error
        '429':
          description: Limite de fréquence de requêtes dépassée
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Erreur interne du serveur
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - image_urls
        - video_urls
        - model_params
      properties:
        model:
          type: string
          description: Nom du modèle de génération vidéo
          enum:
            - kling-v3-motion-control
          default: kling-v3-motion-control
          example: kling-v3-motion-control
        image_urls:
          type: array
          items:
            type: string
            format: uri
          description: >-
            Tableau d'URLs d'images de référence, utilisé pour fournir
            l'apparence du personnage/objet


            **Remarques :**

            - Fournir une image de référence

            - Taille de l'image : ne dépassant pas `10 Mo`

            - Formats de fichiers pris en charge : `.jpg`, `.jpeg`, `.png`

            - Dimensions de l'image : largeur et hauteur ≥ `300px`, rapport
            largeur/hauteur entre `1:2.5` et `2.5:1`

            - L'URL de l'image doit être directement accessible par le serveur
          example:
            - https://example.com/character.jpg
        video_urls:
          type: array
          items:
            type: string
            format: uri
          description: >-
            Tableau d'URL de vidéos de référence pour fournir la trajectoire de
            mouvement


            **Note :**

            - Fournir une vidéo de référence

            - Durée de la vidéo : `3` à `30` secondes

            - Taille de la vidéo : jusqu'à `100MB`

            - Dimensions de la vidéo : largeur et hauteur entre `340px` et
            `3850px`

            - Éviter les coupes, les mouvements rapides et les changements de
            scène

            - L'URL de la vidéo doit être directement accessible par le serveur
          example:
            - https://example.com/dance-reference.mp4
        prompt:
          type: string
          description: >-
            Prompt textuel (optionnel), utilisé pour guider le contenu généré


            **Remarques :**

            - Maximum `2500` caractères

            - Peut être laissé vide, le modèle générera automatiquement en
            fonction de l'image et de la vidéo de référence
          example: A girl dancing gracefully
          maxLength: 2500
        quality:
          type: string
          description: |-
            Niveau de résolution

            **Description :**
            - `720p` : qualité standard (std)
            - `1080p` : qualité haute définition (pro)
          enum:
            - 720p
            - 1080p
          default: 720p
          example: 720p
        model_params:
          type: object
          required:
            - character_orientation
          description: >-
            Paramètres spécifiques au modèle (obligatoire), utilisés pour la
            configuration du contrôle de mouvement
          properties:
            character_orientation:
              type: string
              description: >-
                Contrôle la direction vers laquelle fait face le personnage
                généré.


                **Valeurs :**

                - `image` : Le personnage fait face dans la même direction que
                l'image de référence (max. 10 secondes)

                - `video` : Le personnage fait face dans la même direction que
                la vidéo de référence (max. 30 secondes)


                **Note :**

                - Lors de l'utilisation de `element_list`, seul `video` est pris
                en charge
              enum:
                - image
                - video
              example: image
            element_list:
              type: array
              description: >-
                Liste des éléments principaux, utilisée pour spécifier le
                personnage/objet à contrôler


                **Remarques :**

                - Maximum `1` élément principal (limitation de Motion Control)

                - `element_id` : ID de l'élément principal

                - Seuls les éléments créés via le type de référence
                `video_refer` sont pris en charge (`image_refer` n'est pas
                compatible)
              items:
                type: object
                properties:
                  element_id:
                    type: string
                    description: ID de l'élément principal
                required:
                  - element_id
              maxItems: 1
            keep_sound:
              type: boolean
              description: |-
                Conserver le son d'origine de la vidéo de référence

                **Description :**
                - `true` : conserver le son d'origine (par défaut)
                - `false` : muet
              default: true
              example: true
            watermark_info:
              type: object
              description: Configuration du filigrane
              properties:
                enabled:
                  type: boolean
                  description: Activer ou non le filigrane
        callback_url:
          type: string
          description: >-
            Adresse de rappel HTTPS après l'achèvement de la tâche


            **Déclenchement du rappel :**

            - Déclenché lorsque la tâche est terminée (completed), échouée
            (failed) ou annulée (cancelled)

            - Envoyé après la confirmation de la facturation


            **Restrictions de sécurité :**

            - Seul le protocole HTTPS est pris en charge

            - Le rappel vers les adresses IP internes est interdit

            - La longueur de l'URL ne doit pas dépasser `2048` caractères


            **Mécanisme de rappel :**

            - Délai d'expiration : `10` secondes

            - Maximum `3` tentatives en cas d'échec

            - Le format du corps de la réponse de rappel est identique à celui
            retourné par l'interface de requête de tâche

            - Un code de statut 2xx de l'adresse de rappel est considéré comme
            un succès, les autres codes de statut déclenchent une nouvelle
            tentative
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Horodatage de création de la tâche
          example: 1757169743
        id:
          type: string
          description: ID de la tâche
          example: task-unified-1757169743-7cvnl5zw
        model:
          type: string
          description: Nom du modèle réellement utilisé
          example: kling-v3-motion-control
        object:
          type: string
          enum:
            - video.generation.task
          description: Type spécifique de la tâche
        progress:
          type: integer
          description: Pourcentage de progression de la tâche (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Statut de la tâche
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Informations détaillées de la tâche vidéo
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Type de sortie de la tâche
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Informations sur l'utilisation et la facturation
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identifiant du code d'erreur
            message:
              type: string
              description: Description de l'erreur
            type:
              type: string
              description: Type d'erreur
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Indique si la tâche peut être annulée
          example: true
        estimated_time:
          type: integer
          description: Temps estimé d'achèvement (secondes)
          minimum: 0
          example: 300
        video_duration:
          type: integer
          description: >-
            Durée de la vidéo (secondes), dépend de `character_orientation` :
            `image` max. 10 secondes, `video` max. 30 secondes
          example: 8
    VideoUsage:
      type: object
      description: Informations sur l'utilisation et la facturation
      properties:
        billing_rule:
          type: string
          description: Règle de facturation
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: Nombre estimé de crédits consommés
          minimum: 0
          example: 408240
        user_group:
          type: string
          description: Catégorie du groupe d'utilisateurs
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ## Toutes les interfaces nécessitent une authentification par Bearer
        Token ##


        **Obtenir une clé API :**


        Visitez la [page de gestion des clés
        API](https://evolink.ai/dashboard/keys) pour obtenir votre clé API


        **Ajoutez dans l'en-tête de la requête :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````