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

# Seedance 2.5 Guide complet des paramètres

> > 🚧 **Ce modele n'est pas encore disponible, restez a l'ecoute**

Interface unifiee pour la serie complete Seedance 2.5, selectionnez le modele specifique via le parametre `model`

**3 modes de generation :**
- **Text-to-Video** : generation de video a partir d'une description textuelle pure, avec prise en charge de la recherche web
- **Image-to-Video** : generation de video pilotee par 1 a 2 images comme premiere et derniere image
- **Reference-to-Video** : reference multimodale combinant images + videos + audios

- **Prend desormais en charge les contenus humains realistes generes par IA (AIGC)**
- Mode de traitement asynchrone, utilisez l'ID de tache retourne pour [consulter le statut](/fr/api-manual/task-management/get-task-detail)
- Le lien de la video generee est valide pendant 24 heures, veuillez le sauvegarder rapidement



## OpenAPI

````yaml fr/api-manual/video-series/seedance2.5/seedance-2.5-overview.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Seedance 2.5 API tous modeles
  description: >-
    Interface unifiee pour les 3 modeles de la serie Seedance 2.5, couvrant
    Text-to-Video, Image-to-Video et Reference-to-Video multimodale
  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: Seedance 2.5 generation video (tous modeles)
      description: >-
        > 🚧 **Ce modele n'est pas encore disponible, restez a l'ecoute**


        Interface unifiee pour la serie complete Seedance 2.5, selectionnez le
        modele specifique via le parametre `model`


        **3 modes de generation :**

        - **Text-to-Video** : generation de video a partir d'une description
        textuelle pure, avec prise en charge de la recherche web

        - **Image-to-Video** : generation de video pilotee par 1 a 2 images
        comme premiere et derniere image

        - **Reference-to-Video** : reference multimodale combinant images +
        videos + audios


        - **Prend desormais en charge les contenus humains realistes generes par
        IA (AIGC)**

        - Mode de traitement asynchrone, utilisez l'ID de tache retourne pour
        [consulter le statut](/fr/api-manual/task-management/get-task-detail)

        - Le lien de la video generee est valide pendant 24 heures, veuillez le
        sauvegarder rapidement
      operationId: createSeedance25Video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Text-to-Video basique
                value:
                  model: seedance-2.5-text-to-video
                  prompt: >-
                    A macro lens focuses on a green glass frog on a leaf. The
                    focus gradually shifts from its smooth skin to its
                    completely transparent abdomen, where a bright red heart is
                    beating powerfully and rhythmically.
                  duration: 8
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
              image_to_video:
                summary: Video a partir de la premiere image
                value:
                  model: seedance-2.5-image-to-video
                  prompt: >-
                    The camera slowly zooms in, the scene gradually comes to
                    life
                  image_urls:
                    - https://example.com/first-frame.jpg
                  duration: 5
                  aspect_ratio: adaptive
              reference_to_video:
                summary: Reference multimodale (image + video + audio)
                value:
                  model: seedance-2.5-reference-to-video
                  prompt: >-
                    Use the first-person perspective framing of @video1
                    throughout, and use @audio1 as background music throughout.
                    First-person perspective fruit tea promotional video...
                  image_urls:
                    - https://example.com/ref1.jpg
                    - https://example.com/ref2.jpg
                  video_urls:
                    - https://example.com/reference.mp4
                  audio_urls:
                    - https://example.com/bgm.mp3
                  duration: 10
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
      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_parameter
                  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:
                    seedance-2.5-reference-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


            | ID du modele | Mode | Materiaux d'entree |

            |:--------|:-----|:---------|

            | `seedance-2.5-text-to-video` | Text-to-Video | `prompt` |

            | `seedance-2.5-image-to-video` | Image-to-Video | `prompt` +
            `image_urls` |

            | `seedance-2.5-reference-to-video` | Reference-to-Video | `prompt`
            + `image_urls` / `video_urls` / `audio_urls` |
          enum:
            - seedance-2.5-text-to-video
            - seedance-2.5-image-to-video
            - seedance-2.5-reference-to-video
          example: seedance-2.5-text-to-video
        prompt:
          type: string
          description: >-
            Prompt textuel decrivant la video souhaitee. Prend en charge le
            chinois et l'anglais, il est recommande de ne pas depasser 500
            caracteres en chinois et 1000 mots en anglais. Longueur maximale du
            prompt : 10000 tokens


            **Utilisation du prompt selon le modele :**

            - **Text-to-Video** : description textuelle pure, ne prend pas en
            charge l'utilisation de `image_urls`, `video_urls`, `audio_urls`
            dans le prompt

            - **Image-to-Video** : description textuelle pure, ne prend pas en
            charge l'utilisation de `video_urls`, `audio_urls` dans le prompt

            - **Reference-to-Video** : Pour faire reference aux ressources
            d'entree, utilisez de preference des balises explicites comme
            `@image1`, `@video1` et `@audio1`. La numerotation suit l'ordre du
            tableau d'URL correspondant et commence a 1. La numerotation en
            langage naturel peut encore etre comprise, mais les balises
            explicites associent plus clairement chaque ressource a son usage
          example: >-
            Use the first-person perspective framing of @video1 throughout, and
            use @audio1 as background music throughout. First-person perspective
            fruit tea promotional video...
        image_urls:
          type: array
          description: >-
            Tableau d'URLs d'images


            **Modeles applicables et limites de quantite :**

            - **Text-to-Video** : non pris en charge

            - **Image-to-Video** : obligatoire, **1 a 2 images**

            - **Reference-to-Video** : optionnel, **1 a 30 images**


            **Comportement des images pour Image-to-Video :**


            | Nombre d'images | Comportement | Role |

            |:--------:|------|------|

            | 1 image | Video a partir de la premiere image | Definie
            automatiquement comme `first_frame` |

            | 2 images | Video a partir de la premiere et derniere image | 1ere
            image -> `first_frame`, 2eme image -> `last_frame` |


            **Roles des images pour Reference-to-Video :**

            - Reference de style, image produit, apparence du personnage,
            premiere/derniere image (specifiee via le prompt)


            **Condition requise :** Au moins un des champs `image_urls`,
            `video_urls` ou `audio_urls` doit etre fourni.


            **Exigences pour les images :**

            - Formats pris en charge : `.jpeg`, `.png`, `.webp`

            - Rapport d'aspect (largeur/hauteur) : `0.4` a `2.5`

            - Dimensions en pixels : `300` a `6000` px

            - Taille maximale par image : `30 Mo`

            - Taille totale du corps de requete ne depassant pas `64 Mo`

            - Lors de la transmission de la premiere et derniere image, les deux
            images peuvent etre identiques. En cas de rapport d'aspect
            different, la premiere image est prioritaire et la derniere image
            est automatiquement recadree

            - Les URLs d'images doivent etre directement accessibles par le
            serveur
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 30
          example:
            - https://example.com/ref1.jpg
            - https://example.com/ref2.jpg
        video_urls:
          type: array
          description: >-
            Tableau d'URLs de videos de reference, **facultatif ; 1 a 10 videos
            si fourni**


            **Applicable uniquement au modele Reference-to-Video**, les autres
            modeles ne prennent pas en charge ce parametre


            **Condition requise :** Au moins un des champs `image_urls`,
            `video_urls` ou `audio_urls` doit etre fourni.


            **Description des roles :**


            | Type de media | Role | Utilisation typique |

            |---------|------|----------|

            | Video | `reference_video` | Reference de mouvement de camera,
            reference d'action, video originale a editer/etendre |


            **Exigences pour les videos :**

            - Formats pris en charge : `.mp4`, `.mov`

            - Resolution : 480p, 720p, 1080p, 4K

            - Duree par video : `2` a `30` secondes, maximum 10 videos, duree
            totale de toutes les videos ≤ `30` secondes

            - Rapport d'aspect (largeur/hauteur) : `0.4` a `2.5`

            - Dimensions en pixels : `300` a `6000` px

            - Pixels d'image (largeur x hauteur) : `409 600` a `8 295 044` (ex.
            640×640 a 3326×2494)

            - Taille maximale par video : `200 Mo`

            - Frequence d'images : `24` a `60` FPS

            - Taille totale du corps de requete ne depassant pas `64 Mo`, ne pas
            utiliser l'encodage Base64

            - La validite du codec, de la resolution et des autres
            caracteristiques du contenu est verifiee en plus par le modele en
            amont

            - L'utilisation de references video entraine des frais
            supplementaires (la duree de la video d'entree est comptabilisee
            dans la facturation)

            - Les URLs de videos doivent etre directement accessibles par le
            serveur
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 10
          example:
            - https://example.com/reference.mp4
        audio_urls:
          type: array
          description: >-
            Tableau d'URLs d'audios de reference, **facultatif ; 1 a 10 segments
            si fourni**


            **Applicable uniquement au modele Reference-to-Video**, les autres
            modeles ne prennent pas en charge ce parametre


            **Condition requise :** Au moins un des champs `image_urls`,
            `video_urls` ou `audio_urls` doit etre fourni.


            **Description des roles :**


            | Type de media | Role | Utilisation typique |

            |---------|------|----------|

            | Audio | `reference_audio` | Musique de fond, effets sonores,
            reference vocale/dialogue |


            **Exigences pour les audios :**

            - Formats pris en charge : `.wav`, `.mp3`

            - Duree par segment audio : `2` a `30` secondes, maximum 10
            segments, duree totale de tous les audios ≤ `30` secondes

            - Taille maximale par segment : `15 Mo`

            - Taille totale du corps de requete ne depassant pas `64 Mo`, ne pas
            utiliser l'encodage Base64

            - Les URLs d'audios doivent etre directement accessibles par le
            serveur
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 10
          example:
            - https://example.com/bgm.mp3
        duration:
          type: integer
          description: |-
            Duree de la video de sortie (secondes), par defaut `5` secondes

            **Details :**
            - Prend en charge toute valeur entiere entre `4` et `30` secondes
            - La duree est directement liee a la facturation

            Applicable aux 3 modeles
          default: 5
          minimum: 4
          maximum: 30
          example: 10
        quality:
          type: string
          description: |-
            Resolution video, par defaut `720p`

            **Valeurs possibles :**
            - `480p` : resolution inferieure, prix reduit
            - `720p` : resolution standard, valeur par defaut

            Applicable aux 3 modeles
          enum:
            - 480p
            - 720p
          default: 720p
          example: 720p
        aspect_ratio:
          type: string
          description: >-
            Rapport d'aspect de la video, par defaut `adaptive`


            **Valeurs possibles :**

            - `16:9` (paysage), `9:16` (portrait), `1:1` (carre), `4:3`, `3:4`,
            `21:9` (ultra-large)

            - `adaptive` : selection automatique du meilleur rapport


            **Comportement de `adaptive` selon le modele :**

            - **Text-to-Video** : selection automatique en fonction du contenu
            du prompt

            - **Image-to-Video** : adaptation automatique en fonction du rapport
            d'aspect de la premiere image

            - **Reference-to-Video** : priorite : rapport de la video > rapport
            de l'image > deduction du prompt


            **Pixels correspondants par resolution :**


            | Rapport d'aspect | 480p | 720p |

            |:------:|:----:|:----:|

            | 16:9 | 854×480 | 1280×720 |

            | 4:3 | 752×560 | 1112×834 |

            | 1:1 | 640×640 | 960×960 |

            | 3:4 | 560×752 | 834×1112 |

            | 9:16 | 480×854 | 720×1280 |

            | 21:9 | 992×432 | 1470×630 |


            Applicable aux 3 modeles
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
            - '21:9'
            - adaptive
          default: adaptive
          example: '16:9'
        generate_audio:
          type: boolean
          description: >-
            Generer ou non un audio synchronise, par defaut `true`


            - `true` : la video inclut un audio synchronise (voix, effets
            sonores, musique de fond), sans frais supplementaires

            - `false` : video muette en sortie


            Applicable aux 3 modeles
          default: true
          example: true
        content_filter:
          type: boolean
          description: >-
            Filtre de contenu, par defaut `true`


            **Valeurs possibles :**

            - `true` : verification standard de securite du contenu, c'est la
            valeur par defaut

            - `false` : assouplit les restrictions de contenu, facture avec +10%
            (`1.1x`). Les contenus illegaux et interdits sont toujours appliques
            independamment de ce parametre
          default: true
          example: true
        model_params:
          type: object
          description: |-
            Parametres etendus du modele

            **Applicable uniquement aux modeles Text-to-Video**
          properties:
            web_search:
              type: boolean
              description: >-
                Recherche web, par defaut `false`


                **Details :**

                - Une fois active, le modele decide de maniere autonome s'il
                doit rechercher du contenu sur Internet (produits, meteo, etc.)
                en fonction du prompt, ce qui peut ameliorer l'actualite

                - Peut augmenter la latence

                - Les frais ne sont generes que lorsque la recherche est
                effectivement declenchee, et peut etre appelee plusieurs fois
                apres activation
              default: false
              example: false
        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), echouee
            (failed) ou annulee (cancelled)

            - 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
    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: seedance-2.5-text-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 tache peut etre annulee
          example: true
        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

        ```

````