> ## 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 Fast Image-to-Video

> - Entrez 1 image pour generer une video a partir de la premiere image, entrez 2 images pour generer une video avec images de debut et de fin, le modele determine automatiquement
- **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-fast-image-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: API Seedance 2.0 Fast Image-to-Video
  description: >-
    API Seedance 2.0 Fast Image-to-Video, prend en charge la generation de
    videos a partir de la premiere image et la generation de videos a partir des
    images de debut et de fin
  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 Fast Image-to-Video
      description: >-
        - Entrez 1 image pour generer une video a partir de la premiere image,
        entrez 2 images pour generer une video avec images de debut et de fin,
        le modele determine automatiquement

        - **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: createSeedance20FastImageToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              first_frame:
                summary: Video a partir de la premiere image
                value:
                  model: seedance-2.0-fast-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
              first_last_frame:
                summary: Video avec images de debut et de fin
                value:
                  model: seedance-2.0-fast-image-to-video
                  prompt: A smooth transition between two scenes
                  image_urls:
                    - https://example.com/first.jpg
                    - https://example.com/last.jpg
                  duration: 6
                  aspect_ratio: '16:9'
      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-fast-image-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
        - image_urls
      properties:
        model:
          type: string
          description: Nom du modele de generation video
          enum:
            - seedance-2.0-fast-image-to-video
          default: seedance-2.0-fast-image-to-video
          example: seedance-2.0-fast-image-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 ne prend pas en charge les entrees `video_urls`,
            `audio_urls`
          example: The camera slowly zooms in, the scene gradually comes to life
        image_urls:
          type: array
          description: >-
            Tableau d'URLs d'images, **1 a 2 images**


            **Nombre d'images et comportement :**


            | Nombre d'images | Comportement | Role |

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

            | 1 image | Video a partir de la premiere image | Automatiquement
            defini comme `first_frame` |

            | 2 images | Video avec images de debut et de fin | 1ere image →
            `first_frame`, 2eme image → `last_frame` |


            **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`, ne pas
            utiliser l'encodage Base64 pour les fichiers volumineux

            - Lors de l'envoi d'images de debut et de fin, les deux images
            peuvent etre identiques. En cas de rapport d'aspect different, la
            premiere image prevaut 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: 2
          example:
            - https://example.com/first-frame.jpg
        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: 5
        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, **bientot disponible**
          enum:
            - 480p
            - 720p
          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` : selectionne automatiquement le rapport d'aspect le
            plus proche en fonction de la premiere image


            **Pixels correspondants par resolution :**


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

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

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

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

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

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

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

            | 21:9 | 992×432 | 1470×630 |
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
            - '21:9'
            - adaptive
          default: '16:9'
          example: adaptive
        generate_audio:
          type: boolean
          description: >-
            Generer ou non un audio synchronise, par defaut `true`


            **Valeurs possibles :**

            - `true` : la video inclut un audio synchronise, sans frais
            supplementaires

            - `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
        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-fast-image-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

        ```

````