> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goenhance.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance 2.5

> Generate a Seedance 2.5 video from text or 1-2 images. One image is used as the first frame; two images are used as the first and last frames.

**Pricing** — per second of generated video, in tokens (USD at $0.02/token):

| resolution | tokens/s | USD/s |
|---|---|---|
| 480p | 8.515 | $0.1703 |
| 720p | 18.265 | $0.3653 |

Native audio is included at no extra charge.

**Differences from Seedance 2.0** — do not assume the parameters carry over:

- Only `480p` and `720p` are available (2.0 also offers 1080p and 4k).
- `duration` goes up to **30 seconds** (2.0 stops at 15).
- **Image-to-video only accepts `aspect_ratio: adaptive`** — the output follows the input image. Sending a fixed ratio together with `image_urls` is rejected.

Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use `custom_callback_url`) to get the generated video.



## OpenAPI

````yaml api-reference/video-generations/openapi-seedance-2-5.json POST /api/v1/videos/generations
openapi: 3.1.0
info:
  title: GoEnhance API - Seedance 2.0
  description: Seedance 2.0 text-to-video and first/last-frame image-to-video generation.
  version: 1.0.0
servers:
  - url: https://api.goenhance.ai
security: []
paths:
  /api/v1/videos/generations:
    post:
      tags:
        - VideoGenerations
      summary: Seedance 2.5
      description: >-
        Generate a Seedance 2.5 video from text or 1-2 images. One image is used
        as the first frame; two images are used as the first and last frames.


        **Pricing** — per second of generated video, in tokens (USD at
        $0.02/token):


        | resolution | tokens/s | USD/s |

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

        | 480p | 8.515 | $0.1703 |

        | 720p | 18.265 | $0.3653 |


        Native audio is included at no extra charge.


        **Differences from Seedance 2.0** — do not assume the parameters carry
        over:


        - Only `480p` and `720p` are available (2.0 also offers 1080p and 4k).

        - `duration` goes up to **30 seconds** (2.0 stops at 15).

        - **Image-to-video only accepts `aspect_ratio: adaptive`** — the output
        follows the input image. Sending a fixed ratio together with
        `image_urls` is rejected.


        Returns an `img_uuid`; poll GET /api/v1/jobs/detail (or use
        `custom_callback_url`) to get the generated video.
      parameters:
        - name: Authorization
          in: header
          required: true
          example: Bearer YOUR_API_KEY
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                model:
                  type: string
                  enum:
                    - seedance-2-5
                  description: Model name. Must be `seedance-2-5`.
                prompt:
                  type: string
                  description: >-
                    Text prompt. Chinese: recommended up to 500 characters;
                    English: recommended up to 1000 words.
                image_urls:
                  type: array
                  items:
                    type: string
                    format: uri
                  minItems: 1
                  maxItems: 2
                  description: >-
                    Optional. One URL creates first-frame image-to-video; two
                    URLs create first/last-frame video. Compatible aliases:
                    `image_url` and `image_end_url`.
                duration:
                  type: integer
                  minimum: 4
                  maximum: 30
                  default: 5
                  description: Any integer from 4 to 30 seconds.
                quality:
                  type: string
                  enum:
                    - 480p
                    - 720p
                  default: 720p
                  description: >-
                    Output resolution. `resolution` is accepted as a compatible
                    alias.
                aspect_ratio:
                  type: string
                  enum:
                    - '16:9'
                    - '9:16'
                    - '1:1'
                    - '4:3'
                    - '3:4'
                    - '21:9'
                    - adaptive
                  default: '16:9'
                  description: >-
                    Output aspect ratio. Text-to-video accepts every value
                    below. **Image-to-video only accepts `adaptive`** and
                    rejects anything else. `ratio` is accepted as a compatible
                    alias.
                generate_audio:
                  type: boolean
                  default: true
                  description: Generate synchronized audio at no additional charge.
                callback_url:
                  type: string
                  format: uri
                  description: >-
                    Optional public HTTPS callback URL. `custom_callback_url` is
                    accepted as a compatible alias.
              required:
                - model
                - prompt
            examples:
              textToVideo:
                summary: Text-to-video
                value:
                  model: seedance-2-0
                  prompt: A cat plays piano in moonlight, cinematic close-up
                  duration: 8
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
              firstLastFrame:
                summary: First and last frame
                value:
                  model: seedance-2-0
                  prompt: A smooth cinematic transition between the two scenes
                  image_urls:
                    - https://example.com/first.jpg
                    - https://example.com/last.jpg
                  duration: 6
                  quality: 1080p
                  aspect_ratio: adaptive
      responses:
        '200':
          description: Task submitted or application-level error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                    properties:
                      img_uuid:
                        type: string
                required:
                  - code
                  - msg
              example:
                code: 0
                msg: Success
                data:
                  img_uuid: c12b656c-747a-44fd-9c80-add79b0c52d5
        '401':
          description: Unauthorized

````