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

# Seedance 2.5 I2V

> [Core Function] Seedance 2.5 I2V is ByteDance Dreamina Seedance 2.5 image-to-video generation supporting first-frame, first-and-last-frame, and reference-image modes. [Strengths] It supports up to 30 reference images, optional reference audio, 4-30 second duration, and mp4 or mov output. [Best For] Highly recommended for: animating a keyframe, first-to-last transitions, multi-image character consistency, and image-led storytelling on Seedance 2.5. [Limitations] Do NOT mix first_frame_image or last_frame_image with reference_images. Do NOT send video_urls on I2V. Do NOT use audio_urls alone. Do NOT use this model when the user requires 1080p or 4k output. [Routing] Prefer this model for Seedance 2.5 image-driven generation. Use Seedance 2.5 T2V for text-only requests and Seedance 2.5 V2V when reference video is required.



## OpenAPI

````yaml /media-model-api/bytedance/bytedance-i2v.json post /bytedance/seedance-2.5-i2v
openapi: 3.1.0
info:
  description: The image-to-video models API from ByteDance.
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
  title: ByteDance Image-to-Video Models API
servers:
  - url: https://api.modellix.ai/api/v1
    description: The image-to-video models API from ByteDance.
security:
  - bearerAuth: []
paths:
  /bytedance/seedance-2.5-i2v:
    post:
      summary: Seedance 2.5 I2V
      description: >-
        [Core Function] Seedance 2.5 I2V is ByteDance Dreamina Seedance 2.5
        image-to-video generation supporting first-frame, first-and-last-frame,
        and reference-image modes. [Strengths] It supports up to 30 reference
        images, optional reference audio, 4-30 second duration, and mp4 or mov
        output. [Best For] Highly recommended for: animating a keyframe,
        first-to-last transitions, multi-image character consistency, and
        image-led storytelling on Seedance 2.5. [Limitations] Do NOT mix
        first_frame_image or last_frame_image with reference_images. Do NOT send
        video_urls on I2V. Do NOT use audio_urls alone. Do NOT use this model
        when the user requires 1080p or 4k output. [Routing] Prefer this model
        for Seedance 2.5 image-driven generation. Use Seedance 2.5 T2V for
        text-only requests and Seedance 2.5 V2V when reference video is
        required.
      operationId: seedance25I2vAsync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Seedance25I2vRequest'
            examples:
              first_frame:
                summary: First-frame generation
                value:
                  first_frame_image: https://example.com/first.jpg
                  prompt: Animate gently with natural camera motion
                  duration: 12
                  output_format: mp4
              first_last:
                summary: First-and-last-frame generation
                value:
                  first_frame_image: https://example.com/first.jpg
                  last_frame_image: https://example.com/last.jpg
                  prompt: Smoothly transition between the two frames
                  duration: 8
                  ratio: '16:9'
              reference_images:
                summary: Reference-image generation
                value:
                  prompt: >-
                    Combine the subjects from the reference images into one
                    cinematic shot
                  reference_images:
                    - https://example.com/person.jpg
                    - https://example.com/scene.jpg
                  audio_urls:
                    - https://example.com/voice.mp3
                  duration: 10
                  output_format: mov
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
components:
  schemas:
    Seedance25I2vRequest:
      description: >-
        Seedance 2.5 image-to-video. Choose **one** option — Frame and Reference
        fields are mutually exclusive. `prompt` is optional. `video_urls` is not
        supported on I2V. audio_urls cannot be used alone.
      oneOf:
        - $ref: '#/components/schemas/Seedance25I2vFrameOption'
          title: Option 1 — Frame mode
          description: First-frame or first-to-last-frame animation.
        - $ref: '#/components/schemas/Seedance25I2vReferenceOption'
          title: Option 2 — Reference mode
          description: Multimodal reference images with optional audio.
    AsyncTaskResponse:
      type: object
      required:
        - code
        - message
        - data
      properties:
        code:
          type: integer
          description: Response code, 0 indicates success
          example: 0
        message:
          type: string
          description: Response message
          example: success
        data:
          type: object
          required:
            - status
            - task_id
            - model_id
          properties:
            status:
              type: string
              enum:
                - pending
                - processing
              description: Task status
              example: pending
            task_id:
              type: string
              description: Unique task identifier
              example: task-abc123
            model_id:
              type: string
              description: Model ID
              example: model-123
            get_result:
              type: object
              description: API information to query the task result
              properties:
                method:
                  type: string
                  description: HTTP method
                  example: GET
                url:
                  type: string
                  description: Full URL to query the task result
                  example: https://api.modellix.ai/api/v1/tasks/task-abc123
          description: Detailed data about the submitted asynchronous task.
    Seedance25I2vFrameOption:
      type: object
      description: >-
        First-frame or first-to-last-frame animation. Do not pass
        `reference_images`.
      required:
        - first_frame_image
      properties:
        first_frame_image:
          type: string
          format: uri
          description: Required. Starting frame URL. Do not pass reference_images.
          minLength: 1
          example: https://example.com/first.jpg
        last_frame_image:
          type: string
          format: uri
          description: >-
            Optional. Ending frame URL. Requires first_frame_image. Do not pass
            reference_images.
          minLength: 1
          example: https://example.com/last.jpg
        prompt:
          type: string
          description: >-
            Optional. Video description. Maximum 10000 characters. Frame
            animation description.
          minLength: 1
          maxLength: 10000
          example: Animate the scene gently with natural motion
        audio_urls:
          type: array
          description: >-
            Optional. Reference audio URLs (1-10). Use with frame images;
            audio-only is not supported.
          minItems: 1
          maxItems: 10
          items:
            type: string
            format: uri
          example:
            - https://example.com/voice.mp3
        ratio:
          type: string
          description: Specifies the aspect ratio for the generated video
          enum:
            - '21:9'
            - '16:9'
            - '4:3'
            - '1:1'
            - '3:4'
            - '9:16'
          default: '16:9'
          example: '16:9'
        resolution:
          type: string
          description: >-
            Specifies the resolution tier for the generated video. Seedance 2.5
            supports 480p and 720p only
          enum:
            - 480p
            - 720p
          default: 720p
          example: 720p
        duration:
          type: integer
          description: Video duration in seconds. Allowed values are integers from 4 to 30
          enum:
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
          default: 5
          example: 5
        seed:
          type: integer
          description: >-
            Random number seed for reproducibility. Use -1 for random. Identical
            seeds cannot guarantee completely identical results
          minimum: -1
          maximum: 4294967295
          default: -1
          example: -1
        camera_fixed:
          type: boolean
          description: Whether to keep the camera fixed during generation
          default: false
          example: false
        generate_audio:
          type: boolean
          description: Whether to generate an audio track with the video
          default: true
          example: true
        output_format:
          type: string
          description: >-
            Output video container. mp4 for general playback; mov for higher
            color precision in editing workflows
          enum:
            - mp4
            - mov
          default: mp4
          example: mp4
        execution_expires_after:
          type: integer
          description: Task expiration time in seconds
          minimum: 3600
          maximum: 259200
          default: 172800
          example: 172800
        return_last_frame:
          type: boolean
          description: Whether to return the last frame of the generated video
          default: false
          example: false
    Seedance25I2vReferenceOption:
      type: object
      description: >-
        Multimodal reference images (and optional audio). Do not pass
        `first_frame_image` or `last_frame_image`.
      required:
        - reference_images
      properties:
        reference_images:
          type: array
          description: >-
            Required. Reference image URLs (1-30). Do not pass first_frame_image
            or last_frame_image.
          minItems: 1
          maxItems: 30
          items:
            type: string
            format: uri
          example:
            - https://example.com/a.jpg
            - https://example.com/b.jpg
        prompt:
          type: string
          description: >-
            Optional. Video description. Maximum 10000 characters. Use [Image n]
            and [Audio n] when referencing inputs.
          minLength: 1
          maxLength: 10000
          example: Animate the scene gently with natural motion
        audio_urls:
          type: array
          description: >-
            Optional. Reference audio URLs (1-10). Must accompany
            reference_images; audio-only is not supported.
          minItems: 1
          maxItems: 10
          items:
            type: string
            format: uri
          example:
            - https://example.com/voice.mp3
        ratio:
          type: string
          description: Specifies the aspect ratio for the generated video
          enum:
            - '21:9'
            - '16:9'
            - '4:3'
            - '1:1'
            - '3:4'
            - '9:16'
          default: '16:9'
          example: '16:9'
        resolution:
          type: string
          description: >-
            Specifies the resolution tier for the generated video. Seedance 2.5
            supports 480p and 720p only
          enum:
            - 480p
            - 720p
          default: 720p
          example: 720p
        duration:
          type: integer
          description: Video duration in seconds. Allowed values are integers from 4 to 30
          enum:
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 27
            - 28
            - 29
            - 30
          default: 5
          example: 5
        seed:
          type: integer
          description: >-
            Random number seed for reproducibility. Use -1 for random. Identical
            seeds cannot guarantee completely identical results
          minimum: -1
          maximum: 4294967295
          default: -1
          example: -1
        camera_fixed:
          type: boolean
          description: Whether to keep the camera fixed during generation
          default: false
          example: false
        generate_audio:
          type: boolean
          description: Whether to generate an audio track with the video
          default: true
          example: true
        output_format:
          type: string
          description: >-
            Output video container. mp4 for general playback; mov for higher
            color precision in editing workflows
          enum:
            - mp4
            - mov
          default: mp4
          example: mp4
        execution_expires_after:
          type: integer
          description: Task expiration time in seconds
          minimum: 3600
          maximum: 259200
          default: 172800
          example: 172800
        return_last_frame:
          type: boolean
          description: Whether to return the last frame of the generated video
          default: false
          example: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API Key authentication. Format: `Bearer YOUR_API_KEY`.'

````