> ## 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 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)**
- 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.0/seedance-2.0-text-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: API Seedance 2.0 Text-to-Video
  description: >-
    API Seedance 2.0 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.0 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)**

        - 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: createSeedance20TextToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              basic:
                summary: Text-to-Video basique
                value:
                  model: seedance-2.0-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.0-text-to-video
                  prompt: >-
                    Today's New York weather forecast, with city skyline
                    animation and temperature overlay display
                  duration: 8
                  aspect_ratio: '16:9'
                  model_params:
                    web_search: 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 model:
                    seedance-2.0-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
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: Nom du modele de generation video
          enum:
            - seedance-2.0-text-to-video
          default: seedance-2.0-text-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 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 `15` secondes
            - La duree est directement liee a la facturation
          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
            - `4k` : resolution 4K Ultra HD
          enum:
            - 480p
            - 720p
            - 1080p
            - 4k
          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` : le modele choisit intelligemment le meilleur rapport
            d'aspect en fonction du prompt


            **Pixels correspondants par resolution :**


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

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

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

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

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

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

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

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


            **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
          default: true
          example: true
        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
              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.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

        ```

````