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

# Wan3.0 Guide complet des paramètres

> API unifiée pour Wan 3.0 (vidéo de référence polyvalente), le mode se choisit avec le paramètre `model`

**3 modes de génération :**
- **Text-to-Video** (`wan3.0-text-to-video`) : vidéo générée à partir du seul prompt textuel
- **Image-to-Video** (`wan3.0-image-to-video`) : la première image / le couple première-dernière image contrôle strictement le début et la fin de l'image
- **Reference-to-Video** (`wan3.0-reference-video`) : références multimodales mixtes — images de référence + vidéos de référence + audio de référence + fichiers / pages web

**Capacités communes :**
- Vidéos jusqu'à **30 secondes**
- Mode de traitement asynchrone, utilisez l'ID de tâche renvoyé pour [interroger le statut](/fr/api-manual/task-management/get-task-detail)
- Les liens vidéo générés sont valides 24 heures, veuillez les sauvegarder rapidement

## Facturation

- **Formule de facturation** : durée facturée = durée de la vidéo d'entrée + durée de la vidéo de sortie, facturation à la seconde
- **Multiplicateur de résolution** : `480p` = 1x (référence), `720p` = 2x, `1080p` = 4x
- Les images de référence, l'audio de référence, les fichiers de référence et les liens de pages web **ne sont pas facturés**
- Lorsque `duration` vaut `-1` (durée intelligente), le montant est préautorisé au plafond de `30` secondes ; après le succès de la tâche, la facturation porte sur la durée réellement produite et la différence est remboursée automatiquement
- Activer ou désactiver la piste `audio` **coûte le même prix**
- **Les tâches en échec ne sont pas facturées**, les crédits gelés sont intégralement remboursés



## OpenAPI

