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

# Seedance 2.0 Guide complet des paramètres

> Interface unifiee pour la serie complete Seedance 2.0, 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

Chaque mode dispose d'une version standard, d'une version rapide et d'une version Mini, soit 9 modeles au total

- **Prend desormais en charge les contenus humains realistes generes par IA (AIGC)**
- Mode de traitement asynchrone, utilisez l'ID de tache retourne pour [consulter les details de la tache](/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.0/seedance-2.0-overview.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Seedance 2.0 API tous modeles
  description: >-
    Interface unifiee pour les 9 modeles de la serie complete Seedance 2.0,
    couvrant les versions standard, rapide et Mini de 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: Environnement de 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.0 generation video (tous modeles)
      description: >-
        Interface unifiee pour la serie complete Seedance 2.0, 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


        Chaque mode dispose d'une version standard, d'une version rapide et
        d'une version Mini, soit 9 modeles au total


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

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

        - Le lien de la video generee est valide pendant 24 heures, veuillez le
        sauvegarder rapidement
      operationId: createSeedance20VideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Text-to-Video
                value:
                  model: seedance-2.0-text-to-video
                  prompt: >-
                    A cat playing the Moonlight Sonata on a piano, cinematic
                    lighting, close-up shot
                  duration: 8
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
              image_to_video:
                summary: Image-to-Video (premiere image)
                value:
                  model: seedance-2.0-image-to-video
                  prompt: The camera slowly pushes in, petals drifting in the wind
                  image_urls:
                    - https://example.com/flower.jpg
                  duration: 5
                  aspect_ratio: adaptive
                  generate_audio: true
                  content_filter: true
              reference_to_video:
                summary: Reference multimodale (image + video + audio)
                value:
                  model: seedance-2.0-reference-to-video
                  prompt: >-
                    Use the first-person perspective framing of video 1
                    throughout, use audio 1 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
              fast_text_to_video:
                summary: Text-to-Video version rapide
                value:
                  model: seedance-2.0-fast-text-to-video
                  prompt: >-
                    Time-lapse photography of a city sunset, golden light
                    spilling across the skyline
                  duration: 5
                  aspect_ratio: '21: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_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 the specified model
                  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 | Version |

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

            | `seedance-2.0-text-to-video` | Text-to-Video | Standard |

            | `seedance-2.0-image-to-video` | Image-to-Video | Standard |

            | `seedance-2.0-reference-to-video` | Reference multimodale |
            Standard |

            | `seedance-2.0-fast-text-to-video` | Text-to-Video | Rapide |

            | `seedance-2.0-fast-image-to-video` | Image-to-Video | Rapide |

            | `seedance-2.0-fast-reference-to-video` | Reference multimodale |
            Rapide |

            | `seedance-2.0-mini-text-to-video` | Text-to-Video | Mini |

            | `seedance-2.0-mini-image-to-video` | Image-to-Video | Mini |

            | `seedance-2.0-mini-reference-to-video` | Reference multimodale |
            Mini |
          enum:
            - seedance-2.0-text-to-video
            - seedance-2.0-image-to-video
            - seedance-2.0-reference-to-video
            - seedance-2.0-fast-text-to-video
            - seedance-2.0-fast-image-to-video
            - seedance-2.0-fast-reference-to-video
            - seedance-2.0-mini-text-to-video
            - seedance-2.0-mini-image-to-video
            - seedance-2.0-mini-reference-to-video
          example: seedance-2.0-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** : vous pouvez specifier l'utilisation de
            chaque ressource en langage naturel, par exemple `premiere image =
            image 1`, `utiliser le mouvement de camera de la video 1 tout au
            long`, `audio 1 comme musique de fond`
          example: >-
            A cat playing the Moonlight Sonata on a piano, cinematic lighting,
            close-up shot
        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, **0 a 9 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)


            **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
          maxItems: 9
          example:
            - https://example.com/image1.jpg
        video_urls:
          type: array
          description: >-
            Tableau d'URLs de videos de reference


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


            **Limite de quantite :** 0 a 3 videos


            **Description des roles :**

            - 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

            - Duree par video : `2` a `15` secondes, maximum 3 videos, duree
            totale de toutes les videos <= `15` 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 `2 086 876` (ex.
            640x640 a 834x1112)

            - Taille maximale par video : `50 Mo`

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

            - 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


            **Remarque :** Il n'est pas possible de fournir uniquement
            `audio_urls`, vous devez inclure au moins 1 image (`image_urls`) ou
            1 video (`video_urls`)
          items:
            type: string
            format: uri
          maxItems: 3
          example:
            - https://example.com/reference.mp4
        audio_urls:
          type: array
          description: >-
            Tableau d'URLs d'audios de reference


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


            **Limite de quantite :** 0 a 3 segments


            **Description des roles :**

            - Musique de fond, effets sonores, reference vocale/dialogue


            **Exigences pour les audios :**

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

            - Duree par segment audio : `2` a `15` secondes, maximum 3 segments,
            duree totale de tous les audios <= `15` secondes

            - Taille maximale par segment : `15 Mo`

            - Les URLs d'audios doivent etre directement accessibles par le
            serveur


            **Remarque :** L'audio ne peut pas etre fourni seul, il doit inclure
            au moins 1 image ou 1 video
          items:
            type: string
            format: uri
          maxItems: 3
          example:
            - https://example.com/bgm.mp3
        duration:
          type: integer
          description: |-
            Duree de la video de sortie (secondes), par defaut `5` secondes

            - Prend en charge toute valeur entiere entre `4` et `15` secondes
            - La duree est directement liee a la facturation
            - Applicable aux 9 modeles
          default: 5
          minimum: 4
          maximum: 15
          example: 8
        quality:
          type: string
          description: >-
            Resolution video, par defaut `720p`


            **Valeurs possibles :**

            - `480p` : resolution inferieure, prix reduit

            - `720p` : resolution standard, valeur par defaut

            - `1080p` : resolution Ultra HD, **uniquement pris en charge par les
            modeles de version standard** (Text-to-Video, Image-to-Video,
            Reference-to-Video) ; les 3 modeles Fast et 3 modeles Mini ne sont
            pas pris en charge


            `480p` et `720p` sont applicables aux 9 modeles
          enum:
            - 480p
            - 720p
            - 1080p
          default: 720p
          example: 720p
        aspect_ratio:
          type: string
          description: >-
            Rapport d'aspect de la video, par defaut `16:9`


            **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 | 1080p |

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

            | 16:9 | 864×496 | 1280×720 | 1920×1080 |

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

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

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

            | 9:16 | 496×864 | 720×1280 | 1080×1920 |

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


            *1080p uniquement pris en charge par les modeles de version
            standard*
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
            - '21:9'
            - adaptive
          default: '16:9'
          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 9 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** (version
            standard et rapide)
          properties:
            web_search:
              type: boolean
              description: >-
                Recherche web, par defaut `false`


                **Applicable uniquement aux modeles Text-to-Video**
                (`seedance-2.0-text-to-video` et
                `seedance-2.0-fast-text-to-video`)


                **Details :**

                - Lorsque active, le modele determine de maniere autonome s'il
                doit rechercher du contenu sur Internet (produits, meteo, etc.),
                ce qui peut ameliorer l'actualite

                - Peut augmenter la latence

                - Les frais ne sont factures que lorsque la recherche est
                effectivement declenchee, et plusieurs appels peuvent etre
                effectues 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


            Applicable aux 9 modeles
          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.0-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

        ```

````