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

> Référence complète des paramètres de Seedance 2.5. Sélectionnez un modèle de ce dossier avec `model`. Les champs obligatoires, les entrées et la facturation sont détaillés pour chaque mode.

| ID du modèle | Mode | Champs obligatoires (hors model) |
|---|---|---|
| `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` |
| `seedance-2.5-video-edit` | Video Edit | `prompt`, `video_urls` |
| `seedance-2.5-video-extend` | Video Extend | `prompt`, `video_urls` |
| `seedance-2.5-draft-to-video` | Draft-to-Video | `source_task_id` |

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

### 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)**
- 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

### Reference-to-Video

- Entrez des images de reference (0 a 30) + des videos de reference (0 a 10) + des audios de reference (0 a 10) + un prompt textuel pour generer une video ; au moins une image, une video ou un audio de reference doit etre fourni
- Adapte a la creation de nouvelles videos : les images, videos et audios servent de reference de style, de sujet, de mouvement de camera et de musique
- **Pour reecrire ou prolonger une video existante, utilisez [Video Edit](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-video-edit) / [Video Extend](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-video-extend)** : des que le prompt de ce modele exprime une intention d'edition ou d'extension, les parametres sont valides comme ceux d'une tache d'edition / extension : la requete est acceptee sans erreur et la tache echoue seulement pendant la generation
- **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

### Video Edit

- Edition d'une video d'entree : remplacer des sujets, ajouter ou supprimer des objets, restyliser ou repeindre des zones
- Le prompt doit exprimer l'intention d'edition (par exemple "Editer la video : supprimer la musique de fond de @video1")
- Fournissez la video a editer (obligatoire) + des images de reference facultatives (0–30) + des videos de reference (10 au maximum au total) + de l'audio de reference (0–10)
- **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

### Video Extend

- Prolonge une video d'entree vers l'avant ou vers l'arriere
- Le prompt doit exprimer l'intention d'extension (par exemple "Prolonger @video1 vers l'arriere, le personnage sort du cadre")
- Fournissez la video a prolonger (obligatoire) + des images de reference facultatives (0–30) + des videos de reference (10 au maximum au total) + de l'audio de reference (0–10)
- **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

### Draft-to-Video

- Convertit un brouillon Seedance 2.5 terminé (une tâche créée avec `draft: true`) en vidéo finale 1080p au contenu identique
- Seuls quatre champs sont acceptés : `model`, `source_task_id`, `output_format` et `callback_url`. Le prompt, les médias, la durée, le rapport d’aspect, la graine aléatoire et les paramètres audio sont repris du brouillon : il est inutile et interdit de les fournir à nouveau. Tout autre champ renvoie une erreur de paramètre 400
- Envoyez la demande de conversion avant le `draft_expires_at` du brouillon. La durée de validité par défaut est de 24 heures après l’achèvement du brouillon ; l’échéance réelle est le `draft_expires_at` renvoyé lors de la consultation de la tâche
- Le système vérifie la validité lors de l’acceptation de la demande et avant son envoi pour génération. Une expiration dans la file d’attente fait échouer la conversion et entraîne le remboursement des frais de cette conversion. Prévoyez une marge pour l’attente
- Un même brouillon peut être converti plusieurs fois avant son expiration ; chaque conversion est facturée séparément
- Le traitement est asynchrone. Utilisez l’ID de tâche renvoyé pour [consulter la tâche](/fr/api-manual/task-management/get-task-detail) ; la réponse inclut `source_task_id`
- Le lien de la vidéo générée reste valide pendant 24 heures. Sauvegardez-la rapidement

**Règles de facturation :**
- La conversion est facturée séparément du brouillon, toujours au tarif `1080p`
- La durée de sortie correspond à la durée réelle de la vidéo enregistrée pour le brouillon source. Si cette valeur manque, la durée de sortie effective enregistrée dans la tâche source est utilisée
- Durée facturée : sans vidéo en entrée du brouillon, la durée de sortie ; avec des vidéos en entrée (y compris pour Reference-to-Video, Video Edit et Video Extend), `durée de sortie + max(durée des vidéos d’entrée, durée de sortie)`. Dans les deux cas, elle est arrondie au dixième de seconde supérieur
- Si le filtre de contenu était désactivé pour le brouillon (`content_filter: false`), la vidéo finale est également facturée avec une majoration de +10% (`1.1x`)
- En cas d’échec de la conversion, les frais de cette conversion sont remboursés ; ceux du brouillon ne le sont pas