````yaml fr/api-manual/video-series/wan3.0/wan3.0-overview.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Wan3.0 API tous modèles
  description: >-
    Wan 3.0 génération vidéo de référence polyvalente, une seule API couvrant le
    texte vers vidéo, l'image vers vidéo et la référence vers vidéo
  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: Wan3.0 API tous modèles
      description: >-
        API unifiée pour Wan 3.0 (vidéo de référence polyvalente), le mode se
        choisit avec le paramètre `model`


        **3 modes de génération :**

        - **Text-to-Video** (`wan3.0-text-to-video`) : vidéo générée à partir du
        seul prompt textuel

        - **Image-to-Video** (`wan3.0-image-to-video`) : la première image / le
        couple première-dernière image contrôle strictement le début et la fin
        de l'image

        - **Reference-to-Video** (`wan3.0-reference-video`) : références
        multimodales mixtes — images de référence + vidéos de référence + audio
        de référence + fichiers / pages web


        **Capacités communes :**

        - Vidéos jusqu'à **30 secondes**

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

        - Les liens vidéo générés sont valides 24 heures, veuillez les
        sauvegarder rapidement


        ## Facturation


        - **Formule de facturation** : durée facturée = durée de la vidéo
        d'entrée + durée de la vidéo de sortie, facturation à la seconde

        - **Multiplicateur de résolution** : `480p` = 1x (référence), `720p` =
        2x, `1080p` = 4x

        - Les images de référence, l'audio de référence, les fichiers de
        référence et les liens de pages web **ne sont pas facturés**

        - Lorsque `duration` vaut `-1` (durée intelligente), le montant est
        préautorisé au plafond de `30` secondes ; après le succès de la tâche,
        la facturation porte sur la durée réellement produite et la différence
        est remboursée automatiquement

        - Activer ou désactiver la piste `audio` **coûte le même prix**

        - **Les tâches en échec ne sont pas facturées**, les crédits gelés sont
        intégralement remboursés
      operationId: createWan30Video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Texte vers vidéo
                value:
                  model: wan3.0-text-to-video
                  prompt: >-
                    A kitten runs across a rooftop in the moonlight, city neon
                    flickers in the distance, cinematic quality, smooth camera
                    work.
                  duration: 5
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
              image_to_video:
                summary: Image vers vidéo (première et dernière image)
                value:
                  model: wan3.0-image-to-video
                  prompt: >-
                    A young girl's smile gradually turns into a big laugh, the
                    camera slowly pushes in, and the background light shifts
                    from cool tones to warm tones.
                  image_start: https://example.com/first_frame.jpg
                  image_end: https://example.com/last_frame.jpg
                  duration: 5
                  quality: 720p
              reference_to_video:
                summary: Référence vers vidéo (éléments multimodaux)
                value:
                  model: wan3.0-reference-video
                  prompt: >-
                    The character in Video 1 holds Image 3 and plays a soft
                    country folk tune on the chair in Image 4, saying: “What
                    lovely sunshine today.”
                  image_urls:
                    - https://example.com/role.jpg
                    - https://example.com/object.png
                    - https://example.com/guitar.png
                    - https://example.com/chair.png
                  video_urls:
                    - https://example.com/ref_role.mp4
                  duration: 10
                  quality: 720p
                  aspect_ratio: adaptive
              smart_duration:
                summary: Durée intelligente (le modèle décide de la longueur)
                value:
                  model: wan3.0-text-to-video
                  prompt: >-
                    A high-end smart glasses product ad, minimalist and
                    futuristic, the camera glides over the lens and hinge
                    details and finally settles on the brand logo.
                  duration: -1
                  quality: 1080p
                  aspect_ratio: '16:9'
      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_parameter
                  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: wan3.0-text-to-video'
                  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
          enum:
            - wan3.0-text-to-video
            - wan3.0-image-to-video
            - wan3.0-reference-video
          example: wan3.0-text-to-video
        prompt:
          type: string
          description: >-
            Prompt textuel pour la génération vidéo. Le chinois et l'anglais
            sont pris en charge, **chaque caractère chinois / lettre compte pour
            1 caractère**, longueur maximale `20000` caractères ; le surplus est
            tronqué automatiquement (sans erreur)


            **Caractère obligatoire :** requis pour `wan3.0-text-to-video` ;
            pour `wan3.0-reference-video`, au moins l'un des deux entre le
            prompt et les éléments de référence ; pour `wan3.0-image-to-video`,
            recommandé afin de décrire l'évolution de l'image


            **Règles de désignation des éléments (référence vers vidéo) :**

            - Utilisez "Image 1", "Video 1" et "Audio 1" pour désigner les
            éléments du tableau correspondant (à partir de 1)

            - Images, vidéos et audio sont **comptés indépendamment**, "Image 1"
            et "Video 1" peuvent donc coexister
          example: >-
            The character in Video 1 holds Image 3 and plays a soft country folk
            tune on the chair in Image 4, saying: “What lovely sunshine today.”
        image_start:
          type: string
          format: uri
          description: >-
            URL de la première image, utilisée strictement comme première image
            de la vidéo générée. **Disponible uniquement pour
            `wan3.0-image-to-video`**


            **Limites d'image :**

            - Formats : JPEG, JPG, PNG (transparence non prise en charge), BMP,
            WEBP

            - Résolution : largeur et hauteur dans `[240, 8000]` pixels

            - Rapport d'aspect : 1:8 ~ 8:1

            - Taille du fichier : jusqu'à `20MB`
          example: https://example.com/first_frame.jpg
        image_end:
          type: string
          format: uri
          description: >-
            URL de la dernière image, utilisée strictement comme dernière image
            de la vidéo générée. **Disponible uniquement pour
            `wan3.0-image-to-video`**


            **Contrainte :** doit être utilisée avec `image_start`, il n'est pas
            possible d'envoyer uniquement la dernière image.


            **Limites d'image :**

            - Formats : JPEG, JPG, PNG (transparence non prise en charge), BMP,
            WEBP

            - Résolution : largeur et hauteur dans `[240, 8000]` pixels

            - Rapport d'aspect : 1:8 ~ 8:1

            - Taille du fichier : jusqu'à `20MB`
          example: https://example.com/last_frame.jpg
        image_urls:
          type: array
          items:
            type: string
            format: uri
          maxItems: 10
          description: >-
            Tableau d'URL d'images de référence, **10 images au maximum**,
            **disponible uniquement pour `wan3.0-reference-video`**. Il peut
            fournir des sujets (personnes/animaux/objets) ou des arrière-plans
            de scène ; lorsqu'un sujet est inclus, chaque image ne devrait
            contenir qu'un **seul** personnage


            L'ordre du tableau correspond à "Image 1, Image 2..." dans le prompt


            **Note :** pour la première et la dernière image de l'image vers
            vidéo, utilisez `image_start` / `image_end` et non ce champ


            **Limites d'image :**

            - Formats : JPEG, JPG, PNG (transparence non prise en charge), BMP,
            WEBP

            - Résolution : largeur et hauteur dans `[240, 8000]` pixels

            - Rapport d'aspect : 1:8 ~ 8:1

            - Taille du fichier : jusqu'à `20MB`
          example:
            - https://example.com/ref1.jpg
            - https://example.com/ref2.png
        video_urls:
          type: array
          items:
            type: string
            format: uri
          maxItems: 5
          description: >-
            Tableau d'URL de vidéos de référence, **5 séquences au maximum**,
            **disponible uniquement pour `wan3.0-reference-video`**. L'ordre du
            tableau correspond à "Video 1, Video 2..." dans le prompt


            **Limites de durée :**

            - `1 ~ 15` secondes par séquence

            - **15 secondes au total au maximum**

            - Durée totale des vidéos de référence + durée de la vidéo de sortie
            **ne doit pas dépasser 30 secondes**


            **🔴 Les vidéos de référence comptent dans la facturation** : durée
            facturée = durée de la vidéo d'entrée + durée de la vidéo de sortie.
            Les images de référence, l'audio de référence, les fichiers et les
            pages web ne sont pas facturés


            **Limites vidéo :**

            - Formats : mp4, mov

            - Résolution : largeur et hauteur dans `[240, 4096]` pixels

            - Rapport d'aspect : 1:8 ~ 8:1

            - Taille par fichier : jusqu'à `100MB`
          example:
            - https://example.com/ref_video.mp4
        audio_urls:
          type: array
          items:
            type: string
            format: uri
          maxItems: 5
          description: >-
            Tableau d'URL d'audio de référence, **5 séquences au maximum**,
            **disponible uniquement pour `wan3.0-reference-video`**. L'ordre du
            tableau correspond à "Audio 1, Audio 2..." dans le prompt


            **⚠️ Sémantique différente de Wan2.7 :** dans Wan2.7, `audio_urls`
            portait une **voix** liée à une image ou une vidéo de référence
            donnée ; dans Wan3.0, l'audio de référence est un **élément
            autonome** désigné directement dans le prompt par "Audio 1", et le
            protocole de liaison vocale `model_params.voice_bindings` n'est
            **pas pris en charge**. Pensez à réécrire vos requêtes lors de la
            migration depuis Wan2.7.


            **Limites de durée :**

            - `1 ~ 15` secondes par séquence, 15 secondes au total au maximum

            - L'audio de référence **n'est pas facturé**


            **Limites audio :**

            - Formats : wav, mp3

            - Taille du fichier : jusqu'à `15MB`
          example:
            - https://example.com/ref_audio.mp3
        duration:
          type: integer
          description: >-
            Durée de la vidéo générée (secondes), `5` par défaut


            **Valeurs acceptées :**

            - Tout entier compris entre `2` et `30`

            - `-1` : durée intelligente, le modèle détermine la longueur de
            sortie d'après le prompt et les éléments d'entrée


            **Facturation de la durée intelligente :** au moment de l'envoi, la
            longueur générée est inconnue ; le montant est donc **préautorisé au
            plafond** de `30` secondes, puis régularisé sur la durée réellement
            produite après le succès de la tâche, l'excédent gelé étant libéré
            automatiquement. Si votre solde ne couvre pas la préautorisation au
            plafond, indiquez plutôt un nombre de secondes explicite.


            **Contrainte supplémentaire en présence de vidéos de référence :**

            - Durée totale des vidéos de référence + durée de la vidéo de sortie
            **ne doit pas dépasser 30 secondes**

            - Exemple : avec 10 secondes de vidéos de référence au total,
            `duration` ne peut pas dépasser 20
          default: 5
          example: 5
        quality:
          type: string
          description: >-
            Résolution vidéo, `720p` par défaut


            **Options :**

            - `480p` : définition plus basse, prix le plus bas (base de
            facturation)

            - `720p` : définition standard, valeur par défaut, prix 2x celui de
            `480p`

            - `1080p` : haute définition, prix 4x celui de `480p`
          enum:
            - 480p
            - 720p
            - 1080p
          default: 720p
          example: 720p
        aspect_ratio:
          type: string
          description: >-
            Rapport d'aspect de la vidéo, `adaptive` par défaut


            **Options :**

            - `adaptive` : adaptatif, le modèle recommande un rapport d'aspect
            adapté selon le ratio des éléments d'entrée et l'intention du
            prompt, valeur par défaut

            - `16:9` (paysage), `9:16` (portrait), `1:1` (carré), `4:3`, `3:4`
          enum:
            - adaptive
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
          default: adaptive
          example: '16:9'
        generate_audio:
          type: boolean
          description: >-
            Indique si la vidéo de sortie contient une piste audio, `true` par
            défaut


            **Options :**

            - `true` : la vidéo de sortie contient du son (voix, effets sonores,
            musique de fond), valeur par défaut

            - `false` : vidéo muette en sortie


            **Le son activé ou désactivé coûte le même prix**, sans frais
            supplémentaires.
          default: true
          example: true
        seed:
          type: integer
          description: >-
            Graine aléatoire, utilisée pour reproduire les résultats, aléatoire
            par défaut


            **Notes :**

            - Plage : `0` ~ `2147483647`

            - Fixer la graine réduit la variation lors de l'itération sur les
            prompts et améliore la reproductibilité
          minimum: 0
          maximum: 2147483647
          example: 42
        model_params:
          type: object
          description: >-
            Paramètres d'extension du modèle, **disponibles uniquement pour
            `wan3.0-reference-video`**. `file_url` et `link_url` s'**excluent
            mutuellement**, il faut choisir l'un ou l'autre
          properties:
            file_url:
              type: string
              format: uri
              description: >-
                URL du fichier de référence, **1 au maximum**. Le modèle
                comprend automatiquement le contenu du fichier et génère la
                vidéo à partir de celui-ci (par exemple transformer un deck
                produit en film promotionnel)


                **Exclusif avec `link_url`**, les deux ne peuvent pas être
                envoyés ensemble


                **Limites de fichier :**

                - Formats : docx, doc, xlsx, xls, pptx, ppt, pdf, txt, key,
                pages, numbers, md

                - Taille du fichier : jusqu'à `100MB`

                - Nombre de pages : 50 pages au maximum
              example: https://example.com/product-deck.pptx
            link_url:
              type: string
              format: uri
              description: >-
                Lien vers une page web de référence, **1 au maximum**. Le modèle
                récupère et comprend automatiquement le contenu de la page, puis
                génère la vidéo


                **Exclusif avec `file_url`**, les deux ne peuvent pas être
                envoyés ensemble


                **Limitation :** seules les pages publiques **ne nécessitant
                aucune connexion** peuvent être analysées (actualités, blogs,
                articles de newsletters, etc.)
              example: https://example.com/article/12345
        callback_url:
          type: string
          description: >-
            URL de rappel HTTPS après l'achèvement de la tâche


            **Moment 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

            - Les rappels vers les adresses IP du réseau interne 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 dépasser `2048` caractères


            **Mécanisme de rappel :**

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

            - Maximum de `3` tentatives après échec (les tentatives ont lieu
            après `1`/`2`/`4` secondes suivant l'échec)

            - Le format du corps de réponse du rappel est cohérent avec le
            format de réponse de l'API de consultation de tâche

            - Un code de statut 2xx 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: 1761313744
        id:
          type: string
          description: ID de tâche
          example: task-unified-1774857405-abc123
        model:
          type: string
          description: Nom du modèle réellement utilisé
          example: wan3.0-text-to-video
        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 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: Si la tâche peut être annulée
          example: true
        estimated_time:
          type: integer
          description: Temps d'achèvement estimé (secondes)
          minimum: 0
          example: 165
        video_duration:
          type: integer
          description: Durée de la vidéo (secondes)
          example: 8
    VideoUsage:
      type: object
      description: Informations d'utilisation et de 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: Crédits estimés consommés
          minimum: 0
          example: 50
        user_group:
          type: string
          description: Catégorie de groupe d'utilisateurs
          example: default
  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

        ```

````