> ## 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 Flash Complete Parameter Guide

> Complete parameter reference for Seedance 2.5 Flash. Use `model` to select a model in this folder. Required fields, input requirements, and billing rules are listed for each mode.

**Draft limitation:** Seedance 2.5 Flash does not support `draft: true` or draft-to-final conversion.

**Text-to-video web search:** `model_params.web_search: true` cannot be combined with `content_filter: false`; sending both returns a 400 parameter error. Keep `content_filter: true` (the default) when web search is needed.

| Model ID | Mode | Required fields (excluding model) |
|---|---|---|
| `seedance-2.5-flash-text-to-video` | Text-to-Video | `prompt` |
| `seedance-2.5-flash-image-to-video` | Image-to-Video | `prompt`, `image_urls` |
| `seedance-2.5-flash-reference-to-video` | Reference-to-Video | `prompt` |
| `seedance-2.5-flash-video-edit` | Video Edit | `prompt`, `video_urls` |
| `seedance-2.5-flash-video-extend` | Video Extend | `prompt`, `video_urls` |

### Text-to-Video

- Generate videos from text prompts, supports web search for enhanced timeliness

### Image-to-Video

- Input 1 image for first-frame video generation, input 2 images for first-last-frame video generation, the model determines automatically

### Reference-to-Video

- Generate video from a text prompt with optional reference images (0–10), videos (0–5), and audio clips (0–5). References may be omitted entirely, and audio-only reference input is supported.
- Best suited for generating new footage: images, videos, and audio act as style, subject, camera-movement, and soundtrack references
- **To rewrite or continue an existing video, switch to [Video Edit](/en/api-manual/video-series/seedance/seedance-2.5-flash/seedance-2.5-flash-video-edit) / [Video Extend](/en/api-manual/video-series/seedance/seedance-2.5-flash/seedance-2.5-flash-video-extend)**: once this model's prompt carries an editing or extension intent, the request is validated as an edit / extend task — it is accepted without an error and the task only fails while it runs

### Video Edit

- Video editing on an input video — replace subjects, add/remove objects, restyle or repaint regions
- Describe the change directly in the prompt, e.g. "Remove all passers-by in @video1, keep only the main character"
- Input the video to edit (required) + optional reference images (0–10) + reference videos (up to 5 in total) + reference audio (0–5)

### Video Extend

- Extend an input video forward or backward
- Prompt must state the extension intent (e.g. "Extend @video1 backward, the character walks out of the frame")
- Input the video to extend (required) + optional reference images (0–10) + reference videos (up to 5 in total) + reference audio (0–5)

- **Now supports AIGC realistic human materials**
- Asynchronous processing mode, use the returned task ID to [query status](/en/api-manual/task-management/get-task-detail)
- Generated video links are valid for 24 hours, please save them promptly



## OpenAPI

````yaml en/api-manual/video-series/seedance/seedance-2.5-flash/seedance-2.5-flash-overview.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Seedance 2.5 Flash Complete Parameter Guide
  description: >-
    Unified parameter reference for the 5 models in this Seedance 2.5 Flash
    folder. Select a mode with model; required fields and limits for each mode
    are documented below.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Video Generation
    description: AI video generation endpoints