## OpenAPI

````yaml fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-overview.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Seedance 2.5 Guide complet des paramètres
  description: >-
    Référence unifiée des paramètres des 6 modèles de ce dossier Seedance 2.5.
    Choisissez le mode avec model ; les champs requis et les limites sont
    détaillés ci-dessous.
  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 Guide complet des paramètres
      description: >+
        Référence complète des paramètres de Seedance 2.5. Sélectionnez un
        modèle de ce dossier avec `model`. Les champs obligatoires, les entrées
        et la facturation sont détaillés pour chaque mode.


        | ID du modèle | Mode | Champs obligatoires (hors model) |

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

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

        | `seedance-2.5-video-edit` | Video Edit | `prompt`, `video_urls` |

        | `seedance-2.5-video-extend` | Video Extend | `prompt`, `video_urls` |

        | `seedance-2.5-draft-to-video` | Draft-to-Video | `source_task_id` |


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


        ### 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)**

        - 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


        ### Reference-to-Video


        - Entrez des images de reference (0 a 30) + des videos de reference (0 a
        10) + des audios de reference (0 a 10) + un prompt textuel pour generer
        une video ; au moins une image, une video ou un audio de reference doit
        etre fourni

        - Adapte a la creation de nouvelles videos : les images, videos et
        audios servent de reference de style, de sujet, de mouvement de camera
        et de musique

        - **Pour reecrire ou prolonger une video existante, utilisez [Video
        Edit](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-video-edit)
        / [Video
        Extend](/fr/api-manual/video-series/seedance/seedance-2.5/seedance-2.5-video-extend)**
        : des que le prompt de ce modele exprime une intention d'edition ou
        d'extension, les parametres sont valides comme ceux d'une tache
        d'edition / extension : la requete est acceptee sans erreur et la tache
        echoue seulement pendant la generation

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


        ### Video Edit


        - Edition d'une video d'entree : remplacer des sujets, ajouter ou
        supprimer des objets, restyliser ou repeindre des zones

        - Le prompt doit exprimer l'intention d'edition (par exemple "Editer la
        video : supprimer la musique de fond de @video1")

        - Fournissez la video a editer (obligatoire) + des images de reference
        facultatives (0–30) + des videos de reference (10 au maximum au total) +
        de l'audio de reference (0–10)

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


        ### Video Extend


        - Prolonge une video d'entree vers l'avant ou vers l'arriere

        - Le prompt doit exprimer l'intention d'extension (par exemple
        "Prolonger @video1 vers l'arriere, le personnage sort du cadre")

        - Fournissez la video a prolonger (obligatoire) + des images de
        reference facultatives (0–30) + des videos de reference (10 au maximum
        au total) + de l'audio de reference (0–10)

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


        ### Draft-to-Video


        - Convertit un brouillon Seedance 2.5 terminé (une tâche créée avec
        `draft: true`) en vidéo finale 1080p au contenu identique

        - Seuls quatre champs sont acceptés : `model`, `source_task_id`,
        `output_format` et `callback_url`. Le prompt, les médias, la durée, le
        rapport d’aspect, la graine aléatoire et les paramètres audio sont
        repris du brouillon : il est inutile et interdit de les fournir à
        nouveau. Tout autre champ renvoie une erreur de paramètre 400

        - Envoyez la demande de conversion avant le `draft_expires_at` du
        brouillon. La durée de validité par défaut est de 24 heures après
        l’achèvement du brouillon ; l’échéance réelle est le `draft_expires_at`
        renvoyé lors de la consultation de la tâche

        - Le système vérifie la validité lors de l’acceptation de la demande et
        avant son envoi pour génération. Une expiration dans la file d’attente
        fait échouer la conversion et entraîne le remboursement des frais de
        cette conversion. Prévoyez une marge pour l’attente

        - Un même brouillon peut être converti plusieurs fois avant son
        expiration ; chaque conversion est facturée séparément

        - Le traitement est asynchrone. Utilisez l’ID de tâche renvoyé pour
        [consulter la tâche](/fr/api-manual/task-management/get-task-detail) ;
        la réponse inclut `source_task_id`

        - Le lien de la vidéo générée reste valide pendant 24 heures.
        Sauvegardez-la rapidement


        **Règles de facturation :**

        - La conversion est facturée séparément du brouillon, toujours au tarif
        `1080p`

        - La durée de sortie correspond à la durée réelle de la vidéo
        enregistrée pour le brouillon source. Si cette valeur manque, la durée
        de sortie effective enregistrée dans la tâche source est utilisée

        - Durée facturée : sans vidéo en entrée du brouillon, la durée de sortie
        ; avec des vidéos en entrée (y compris pour Reference-to-Video, Video
        Edit et Video Extend), `durée de sortie + max(durée des vidéos d’entrée,
        durée de sortie)`. Dans les deux cas, elle est arrondie au dixième de
        seconde supérieur

        - Si le filtre de contenu était désactivé pour le brouillon
        (`content_filter: false`), la vidéo finale est également facturée avec
        une majoration de +10% (`1.1x`)

        - En cas d’échec de la conversion, les frais de cette conversion sont
        remboursés ; ceux du brouillon ne le sont pas

      operationId: createSeedance25VideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video_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
              text_to_video_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
              text_to_video_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
              image_to_video_first_frame:
                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
                  quality: 720p
                  aspect_ratio: adaptive
              image_to_video_first_last_frame:
                summary: Video avec images de debut et de fin
                value:
                  model: seedance-2.5-image-to-video
                  prompt: A smooth transition between two scenes
                  image_urls:
                    - https://example.com/first.jpg
                    - https://example.com/last.jpg
                  duration: 6
                  quality: 720p
                  aspect_ratio: adaptive
              image_to_video_draft:
                summary: Mode brouillon (480p)
                value:
                  model: seedance-2.5-image-to-video
                  prompt: >-
                    La caméra avance lentement et la scène prend progressivement
                    vie
                  image_urls:
                    - https://example.com/first-frame.jpg
                  duration: 5
                  quality: 480p
                  aspect_ratio: adaptive
                  draft: true
              reference_to_video_multimodal:
                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
              reference_to_video_subject_reference:
                summary: Reference image + video (sujet + mouvement de camera)
                value:
                  model: seedance-2.5-reference-to-video
                  prompt: >-
                    Make the face cream in @image1 the hero product, and follow
                    the camera rhythm and lighting mood of @video1 to generate a
                    clean product commercial
                  image_urls:
                    - https://example.com/cream.jpg
                  video_urls:
                    - https://example.com/reference.mp4
                  duration: 5
                  quality: 720p
                  aspect_ratio: '16:9'
              reference_to_video_multi_video:
                summary: Reference multi-videos (narration en plusieurs plans)
                value:
                  model: seedance-2.5-reference-to-video
                  prompt: >-
                    The arched window in @video1 opens into the art gallery
                    interior, continuing with @video2; then the camera enters
                    the painting, continuing with @video3
                  video_urls:
                    - https://example.com/part1.mp4
                    - https://example.com/part2.mp4
                    - https://example.com/part3.mp4
                  duration: 8
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
              reference_to_video_draft:
                summary: Mode brouillon (480p)
                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: 480p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
                  draft: true
              video_edit_remove_objects:
                summary: Editer la video (supprimer des objets)
                value:
                  model: seedance-2.5-video-edit
                  prompt: >-
                    Editer la video : supprimer tous les passants de @video1 et
                    ne garder que le personnage principal
                  video_urls:
                    - https://example.com/original.mp4
                  quality: 720p
                  generate_audio: true
                  content_filter: true
              video_edit_replace_subject:
                summary: >-
                  Editer la video (remplacer un element a partir d'une image de
                  reference)
                value:
                  model: seedance-2.5-video-edit
                  prompt: >-
                    Editer la video : remplacer le parfum du coffret cadeau de
                    @video1 par la creme visage de @image1, sans modifier le
                    mouvement de camera
                  image_urls:
                    - https://example.com/cream.jpg
                  video_urls:
                    - https://example.com/original.mp4
                  duration: -1
                  quality: 720p
              video_edit_draft:
                summary: Mode brouillon (480p)
                value:
                  model: seedance-2.5-video-edit
                  prompt: >-
                    Editer la video : supprimer tous les passants de @video1 et
                    ne garder que le personnage principal
                  video_urls:
                    - https://example.com/original.mp4
                  quality: 480p
                  generate_audio: true
                  content_filter: true
                  draft: true
              video_extend_extend_backward:
                summary: Prolonger la video vers l'arriere (duree personnalisee)
                value:
                  model: seedance-2.5-video-extend
                  prompt: >-
                    Prolonger @video1 vers l'arriere : le personnage sort du
                    cadre et la camera recule lentement pour reveler la rue vide
                  video_urls:
                    - https://example.com/original.mp4
                  duration: 12
                  quality: 720p
                  generate_audio: true
                  content_filter: true
              video_extend_extend_forward:
                summary: Prolonger la video vers l'avant (duree automatique)
                value:
                  model: seedance-2.5-video-extend
                  prompt: >-
                    Prolonger @video1 vers l'avant : le personnage continue de
                    marcher vers le coucher de soleil tandis que la lumiere
                    faiblit
                  video_urls:
                    - https://example.com/original.mp4
                  duration: -1
                  quality: 720p
              video_extend_draft:
                summary: Mode brouillon (480p)
                value:
                  model: seedance-2.5-video-extend
                  prompt: >-
                    Prolonger @video1 vers l'arriere : le personnage sort du
                    cadre et la camera recule lentement pour reveler la rue vide
                  video_urls:
                    - https://example.com/original.mp4
                  duration: 12
                  quality: 480p
                  generate_audio: true
                  content_filter: true
                  draft: true
              draft_to_video_basic:
                summary: Conversion en vidéo finale 1080p (MP4)
                value:
                  model: seedance-2.5-draft-to-video
                  source_task_id: task-unified-1774857405-abc123
              draft_to_video_mov:
                summary: Convertir en vidéo finale 1080p (MOV)
                value:
                  model: seedance-2.5-draft-to-video
                  source_task_id: task-unified-1774857405-abc123
                  output_format: mov
      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
      description: >-
        Cette page regroupe les paramètres des différents modes. Les champs
        obligatoires, valeurs acceptées et valeurs par défaut dépendent du model
        choisi ; les différences sont détaillées par mode ci-dessous.
      required:
        - model
      properties:
        model:
          type: string
          description: >-
            Nom du modele de generation video


            | ID du modèle | Mode | Champs obligatoires (hors model) |

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

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

            | `seedance-2.5-video-edit` | Video Edit | `prompt`, `video_urls` |

            | `seedance-2.5-video-extend` | Video Extend | `prompt`,
            `video_urls` |

            | `seedance-2.5-draft-to-video` | Draft-to-Video | `source_task_id`
            |
          enum:
            - seedance-2.5-text-to-video
            - seedance-2.5-image-to-video
            - seedance-2.5-reference-to-video
            - seedance-2.5-video-edit
            - seedance-2.5-video-extend
            - seedance-2.5-draft-to-video
          example: seedance-2.5-text-to-video
        prompt:
          type: string
          description: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            **Text-to-Video**


            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`


            **Image-to-Video**


            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`


            **Reference-to-Video**


            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. Longueur maximale du prompt : 10000 tokens


            **Details :**

            - Pour faire reference aux ressources d'entree dans le prompt,
            utilisez de preference des balises explicites comme `@image1`,
            `@video1` et `@audio1`, plutot que de vous fier uniquement a des
            references en langage naturel telles que « image 1 », « video 1 » ou
            « audio 1 »

            - La numerotation des balises suit l'ordre du tableau d'URL
            correspondant et commence a 1 : le premier element de `image_urls`
            est `@image1`, le premier de `video_urls` est `@video1` et le
            premier de `audio_urls` est `@audio1`

            - La numerotation en langage naturel peut encore etre comprise, mais
            les balises explicites associent plus clairement chaque ressource a
            son usage


            **Eviter que la tache soit classee comme edition / extension :**

            - Le type de tache est deduit de l'intention du prompt : des
            formulations comme "editer la video", "ajouter", "supprimer /
            enlever", "modifier / remplacer" sont interpretees comme une edition
            video ; des formulations comme "prolonger vers l'avant / vers
            l'arriere" ou "continuer" sont interpretees comme une extension
            video

            - Une fois classee ainsi, `aspect_ratio` doit valoir `adaptive` et,
            pour l'edition video, `duration` doit valoir `-1` ; sinon la requete
            est acceptee sans erreur et la tache passe ensuite en `failed` (code
            d'erreur `InvalidParameter.TaskTypeConstraint`). Le quota preleve
            est rembourse, mais le temps d'attente est perdu

            - Si vous avez reellement besoin d'editer ou de prolonger, utilisez
            directement `seedance-2.5-video-edit` ou `seedance-2.5-video-extend`
            : les parametres sont valides a l'envoi, une valeur invalide renvoie
            donc une erreur synchrone immediate

            - Pour une generation par reference pure, reformulez les mots comme
            "remplacer" ou "enlever" de maniere descriptive, par exemple "la
            scene fait apparaitre ..." ou "rendu dans le style de @image1"


            **Video Edit**


            Prompt textuel decrivant l'edition souhaitee. Prend en charge le
            chinois et l'anglais ; 500 caracteres maximum recommandes en
            chinois. Longueur maximale du prompt : 10000 tokens


            **Details :**

            - Le prompt doit exprimer l'intention d'edition, par exemple :
            "Editer la video : supprimer la musique de fond de @video1"

            - Vous pouvez preciser en langage naturel le role de chaque element,
            par exemple : "remplacer le personnage de @video1 par celui de
            @image1"

            - Le modele comprend automatiquement la correspondance entre les
            numeros des elements et leur usage


            **Video Extend**


            Prompt textuel decrivant l'extension souhaitee. Prend en charge le
            chinois et l'anglais ; 500 caracteres maximum recommandes en
            chinois. Longueur maximale du prompt : 10000 tokens


            **Details :**

            - Le prompt doit exprimer l'intention d'extension, par exemple :
            "Prolonger @video1 vers l'arriere, le personnage sort du cadre"

            - Vous pouvez preciser en langage naturel le role de chaque element,
            par exemple : "prolonger @video1 vers l'avant en suivant le style de
            @image1"

            - Le modele comprend automatiquement la correspondance entre les
            numeros des elements et leur usage
          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.
        source_task_id:
          type: string
          description: >-
            S’applique uniquement à : **Draft-to-Video**


            ID d’une tâche de brouillon Seedance 2.5 terminée


            **Comment l’obtenir :** le champ `id` renvoyé lors de la création du
            brouillon (`draft: true`)


            **Conditions :**

            1. La tâche doit appartenir au compte courant

            2. Son modèle doit être l’un des cinq modèles de génération Seedance
            2.5

            3. Elle doit avoir été créée avec `draft: true`

            4. Son statut doit être `completed`

            5. L’heure actuelle doit précéder le `draft_expires_at` renvoyé par
            la consultation de cette tâche
          example: task-unified-1774857405-abc123
        image_urls:
          type: array
          description: >-
            S’applique uniquement à : **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            **Image-to-Video**


            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`

            - 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


            **Reference-to-Video**


            Tableau d'URLs d'images de reference, **facultatif ; 1 a 30 images
            si fourni**


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

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

            | Image | `reference_image` | Reference de style, image produit,
            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`, ne pas
            utiliser l'encodage Base64

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


            **Video Edit**


            Tableau d'URLs d'images de reference, **facultatif ; 1 a 30 images
            si fourni**


            **Condition :** `video_urls` est obligatoire pour ce modele ; les
            images sont des references complementaires facultatives.


            **Description des roles :**


            | Type de media | Role | Utilisation typique |

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

            | Image | `reference_image` | Reference de style, visuel produit,
            sujet de remplacement (indique dans 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`, ne pas
            utiliser l'encodage Base64

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


            **Video Extend**


            Tableau d'URLs d'images de reference, **facultatif ; 1 a 30 images
            si fourni**


            **Condition :** `video_urls` est obligatoire pour ce modele ; les
            images sont des references complementaires facultatives.


            **Description des roles :**


            | Type de media | Role | Utilisation typique |

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

            | Image | `reference_image` | Reference de style, visuel produit,
            reference de scene (indique dans 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`, ne pas
            utiliser l'encodage Base64

            - Les URLs d'images doivent etre directement accessibles par le
            serveur
          items:
            type: string
            format: uri
          minItems: 1
          maxItems: 30
          example:
            - https://example.com/first-frame.jpg
        video_urls:
          type: array
          description: >-
            S’applique uniquement à : **Reference-to-Video**, **Video Edit**,
            **Video Extend**


            **Reference-to-Video**


            Tableau d'URLs de videos de reference, **facultatif ; 1 a 10 videos
            si fourni**


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

            - 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


            **Video Edit**


            Tableau d'URL de videos d'entree, **obligatoire ; de 1 a 10 videos**


            **Condition :** au moins 1 video est requise, celle a editer. La
            premiere video est l'objet de l'edition ; les suivantes servent de
            reference.


            **Description des roles :**


            | Type de media | Role | Utilisation typique |

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

            | Video | `reference_video` | La video a editer (la premiere),
            reference de mouvement de camera ou d'action (les suivantes) |


            **Exigences pour les videos :**

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

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

            - Duree par video : `4` a `30` secondes (la premiere video est
            l'objet de l'edition), 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

            - 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


            **Video Extend**


            Tableau d'URL de videos d'entree, **obligatoire ; de 1 a 10 videos**


            **Condition :** au moins 1 video est requise, celle a prolonger. La
            premiere video est l'objet de l'extension ; les suivantes servent de
            reference.


            **Description des roles :**


            | Type de media | Role | Utilisation typique |

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

            | Video | `reference_video` | La video a prolonger (la premiere),
            reference de mouvement de camera ou d'action (les suivantes) |


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

            - 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: >-
            S’applique uniquement à : **Reference-to-Video**, **Video Edit**,
            **Video Extend**


            **Reference-to-Video**


            Tableau d'URLs d'audios de reference, **facultatif ; 1 a 10 segments
            si fourni**


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


            **Video Edit / Video Extend**


            Tableau d'URLs d'audios de reference, **facultatif ; 1 a 10 segments
            si fourni**


            **Condition :** `video_urls` est obligatoire pour ce modele ;
            l'audio est une reference complementaire facultative.


            **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: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            **Text-to-Video / Image-to-Video**


            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


            **Reference-to-Video**


            Duree de la video de sortie (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


            Si le prompt est classe comme tache d'edition video, seul `-1` est
            accepte ; un nombre de secondes explicite fait echouer la tache plus
            tard, sans erreur a l'envoi


            **Video Edit**


            Duree de la video de sortie (secondes), par defaut `-1`


            **Details :**

            - Seule la valeur `-1` est prise en charge : la duree de sortie suit
            la video d'entree (elle peut etre plus courte de 0,4 s au maximum)

            - Les durees personnalisees sont refusees

            - La duree influe directement sur la facturation


            **Video Extend**


            Duree de la video de sortie (secondes), par defaut `5` secondes


            **Details :**

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

            - `-1` : duree automatique, facturee selon la duree reellement
            produite

            - La duree influe directement sur la facturation
          example: 8
        quality:
          type: string
          description: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            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
          description: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            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
          default: false
          example: false
        aspect_ratio:
          type: string
          description: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            **Text-to-Video**


            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 |


            **Image-to-Video**


            Rapport d'aspect de la video, Image-to-Video prend uniquement en
            charge `adaptive`


            **Valeurs possibles :**

            - `adaptive` : selectionne automatiquement le rapport d'aspect le
            plus proche en fonction de la premiere image ; c'est la seule valeur
            acceptee par ce modele

            - Les rapports fixes comme `16:9` ou `9:16` ne peuvent pas etre
            specifies pour ce modele


            **Reference-to-Video**


            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` : determine en fonction de l'intention du prompt,
            priorite : video > image > 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 |


            Si le prompt est classe comme tache d'edition / extension video,
            seul `adaptive` est accepte ; un rapport fixe fait echouer la tache
            plus tard, sans erreur a l'envoi


            **Video Edit / Video Extend**


            Rapport d'aspect de la video, par defaut `adaptive`


            **Valeurs possibles :**

            - `adaptive` : le rapport de sortie suit la premiere video d'entree
            ; c'est la seule valeur acceptee par ce modele

            - Les rapports fixes comme `16:9` ou `9:16` sont refuses
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
            - '21:9'
            - adaptive
          default: adaptive
          example: '16:9'
        generate_audio:
          type: boolean
          description: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            **Text-to-Video**


            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


            **Image-to-Video / Reference-to-Video / Video Edit / Video Extend**


            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: >-
            S’applique uniquement à : **Text-to-Video**, **Image-to-Video**,
            **Reference-to-Video**, **Video Edit**, **Video Extend**


            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: >-
            **Text-to-Video / Image-to-Video / Reference-to-Video / Video Edit /
            Video Extend**


            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


            **Draft-to-Video**


            Format de conteneur de sortie, par defaut `mp4`


            **Valeurs possibles :**

            - `mp4` : format de conteneur par défaut. Cet endpoint produit des
            vidéos 1080p avec une profondeur de couleur de 10 bits et un
            encodage H.265/HEVC. La lecture nécessite la prise en charge du HEVC
            10 bits ; les lecteurs limités au H.264 peuvent ne pas lire la vidéo

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


            Le format de sortie du brouillon n’est pas repris. Pour obtenir un
            fichier `mov`, indiquez-le ici
          enum:
            - mp4
            - mov
          default: mp4
          example: mp4
        model_params:
          type: object
          description: |-
            S’applique uniquement à : **Text-to-Video**

            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.