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

# Génération vidéo Hailuo-02

> - Hailuo 02 (MiniMax-Hailuo-02) prend en charge les modes T2V (Text-to-Video), I2V (Image-to-Video) et FLF (First-Last-Frame)
- Détection automatique du mode : 0 image=T2V, 1 image=I2V, 2 images=FLF
- Modèle complet, prend en charge la résolution 512P (mode I2V uniquement)
- Prend en charge 15 commandes de mouvement de caméra comme `[Pan left]`, `[Push in]`, `[Static shot]`
- Traitement asynchrone, utilisez l'ID de tâche retourné pour [interroger le statut](/fr/api-manual/task-management/get-task-detail)
- Les liens vidéo générés sont valides pendant 24 heures, veuillez les enregistrer rapidement



## OpenAPI

````yaml fr/api-manual/video-series/hailuo/hailuo-02-video-generate.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Hailuo 02 API
  description: >-
    Créer des tâches de génération vidéo en utilisant le modèle MiniMax Hailuo
    02, prenant en charge les modes T2V, I2V et FLF
  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: APIs de génération de vidéos IA
paths:
  /v1/videos/generations:
    post:
      tags:
        - Génération vidéo
      summary: Hailuo 02 API
      description: >-
        - Hailuo 02 (MiniMax-Hailuo-02) prend en charge les modes T2V
        (Text-to-Video), I2V (Image-to-Video) et FLF (First-Last-Frame)

        - Détection automatique du mode : 0 image=T2V, 1 image=I2V, 2 images=FLF

        - Modèle complet, prend en charge la résolution 512P (mode I2V
        uniquement)

        - Prend en charge 15 commandes de mouvement de caméra comme `[Pan
        left]`, `[Push in]`, `[Static shot]`

        - Traitement asynchrone, utilisez l'ID de tâche retourné pour
        [interroger le statut](/fr/api-manual/task-management/get-task-detail)

        - Les liens vidéo générés sont valides pendant 24 heures, veuillez les
        enregistrer rapidement
      operationId: createVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Texte-vers-vidéo (T2V)
                value:
                  model: MiniMax-Hailuo-02
                  prompt: A beautiful sunset over the ocean [Static shot]
      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: Paramètres de requête invalides
          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é, jeton 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, recharge requise
          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 refusé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: MiniMax-Hailuo-02'
                  type: invalid_request_error
        '429':
          description: Limite de débit 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
      properties:
        model:
          type: string
          description: Nom du modèle de génération vidéo
          default: MiniMax-Hailuo-02
          example: MiniMax-Hailuo-02
        prompt:
          type: string
          description: >-
            Invite décrivant le contenu vidéo et le mouvement de caméra. Requis
            pour T2V, optionnel pour I2V/FLF. Max 2000 caractères


            **15 commandes de caméra :**

            - Truck: `[Truck left]`, `[Truck right]`

            - Pan: `[Pan left]`, `[Pan right]`

            - Dolly: `[Push in]`, `[Pull out]`

            - Pedestal: `[Pedestal up]`, `[Pedestal down]`

            - Tilt: `[Tilt up]`, `[Tilt down]`

            - Zoom: `[Zoom in]`, `[Zoom out]`

            - Special: `[Shake]`

            - Follow: `[Tracking shot]`

            - Static: `[Static shot]`


            **Utilisation :**

            - Combiné : Plusieurs commandes dans un `[]` s'exécutent
            simultanément, par ex. `[Pan left,Pedestal up]`, max 3 recommandé

            - Séquentiel : Les commandes s'exécutent dans l'ordre du texte, par
            ex. `...slowly [Push in], then quickly [Pull out]`
          example: A young girl gradually grows into an adult woman
          maxLength: 2000
        image_urls:
          type: array
          description: >-
            URL d'images de référence pour les modes I2V et FLF


            **Détection de mode :**

            - 0 image = T2V (Texte vers vidéo)

            - 1 image = I2V (Image vers vidéo)

            - 2 images = FLF (Transition première-dernière image)


            **Exigences :**

            - Taille d'image : max 20MB

            - Formats : JPG, JPEG, PNG, WebP

            - Rapport d'aspect : 2:5 à 5:2

            - Bord court > 300px


            **Remarque FLF :** La résolution vidéo suit la première image, la
            dernière image sera recadrée pour correspondre
          items:
            type: string
            format: uri
          maxItems: 2
          example:
            - https://example.com/first.jpg
            - https://example.com/last.jpg
        quality:
          type: string
          description: |-
            Résolution vidéo

            **Pris en charge par mode :**
            - I2V : 512p, 768p, 1080p
            - T2V : 768p, 1080p
            - FLF : 768p, 1080p

            **Durée et résolution :**
            - 512p : 6s, 10s
            - 768p : 6s, 10s
            - 1080p : 6s uniquement

            Remarque : 512p disponible uniquement en mode I2V
          enum:
            - 512p
            - 768p
            - 1080p
          default: 768p
          example: 768p
        duration:
          type: integer
          description: |-
            Durée de la vidéo (secondes)
            - 6 secondes (par défaut)
            - 10 secondes (non disponible pour 1080p)
          enum:
            - 6
            - 10
          default: 6
          example: 6
        model_params:
          type: object
          description: Paramètres spécifiques au modèle
          properties:
            prompt_optimizer:
              type: boolean
              description: >-
                Optimisation automatique du prompt. Définir sur false pour un
                contrôle précis
              default: true
              example: true
            fast_pretreatment:
              type: boolean
              description: >-
                Activer le prétraitement rapide pour réduire le temps
                d'optimisation
              default: false
              example: true
        callback_url:
          type: string
          description: >-
            URL de rappel HTTPS pour l'achèvement de la tâche


            **Moment du rappel :**

            - Déclenché lorsque la tâche est terminée, échouée ou annulée

            - Envoyé après confirmation de la facturation


            **Restrictions de sécurité :**

            - Protocole HTTPS uniquement

            - Les adresses IP internes sont interdites (127.0.0.1, 10.x.x.x,
            172.16-31.x.x, 192.168.x.x, etc.)

            - 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 après échec (à `1`/`2`/`4` secondes après
            l'échec)

            - Le format de réponse du rappel est cohérent avec l'API de requête
            de tâche

            - Un code de statut 2xx est considéré comme un succès, les autres
            codes 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 tâche
          example: task-unified-1757169743-7cvnl5zw
        model:
          type: string
          description: Nom du modèle utilisé
          example: MiniMax-Hailuo-02
        object:
          type: string
          enum:
            - video.generation.task
          description: Type de tâche
        progress:
          type: integer
          description: 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
    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
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Toutes les API nécessitent une authentification 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


        **Ajouter à l'en-tête de requête :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````