> ## 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.

# Minimax H3 Image-to-Video

> - Fournissez au moins `image_start` ou `image_end` ; première image seule, dernière image seule et les deux sont prises en charge
- Durée : `5` à `15` secondes ; seul `2k` est pris en charge
- L’image d’entrée détermine le ratio ; `aspect_ratio` est traité comme `adaptive`
- [Consultez la tâche](/fr/api-manual/task-management/get-task-detail) avec son ID
- Les URL générées restent valides 24 heures



## OpenAPI

````yaml fr/api-manual/video-series/minimax/minimax-h3-image-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: API Minimax H3 Image-to-Video
  description: >-
    API Minimax H3 image-vers-vidéo avec première image, dernière image ou les
    deux
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Generation video
    description: Interfaces de generation video par IA
paths:
  /v1/videos/generations:
    post:
      tags:
        - Generation video
      summary: Minimax H3 Image-to-Video
      description: >-
        - Fournissez au moins `image_start` ou `image_end` ; première image
        seule, dernière image seule et les deux sont prises en charge

        - Durée : `5` à `15` secondes ; seul `2k` est pris en charge

        - L’image d’entrée détermine le ratio ; `aspect_ratio` est traité comme
        `adaptive`

        - [Consultez la tâche](/fr/api-manual/task-management/get-task-detail)
        avec son ID

        - Les URL générées restent valides 24 heures
      operationId: createMinimaxH3ImageToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              first_frame:
                summary: Vidéo avec première image
                value:
                  model: minimax-h3-image-to-video
                  prompt: >-
                    Faire passer progressivement la mise au point du bol de
                    ramen au premier plan vers les personnes à l’arrière-plan.
                    Davantage de vapeur s’élève naturellement pendant que la
                    caméra avance légèrement ; conserver l’identité des
                    personnages et le décor du restaurant.
                  image_start: >-
                    https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
                  duration: 5
                  quality: 2k
              last_frame:
                summary: Vidéo avec dernière image
                value:
                  model: minimax-h3-image-to-video
                  prompt: >-
                    Commencer par un plan large du restaurant et avancer
                    lentement pendant que les personnages discutent
                    naturellement. La vapeur du ramen devient plus visible, puis
                    la vidéo se termine exactement sur la composition et les
                    poses de l’image finale fournie.
                  image_end: >-
                    https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
                  duration: 5
                  quality: 2k
              first_last_frame:
                summary: Vidéo avec première et dernière images
                value:
                  model: minimax-h3-image-to-video
                  prompt: >-
                    Reculer lentement depuis un très gros plan sur l’œil du
                    personnage pour révéler tout le restaurant. Maintenir un
                    mouvement continu et rejoindre précisément la composition de
                    l’image finale.
                  image_start: >-
                    https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
                  image_end: >-
                    https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1920&q=85
                  duration: 8
                  quality: 2k
      responses:
        '200':
          description: Tache de generation video creee avec succes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Erreur de parametres de requete
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Non authentifie, token invalide ou expire
          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 necessaire
          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: Acces non autorise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: >-
                    Token does not have access to model:
                    minimax-h3-image-to-video
                  type: invalid_request_error
        '429':
          description: Limite de frequence de requetes depassee
          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
        - prompt
      properties:
        model:
          type: string
          description: Nom du modele de generation video
          enum:
            - minimax-h3-image-to-video
          default: minimax-h3-image-to-video
          example: minimax-h3-image-to-video
        prompt:
          type: string
          minLength: 1
          description: >-
            Décrivez le mouvement de l’image d’entrée, les changements de caméra
            et le contenu vidéo souhaité.


            **Exigences du prompt :**

            - Obligatoire et non vide

            - Le chinois et l’anglais sont pris en charge

            - Il est recommandé de ne pas dépasser `500` caractères chinois ou
            `1000` mots anglais ; un prompt trop long peut amener le modèle à
            ignorer certains détails


            **Restrictions d’entrée :**

            - Utilisez `image_start` et/ou `image_end` pour fournir les images
            clés

            - `image_urls`, `video_urls` et `audio_urls` ne sont pas pris en
            charge ; leur envoi renvoie une erreur de paramètre
          example: >-
            Faire passer progressivement la mise au point du bol de ramen au
            premier plan vers les personnes à l’arrière-plan. Davantage de
            vapeur s’élève naturellement pendant que la caméra avance légèrement
            ; conserver l’identité des personnages et le décor du restaurant.
        image_start:
          type: string
          format: uri
          description: >-
            URL HTTP(S) de l’image de début.


            **Règles de combinaison :**

            - Fournissez au moins l’un des champs `image_start` et `image_end`

            - `image_start` uniquement : génération à partir de la première
            image

            - Les deux champs : génération entre une première et une dernière
            image

            - Au maximum `1` première image ; ce champ accepte une seule URL


            **Exigences de l’image :**

            - Formats : JPG, JPEG, PNG, WEBP, HEIC, HEIF

            - Taille : `30MB` maximum

            - Largeur et hauteur : de `256` à `5760` px chacune

            - Rapport largeur/hauteur : `0.4`–`2.5`

            - L’URL doit utiliser HTTP(S) et être directement accessible par le
            service

            - Le corps JSON complet ne doit pas dépasser `64MB` ; les entrées
            Base64 et `mm_file://` ne sont pas acceptées
          example: >-
            https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png
        image_end:
          type: string
          format: uri
          description: >-
            URL HTTP(S) de l’image de fin.


            **Règles de combinaison :**

            - Fournissez au moins l’un des champs `image_end` et `image_start`

            - `image_end` uniquement : le modèle génère un mouvement naturel qui
            se termine sur cette image

            - Les deux champs : génération entre une première et une dernière
            image

            - Au maximum `1` dernière image ; ce champ accepte une seule URL


            **Exigences de l’image :**

            - Formats : JPG, JPEG, PNG, WEBP, HEIC, HEIF

            - Taille : `30MB` maximum

            - Largeur et hauteur : de `256` à `5760` px chacune

            - Rapport largeur/hauteur : `0.4`–`2.5`

            - L’URL doit utiliser HTTP(S) et être directement accessible par le
            service

            - Le corps JSON complet ne doit pas dépasser `64MB` ; les entrées
            Base64 et `mm_file://` ne sont pas acceptées
          example: >-
            https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1920&q=85
        duration:
          type: integer
          description: >-
            Durée de la vidéo de sortie en secondes. Valeur par défaut : `5`
            secondes.


            **Valeurs autorisées :**

            - Uniquement les entiers de `5` à `15`, bornes incluses

            - Les décimales, chaînes numériques, `auto` et `-1` ne sont pas pris
            en charge

            - La durée de sortie influe directement sur la facturation
          default: 5
          minimum: 5
          maximum: 15
          example: 5
        quality:
          type: string
          description: >-
            Résolution de la vidéo de sortie. Valeur par défaut : `2k`.


            **Valeur disponible :**

            - `2k` : seule résolution actuellement prise en charge


            **Remarques :**

            - `768p` n’est pas encore disponible et renvoie une erreur de
            paramètre

            - Le débit, la fréquence d’images et les codecs vidéo et audio sont
            déterminés par la plateforme et ne sont pas configurables
          enum:
            - 2k
          default: 2k
          example: 2k
        callback_url:
          type: string
          description: >-
            URL de rappel HTTPS apres l'achevement de la tache


            **Declenchement du rappel :**

            - Declenche lorsque la tache est terminee (completed) ou echouee
            (failed)

            - Envoye apres la confirmation de la facturation


            **Restrictions de securite :**

            - Seul le protocole HTTPS est pris en charge

            - Les rappels vers les adresses IP privees sont interdits
            (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 depasser `2048` caracteres


            **Mecanisme de rappel :**

            - Delai d'expiration : `10` secondes

            - Jusqu'a `3` tentatives apres un echec (respectivement `1`/`2`/`4`
            secondes apres l'echec)

            - Le format du corps de reponse du rappel est identique a celui de
            l'interface de consultation de tache

            - Un code de statut 2xx est considere comme un succes, les autres
            codes declenchent une nouvelle tentative
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
          pattern: ^https://
      additionalProperties: false
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Horodatage de creation de la tache
          example: 1761313744
        id:
          type: string
          description: ID de la tache
          example: task-unified-1774857405-abc123
        model:
          type: string
          description: Nom du modele effectivement utilise
          example: minimax-h3-image-to-video
        object:
          type: string
          enum:
            - video.generation.task
          description: Type specifique de la tache
        progress:
          type: integer
          description: Pourcentage de progression de la tache (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Statut de la tache
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Informations detaillees de la tache video
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Type de sortie de la tache
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Informations d'utilisation et de 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. Minimax H3 ne prend pas en
            charge l’annulation ; toujours `false`.
          example: false
          enum:
            - false
          default: false
        estimated_time:
          type: integer
          description: Temps estime d'achevement (secondes)
          minimum: 0
          example: 165
        video_duration:
          type: integer
          description: Duree de la video (secondes)
          example: 8
    VideoUsage:
      type: object
      description: Informations d'utilisation et de facturation
      properties:
        billing_rule:
          type: string
          description: Regle de facturation
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: Nombre de credits estimes consommes
          minimum: 0
          example: 50
        user_group:
          type: string
          description: Categorie du groupe utilisateur
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ## Toutes les interfaces necessitent une authentification par Bearer
        Token ##


        **Obtenir une cle API :**


        Visitez la [Page de gestion des cles
        API](https://evolink.ai/dashboard/keys) pour obtenir votre cle API


        **Ajoutez dans l'en-tete de la requete :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````