paths:
  /v1/videos/generations:
    post:
      tags:
        - Video Generation
      summary: Seedance 2.5 Flash Complete Parameter Guide
      description: >-
        Complete parameter reference for Seedance 2.5 Flash. Use `model` to
        select a model in this folder. Required fields, input requirements, and
        billing rules are listed for each mode.


        **Draft limitation:** Seedance 2.5 Flash does not support `draft: true`
        or draft-to-final conversion.


        **Text-to-video web search:** `model_params.web_search: true` cannot be
        combined with `content_filter: false`; sending both returns a 400
        parameter error. Keep `content_filter: true` (the default) when web
        search is needed.


        | Model ID | Mode | Required fields (excluding model) |

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

        | `seedance-2.5-flash-text-to-video` | Text-to-Video | `prompt` |

        | `seedance-2.5-flash-image-to-video` | Image-to-Video | `prompt`,
        `image_urls` |

        | `seedance-2.5-flash-reference-to-video` | Reference-to-Video |
        `prompt` |

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

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


        ### Text-to-Video


        - Generate videos from text prompts, supports web search for enhanced
        timeliness


        ### Image-to-Video


        - Input 1 image for first-frame video generation, input 2 images for
        first-last-frame video generation, the model determines automatically


        ### Reference-to-Video


        - Generate video from a text prompt with optional reference images
        (0–10), videos (0–5), and audio clips (0–5). References may be omitted
        entirely, and audio-only reference input is supported.

        - Best suited for generating new footage: images, videos, and audio act
        as style, subject, camera-movement, and soundtrack references

        - **To rewrite or continue an existing video, switch to [Video
        Edit](/en/api-manual/video-series/seedance/seedance-2.5-flash/seedance-2.5-flash-video-edit)
        / [Video
        Extend](/en/api-manual/video-series/seedance/seedance-2.5-flash/seedance-2.5-flash-video-extend)**:
        once this model's prompt carries an editing or extension intent, the
        request is validated as an edit / extend task — it is accepted without
        an error and the task only fails while it runs


        ### Video Edit


        - Video editing on an input video — replace subjects, add/remove
        objects, restyle or repaint regions

        - Describe the change directly in the prompt, e.g. "Remove all
        passers-by in @video1, keep only the main character"

        - Input the video to edit (required) + optional reference images (0–10)
        + reference videos (up to 5 in total) + reference audio (0–5)


        ### Video Extend


        - Extend an input video forward or backward

        - Prompt must state the extension intent (e.g. "Extend @video1 backward,
        the character walks out of the frame")

        - Input the video to extend (required) + optional reference images
        (0–10) + reference videos (up to 5 in total) + reference audio (0–5)


        - **Now supports AIGC realistic human materials**

        - Asynchronous processing mode, use the returned task ID to [query
        status](/en/api-manual/task-management/get-task-detail)

        - Generated video links are valid for 24 hours, please save them
        promptly
      operationId: createSeedance25FlashVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video_basic:
                summary: Basic text-to-video
                value:
                  model: seedance-2.5-flash-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 with web search
                value:
                  model: seedance-2.5-flash-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
                  content_filter: true
              image_to_video_first_frame:
                summary: First-frame image-to-video
                value:
                  model: seedance-2.5-flash-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: First-last-frame image-to-video
                value:
                  model: seedance-2.5-flash-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
              reference_to_video_multimodal:
                summary: Multimodal reference (image + video + audio)
                value:
                  model: seedance-2.5-flash-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: Image + video reference (subject + camera movement)
                value:
                  model: seedance-2.5-flash-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: Multi-video reference (multi-shot narrative)
                value:
                  model: seedance-2.5-flash-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
              video_edit_remove_objects:
                summary: Edit video (remove objects)
                value:
                  model: seedance-2.5-flash-video-edit
                  prompt: >-
                    Edit the video: remove all passers-by in @video1, keep only
                    the main character
                  video_urls:
                    - https://example.com/original.mp4
                  quality: 720p
                  generate_audio: true
                  content_filter: true
              video_edit_replace_subject:
                summary: Edit video (replace element with image reference)
                value:
                  model: seedance-2.5-flash-video-edit
                  prompt: >-
                    Edit the video: replace the perfume in the gift box in
                    @video1 with the face cream in @image1, keep the camera
                    movement unchanged
                  image_urls:
                    - https://example.com/cream.jpg
                  video_urls:
                    - https://example.com/original.mp4
                  duration: -1
                  quality: 720p
              video_extend_extend_backward:
                summary: Extend video backward (custom duration)
                value:
                  model: seedance-2.5-flash-video-extend
                  prompt: >-
                    Extend @video1 backward: the character walks out of the
                    frame, the camera slowly pulls back to reveal the empty
                    street
                  video_urls:
                    - https://example.com/original.mp4
                  duration: 12
                  quality: 720p
                  generate_audio: true
                  content_filter: true
              video_extend_extend_forward:
                summary: Extend video forward (automatic duration)
                value:
                  model: seedance-2.5-flash-video-extend
                  prompt: >-
                    Extend @video1 forward: the character keeps walking into the
                    sunset as the light gradually fades
                  video_urls:
                    - https://example.com/original.mp4
                  duration: -1
                  quality: 720p
      responses:
        '200':
          description: Video generation task created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_parameter
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Unauthenticated, token invalid or expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Insufficient quota, top-up required
          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: Access denied
          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-flash-text-to-video
                  type: invalid_request_error
        '429':
          description: Rate limit exceeded
          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: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
        '503':
          description: Service temporarily unavailable; please retry later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    VideoGenerationRequest:
      type: object
      description: >-
        This page combines the parameters of all modes. Required fields,
        accepted values, and defaults depend on the selected model; differences
        are listed by mode below.
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: >-
            Video generation model name


            | Model ID | Mode | Required fields (excluding model) |

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

            | `seedance-2.5-flash-text-to-video` | Text-to-Video | `prompt` |

            | `seedance-2.5-flash-image-to-video` | Image-to-Video | `prompt`,
            `image_urls` |

            | `seedance-2.5-flash-reference-to-video` | Reference-to-Video |
            `prompt` |

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

            | `seedance-2.5-flash-video-extend` | Video Extend | `prompt`,
            `video_urls` |
          enum:
            - seedance-2.5-flash-text-to-video
            - seedance-2.5-flash-image-to-video
            - seedance-2.5-flash-reference-to-video
            - seedance-2.5-flash-video-edit
            - seedance-2.5-flash-video-extend
          example: seedance-2.5-flash-text-to-video
        prompt:
          type: string
          description: >-
            **Text-to-Video**


            Text prompt describing the desired video. Supports both Chinese and
            English, recommended no more than 500 characters for Chinese or 1000
            words for English. Maximum prompt length: 10000 tokens


            **Note:**

            - This model is text-to-video only and does not support
            `image_urls`, `video_urls`, or `audio_urls` input


            **Image-to-Video**


            Text prompt describing the desired video. Supports both Chinese and
            English, recommended no more than 500 characters for Chinese or 1000
            words for English. Maximum prompt length: 10000 tokens


            **Note:**

            - This model does not support `video_urls` or `audio_urls` input


            **Reference-to-Video**


            Text prompt describing the desired video. Supports both Chinese and
            English, recommended no more than 500 characters for Chinese.
            Maximum prompt length: 10000 tokens


            **Details:**

            - When referring to input materials in the prompt, prefer explicit
            tags such as `@image1`, `@video1`, and `@audio1` instead of relying
            only on natural-language references such as "image 1", "video 1", or
            "audio 1"

            - Tag numbers follow the order of the corresponding URL array and
            start at 1: the first `image_urls` item is `@image1`, the first
            `video_urls` item is `@video1`, and the first `audio_urls` item is
            `@audio1`

            - Natural-language numbering may still be understood, but explicit
            tags provide a clearer mapping between each material and its
            intended use


            **Avoid being classified as an edit / extend task:**

            - The task type is inferred from the prompt intent: wording such as
            "edit the video", "add", "remove / delete", "change / replace" is
            treated as video editing; wording such as "extend forward /
            backward", "continue" is treated as video extension

            - Once classified as either task, `aspect_ratio` must be `adaptive`,
            and for video editing `duration` must be `-1`; otherwise the request
            is accepted without an error and the task later turns `failed` with
            error code `InvalidParameter.TaskTypeConstraint`. The pre-authorized
            quota is refunded, but the waiting time is wasted

            - If you really need editing / extension, use
            `seedance-2.5-flash-video-edit` or `seedance-2.5-flash-video-extend`
            instead: parameters are validated at submission, so invalid values
            return an immediate synchronous error

            - For pure reference generation, rephrase words like "replace" or
            "remove" descriptively, e.g. "the shot features ..." or "rendered in
            the style of @image1"


            **Video Edit**


            Text prompt describing the desired edit. Supports both Chinese and
            English, recommended no more than 500 characters for Chinese.
            Maximum prompt length: 10000 tokens


            **Details:**

            - The prompt must state the editing intent, e.g., "Edit the video:
            remove the background music of @video1"

            - You can use natural language to specify the purpose of each
            material, e.g., "replace the character in @video1 with the person in
            @image1"

            - The model will automatically understand the correspondence between
            material numbers and their intended uses


            **Video Extend**


            Text prompt describing the desired extension. Supports both Chinese
            and English, recommended no more than 500 characters for Chinese.
            Maximum prompt length: 10000 tokens


            **Details:**

            - The prompt must state the extension intent, e.g., "Extend @video1
            backward, the character walks out of the frame"

            - You can use natural language to specify the purpose of each
            material, e.g., "extend @video1 forward following the style of
            @image1"

            - The model will automatically understand the correspondence between
            material numbers and their intended uses
          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.
        image_urls:
          type: array
          description: >-
            Applies only to: **Image-to-Video**, **Reference-to-Video**, **Video
            Edit**, **Video Extend**


            **Image-to-Video**


            Image URL array, **1–2 images**


            **Image count and behavior:**


            | Image Count | Behavior | Role |

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

            | 1 image | First-frame image-to-video | Automatically set as
            `first_frame` |

            | 2 images | First-last-frame image-to-video | 1st image →
            `first_frame`, 2nd image → `last_frame` |


            **Image requirements:**

            - Supported formats: `.jpeg`, `.png`, `.webp`

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Max size per image: `30MB`

            - Total request body size must not exceed `64MB`

            - When providing first and last frames, both images can be
            identical. If aspect ratios differ, the first frame takes priority
            and the last frame will be automatically cropped to fit

            - Image URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.


            **Reference-to-Video**


            Reference image URL array, **optional; 1–10 images when provided**


            **Optional references:** `image_urls`, `video_urls`, and
            `audio_urls` may all be omitted. Providing only `audio_urls` is also
            supported.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Image | `reference_image` | Style reference, product image,
            first/last frame (specified via prompt) |


            **Image requirements:**

            - Supported formats: `.jpeg`, `.png`, `.webp`

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Max size per image: `30MB`

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Image URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.


            **Video Edit**


            Reference image URL array, **optional; 1–10 images when provided**


            **Requirement:** `video_urls` is required for this model; images are
            optional supplementary references.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Image | `reference_image` | Style reference, product image,
            replacement subject (specified via prompt) |


            **Image requirements:**

            - Supported formats: `.jpeg`, `.png`, `.webp`

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Max size per image: `30MB`

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Image URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.


            **Video Extend**


            Reference image URL array, **optional; 1–10 images when provided**


            **Requirement:** `video_urls` is required for this model; images are
            optional supplementary references.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Image | `reference_image` | Style reference, product image, scene
            reference (specified via prompt) |


            **Image requirements:**

            - Supported formats: `.jpeg`, `.png`, `.webp`

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Max size per image: `30MB`

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Image URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.
          items:
            type: string
            format: uri
          maxItems: 10
          example:
            - https://example.com/first-frame.jpg
        video_urls:
          type: array
          description: >-
            Applies only to: **Reference-to-Video**, **Video Edit**, **Video
            Extend**


            **Reference-to-Video**


            Reference video URL array, **optional; 1–5 videos when provided**


            **Optional references:** `image_urls`, `video_urls`, and
            `audio_urls` may all be omitted. Providing only `audio_urls` is also
            supported.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Video | `reference_video` | Camera movement reference, motion
            reference, original video for editing/extension |


            **Video requirements:**

            - Supported formats: `.mp4`, `.mov`

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

            - Duration per video: `2` ~ `30` seconds, max 5 videos, total
            duration of all videos ≤ `30` seconds

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Frame pixels (width × height): `409,600` ~ `8,295,044` (e.g.,
            640×640 ~ 3326×2494)

            - Max size per video: `200MB`

            - Frame rate: `24` ~ `60` FPS

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Specific codec, resolution, and other media validity checks are
            performed by the model

            - Using video references will increase costs (input video duration
            is counted in billing)

            - Video URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.


            **Video Edit**


            Input video URL array, **required; 1–5 videos**


            **Requirement:** At least 1 video required — the video to edit. The
            first video is the video being edited; additional videos serve as
            references.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Video | `reference_video` | The video to edit (first video),
            camera movement or motion reference (additional videos) |


            **Video requirements:**

            - Supported formats: `.mp4`, `.mov`

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

            - Duration per video: `4` ~ `30` seconds (the first video is the
            edit target), max 5 videos, total duration of all videos ≤ `30`
            seconds

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Frame pixels (width × height): `409,600` ~ `8,295,044` (e.g.,
            640×640 ~ 3326×2494)

            - Max size per video: `200MB`

            - Frame rate: `24` ~ `60` FPS

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Specific codec, resolution, and other media validity checks are
            performed by the model

            - Using video references will increase costs (input video duration
            is counted in billing)

            - Video URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.


            **Video Extend**


            Input video URL array, **required; 1–5 videos**


            **Requirement:** At least 1 video required — the video to extend.
            The first video is the video being extended; additional videos serve
            as references.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Video | `reference_video` | The video to extend (first video),
            camera movement or motion reference (additional videos) |


            **Video requirements:**

            - Supported formats: `.mp4`, `.mov`

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

            - Duration per video: `2` ~ `30` seconds, max 5 videos, total
            duration of all videos ≤ `30` seconds

            - Aspect ratio (width/height): `0.4` ~ `2.5`

            - Width/height pixels: `300` ~ `6000` px

            - Frame pixels (width × height): `409,600` ~ `8,295,044` (e.g.,
            640×640 ~ 3326×2494)

            - Max size per video: `200MB`

            - Frame rate: `24` ~ `60` FPS

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Specific codec, resolution, and other media validity checks are
            performed by the model

            - Using video references will increase costs (input video duration
            is counted in billing)

            - Video URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.
          items:
            type: string
            format: uri
          maxItems: 5
          example:
            - https://example.com/reference.mp4
        audio_urls:
          type: array
          description: >-
            Applies only to: **Reference-to-Video**, **Video Edit**, **Video
            Extend**


            **Reference-to-Video**


            Reference audio URL array, **optional; 1–5 clips when provided**


            **Optional references:** `image_urls`, `video_urls`, and
            `audio_urls` may all be omitted. Providing only `audio_urls` is also
            supported.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Audio | `reference_audio` | Background music, sound effects,
            voice/dialogue reference |


            **Audio requirements:**

            - Supported formats: `.wav`, `.mp3`

            - Duration per clip: `2` ~ `30` seconds, max 5 clips, total duration
            of all audio ≤ `30` seconds

            - Max size per clip: `15MB`

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Audio URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.


            **Video Edit / Video Extend**


            Reference audio URL array, **optional; 1–5 clips when provided**


            **Requirement:** `video_urls` is required for this model; audio
            clips are optional supplementary references.


            **Role description:**


            | Media Type | Role | Typical Usage |

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

            | Audio | `reference_audio` | Background music, sound effects,
            voice/dialogue reference |


            **Audio requirements:**

            - Supported formats: `.wav`, `.mp3`

            - Duration per clip: `2` ~ `30` seconds, max 5 clips, total duration
            of all audio ≤ `30` seconds

            - Max size per clip: `15MB`

            - Total request body size must not exceed `64MB`, do not use Base64
            encoding

            - Audio URLs must be directly accessible by the server


            **Media addresses:** Publicly accessible HTTP(S) URLs and `asset://`
            media IDs accessible to the selected upstream account are supported.
          items:
            type: string
            format: uri
          maxItems: 5
          example:
            - https://example.com/bgm.mp3
        duration:
          type: integer
          description: >-
            **Text-to-Video / Image-to-Video**


            Video duration (seconds), defaults to `5` seconds


            **Details:**

            - Supports any integer value between `4`–`30` seconds

            - `-1`: automatic duration, the model picks a length within `4`–`30`
            seconds and billing follows the actual output length

            - Duration directly affects billing


            **Reference-to-Video**


            Output video duration (seconds), defaults to `5` seconds


            **Details:**

            - Supports any integer value between `4`–`30` seconds

            - `-1`: automatic duration, the model picks a length within `4`–`30`
            seconds and billing follows the actual output length

            - Duration directly affects billing


            If the prompt is classified as a video edit task, only `-1` is
            accepted; an explicit number of seconds makes the task fail later,
            with no error at submission


            **Video Edit**


            Output video duration (seconds), defaults to `-1`


            **Details:**

            - Only `-1` is supported: the output length follows the input video
            (may be up to 0.4s shorter)

            - Custom durations are rejected

            - Duration directly affects billing


            **Video Extend**


            Output video duration (seconds), defaults to `5` seconds


            **Details:**

            - Supports any integer value between `4`–`30` seconds

            - `-1`: automatic duration, settled by actual output length

            - Duration directly affects billing
          anyOf:
            - enum:
                - -1
            - minimum: 4
              maximum: 30
          example: 8
        quality:
          type: string
          description: |-
            Video resolution, defaults to `720p`

            **Options:**
            - `480p`: Lower clarity, lower cost
            - `720p`: Standard clarity, this is the default
          enum:
            - 480p
            - 720p
          default: 720p
          example: 720p
        aspect_ratio:
          type: string
          description: >-
            **Text-to-Video**


            Video aspect ratio, defaults to `adaptive`


            **Options:**

            - `16:9` (landscape), `9:16` (portrait), `1:1` (square), `4:3`,
            `3:4`, `21:9` (ultrawide)

            - `adaptive`: The model intelligently selects the best aspect ratio
            based on the prompt


            **Pixel values per resolution:**


            | Aspect Ratio | 480p | 720p |

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

            | 16:9 | 854×480 | 1280×720 |

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

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

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

            | 9:16 | 480×854 | 720×1280 |

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


            **Image-to-Video**


            Video aspect ratio, image-to-video only supports `adaptive`


            **Options:**

            - `adaptive`: Automatically selects the closest aspect ratio based
            on the first-frame image proportions, the only value this model
            accepts

            - Fixed ratios such as `16:9` or `9:16` cannot be specified for this
            model


            **Reference-to-Video**


            Video aspect ratio, defaults to `adaptive`


            **Options:**

            - `16:9` (landscape), `9:16` (portrait), `1:1` (square), `4:3`,
            `3:4`, `21:9` (ultrawide)

            - `adaptive`: Determined based on prompt intent, priority: video >
            image > prompt


            **Pixel values per resolution:**


            | Aspect Ratio | 480p | 720p |

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

            | 16:9 | 854×480 | 1280×720 |

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

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

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

            | 9:16 | 480×854 | 720×1280 |

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


            If the prompt is classified as a video edit / extend task, only
            `adaptive` is accepted; a fixed ratio makes the task fail later,
            with no error at submission


            **Video Edit / Video Extend**


            Video aspect ratio, defaults to `adaptive`


            **Options:**

            - `adaptive`: the output ratio follows the first input video, the
            only value this model accepts

            - Fixed ratios such as `16:9` or `9:16` are rejected
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
            - '21:9'
            - adaptive
          default: adaptive
          example: '16:9'
        generate_audio:
          type: boolean
          description: >-
            **Text-to-Video**


            Whether to generate synchronized audio, defaults to `true`


            **Options:**

            - `true`: Video includes synchronized audio (voice, sound effects,
            background music) at no additional charge. It is recommended to
            place dialogue within double quotes to optimize audio generation

            - `false`: Output silent video


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


            Whether to generate synchronized audio, defaults to `true`


            **Options:**

            - `true`: Video includes synchronized audio at no additional charge

            - `false`: Output silent video
          default: true
          example: true
        content_filter:
          type: boolean
          description: >-
            Content filter, enabled by default `true`


            **Options:**

            - `true`: Standard content safety check, this is the default

            - `false`: Relaxes content restrictions, billed at +10% (`1.1x`).
            Illegal and prohibited content is always enforced regardless of this
            setting


            **Mutually exclusive with web search:**

            - `content_filter: false` and `model_params.web_search: true` cannot
            be used together; sending both returns a 400 parameter error

            - Keep `content_filter: true` (the default) when web search is
            needed
          default: true
          example: true
        output_format:
          type: string
          description: >-
            Output container format, defaults to `mp4`


            **Options:**

            - `mp4`: H.264 encoding with the best compatibility and standard
            color precision, this is the default

            - `mov`: H.264 + yuv444p chroma sampling + PCM audio for higher
            color fidelity, recommended for color grading, keying and
            compositing workflows. Browser inline playback may not support it;
            download and play with VLC / mpv / ffplay. No extra charge
          enum:
            - mp4
            - mov
          default: mp4
          example: mp4
        model_params:
          type: object
          description: |-
            Applies only to: **Text-to-Video**

            Model extension parameters
          properties:
            web_search:
              type: boolean
              description: >-
                Web search, defaults to `false`


                **Details:**

                - When enabled, the model autonomously decides whether to search
                internet content (e.g., products, weather) based on the prompt,
                improving timeliness

                - May increase latency

                - Fees are only charged when searches are actually triggered;
                multiple searches may occur once enabled


                **Mutually exclusive with the content filter:**

                - Keep `content_filter: true` when web search is enabled; using
                it together with `content_filter: false` returns a 400 parameter
                error
              default: false
              example: false
        callback_url:
          type: string
          description: >-
            HTTPS callback URL for task completion


            **Callback timing:**

            - Triggered when the task is completed or failed

            - Sent after billing confirmation is complete


            **Security restrictions:**

            - Only HTTPS protocol is supported

            - Callbacks to private IP addresses are prohibited (127.0.0.1,
            10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - URL length must not exceed `2048` characters


            **Callback mechanism:**

            - Timeout: `10` seconds

            - Up to `3` retries after failure (at `1`/`2`/`4` seconds after
            failure respectively)

            - Callback response body format is consistent with the task query
            endpoint response format

            - A 2xx status code is considered successful; other status codes
            trigger retries
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Task creation timestamp
          example: 1761313744
        id:
          type: string
          description: Task ID
          example: task-unified-1774857405-abc123
        model:
          type: string
          description: Actual model name used
          example: seedance-2.5-flash-text-to-video
        object:
          type: string
          enum:
            - video.generation.task
          description: Specific type of the task
        progress:
          type: integer
          description: Task progress percentage (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Task status
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Video task details
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Output type of the task
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Usage and billing information
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Error code identifier
            message:
              type: string
              description: Error description message
            type:
              type: string
              description: Error type
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: >-
            Whether the task can be cancelled. Seedance 2.5 Flash does not
            support user cancellation; this field always returns `false`.
          example: false
        estimated_time:
          type: integer
          description: Estimated completion time (seconds)
          minimum: 0
          example: 165
        video_duration:
          type: integer
          description: Video duration (seconds)
          example: 8
    VideoUsage:
      type: object
      description: Usage and billing information
      properties:
        billing_rule:
          type: string
          description: Billing rule
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: Estimated credits consumed
          minimum: 0
          example: 50
        user_group:
          type: string
          description: User group category
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##All endpoints require Bearer Token authentication##


        **Get API Key:**


        Visit the [API Key Management Page](https://evolink.ai/dashboard/keys)
        to obtain your API Key


        **Add to request header:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````

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