> ## 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 Text-to-Video

> - Generation de videos a partir de prompts textuels, avec recherche web pour ameliorer l'actualite
- **Prend desormais en charge les contenus humains realistes generes par IA (AIGC)**
- Le **mode brouillon** est pris en charge : envoyez `draft: true` pour générer un brouillon en 480p, puis utilisez [Draft-to-Video](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-draft-to-video) pour obtenir une vidéo finale en 1080p si le résultat vous convient. Les deux générations sont facturées séparément
- 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/seedance/seedance-2.5/seedance-2.5-text-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: API Seedance 2.5 Text-to-Video
  description: >-
    API Seedance 2.5 Text-to-Video, prend en charge la generation de videos a
    partir de prompts textuels, avec recherche web pour ameliorer l'actualite
  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 Text-to-Video
      description: >-
        - Generation de videos a partir de prompts textuels, avec recherche web
        pour ameliorer l'actualite

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

        - Le **mode brouillon** est pris en charge : envoyez `draft: true` pour
        générer un brouillon en 480p, puis utilisez
        [Draft-to-Video](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-draft-to-video)
        pour obtenir une vidéo finale en 1080p si le résultat vous convient. Les
        deux générations sont facturées séparément

        - 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: createSeedance25TextToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              basic:
                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
              web_search:
                summary: Text-to-Video avec recherche web
                value:
                  model: seedance-2.5-text-to-video
                  prompt: >-
                    Today's New York weather forecast, with city skyline
                    animation and temperature overlay display
                  duration: 8
                  quality: 720p
                  aspect_ratio: '16:9'
                  model_params:
                    web_search: true
              draft:
                summary: Mode brouillon (480p)
                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: 480p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
                  draft: 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-text-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
        '503':
          description: >-
            Service temporairement indisponible ; le code draft_unavailable peut
            être renvoyé lorsque le mode brouillon est indisponible
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                draft_unavailable:
                  summary: Mode brouillon temporairement indisponible
                  value:
                    error:
                      code: draft_unavailable
                      message: >-
                        Draft mode is not available on the selected service
                        right now. Retry later or send the request without
                        draft.
                      type: invalid_request_error
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: Nom du modele de generation video
          enum:
            - seedance-2.5-text-to-video
          default: seedance-2.5-text-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 ou 1000 mots en anglais. Longueur maximale du
            prompt : 10000 tokens


            **Remarque :**

            - Ce modele est exclusivement text-to-video et ne prend pas en
            charge les entrees `image_urls`, `video_urls`, `audio_urls`
          example: >-
            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:
          type: integer
          description: >-
            Duree de la video (secondes), par defaut `5` secondes


            **Details :**

            - Prend en charge toute valeur entiere entre `4` et `30` secondes

            - `-1` : duree automatique, le modele choisit une duree entre `4` et
            `30` secondes et la facturation suit la duree reellement produite

            - La duree est directement liee a la facturation
          default: 5
          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


            **Mode brouillon :** lorsque `draft` vaut `true`, seule la
            résolution `480p` est autorisée. Si `quality` est omis, `480p` est
            utilisé automatiquement
          enum:
            - 480p
            - 720p
            - 1080p
          default: 720p
          example: 720p
        draft:
          type: boolean
          default: false
          description: >-
            Active le mode brouillon, `false` par défaut


            **Détails :**

            - `true` : génère d’abord un brouillon en 480p, plus rapidement, au
            tarif normal de la résolution 480p

            - Lorsque ce mode est activé, `quality` doit valoir `480p` ou être
            omis. Toute autre résolution renvoie une erreur de paramètre 400

            - Ce champ doit figurer au niveau racine du corps de la requête. Le
            placer dans `model_params` renvoie une erreur de paramètre 400


            **Conversion en vidéo finale :**

            - Une fois le brouillon terminé, la [consultation de la
            tâche](/fr/api-manual/task-management/get-task-detail) renvoie
            `draft_expires_at`

            - Avant cette échéance, transmettez l’ID de tâche du brouillon à
            [Seedance 2.5
            Draft-to-Video](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-draft-to-video)
            pour générer une vidéo finale en 1080p au contenu identique

            - La vidéo finale et le brouillon sont facturés séparément. Si le
            brouillon ne vous convient pas, vous pouvez renoncer à la conversion
            et ne payer que le brouillon

            - Par défaut, le brouillon reste convertible pendant 24 heures après
            son achèvement ; `draft_expires_at` indique l’échéance réelle.
            Envoyez la demande de conversion suffisamment tôt : une expiration
            pendant l’attente dans la file entraîne également l’échec de la
            conversion


            **Indisponibilité temporaire :** une réponse 503 peut être renvoyée
            lorsque le service est temporairement indisponible. Si le code
            d’erreur est `draft_unavailable`, réessayez plus tard ou retirez
            `draft` pour utiliser le mode normal
          example: false
        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` : le modele choisit intelligemment le meilleur rapport
            d'aspect en fonction du prompt


            **Pixels correspondants par resolution :**


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

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

            | 16:9 | 854×480 | 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 | 480×854 | 720×1280 | 1080×1920 |

            | 21:9 | 992×432 | 1470×630 | 2206×946 |
          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`


            **Valeurs possibles :**

            - `true` : la video inclut un audio synchronise (voix, effets
            sonores, musique de fond), sans frais supplementaires. Il est
            recommande de placer les dialogues entre guillemets pour optimiser
            la generation audio

            - `false` : video muette en sortie
          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


            **Incompatible avec la recherche web :**

            - `content_filter: false` et `model_params.web_search: true` ne
            peuvent pas etre utilises ensemble ; les envoyer ensemble renvoie
            une erreur de parametre 400

            - Conservez `content_filter: true` (valeur par defaut) si la
            recherche web est necessaire
          default: true
          example: true
        output_format:
          type: string
          description: >-
            Format de conteneur de sortie, par defaut `mp4`


            **Valeurs possibles :**

            - `mp4` : encodage H.264, meilleure compatibilite et precision
            colorimetrique standard ; c'est la valeur par defaut

            - `mov` : H.264 + echantillonnage chroma yuv444p + audio PCM,
            fidelite colorimetrique superieure, recommande pour l'etalonnage,
            l'incrustation et le compositing. La lecture dans le navigateur peut
            ne pas fonctionner ; telechargez le fichier et lisez-le avec VLC /
            mpv / ffplay. Sans frais supplementaires
          enum:
            - mp4
            - mov
          default: mp4
          example: mp4
        model_params:
          type: object
          description: Parametres etendus du modele
          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


                **Incompatible avec le filtre de contenu :**

                - Conservez `content_filter: true` lorsque la recherche web est
                activee ; l'utiliser avec `content_filter: false` renvoie une
                erreur de parametre 400
              default: false
              example: false
        callback_url:
          type: string
          description: >-
            URL de rappel HTTPS apres l'achevement de la tache


            **Declenchement du rappel :**

            - Déclenché lorsque la tâche est terminée (completed) ou a échoué
            (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
    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 tâche peut être annulée. Seedance 2.5 ne permet pas
            aux utilisateurs d’annuler une tâche ; ce champ renvoie toujours
            `false`.
          example: 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

        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.