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

> [Core Function] Seedance 2.5 V2V is ByteDance Dreamina Seedance 2.5 video-to-video generation covering multimodal reference, video editing, and video extension. [Strengths] It accepts up to 10 reference videos, 30 reference images, and 10 audio clips, with 480p/720p/1080p, 4-30 second output, and mp4 or mov containers. [Best For] Highly recommended for: editing existing clips, extending motion from a base video, multi-reference restyling, and prompt-driven composition that cites @Video1 or @Image1. [Limitations] Do NOT use this model for text-only or first-frame-only workflows. video_urls is required. Do NOT send first_frame_image or last_frame_image. Do NOT use this model when the user requires 4k output. Do NOT use this model for audio-only input. [Routing] Prefer this model for Seedance 2.5 edit, extension, and video-reference jobs. Use Seedance 2.5 T2V for text-only and Seedance 2.5 I2V for image-first generation.



## OpenAPI

````yaml /media-model-api/bytedance/bytedance-v2v.json post /bytedance/seedance-2.5-v2v
openapi: 3.1.0
info:
  description: >-
    ByteDance video-to-video models API (JMAAS flat parameters; aligned with
    prediction model_metadata seedance20SeriesV2VParamRules /
    seedance25SeriesV2VParamRules).
  version: 1.0.0
  contact:
    name: Modellix Support
    email: support@modellix.ai
  title: ByteDance Video-to-Video Models API
servers:
  - url: https://api.modellix.ai/api/v1
    description: >-
      ByteDance models via JMAAS (use video-to-video route prefix in client URL
      path).
security:
  - bearerAuth: []
paths:
  /bytedance/seedance-2.5-v2v:
    post:
      summary: Seedance 2.5 V2V
      description: >-
        [Core Function] Seedance 2.5 V2V is ByteDance Dreamina Seedance 2.5
        video-to-video generation covering multimodal reference, video editing,
        and video extension. [Strengths] It accepts up to 10 reference videos,
        30 reference images, and 10 audio clips, with 480p/720p/1080p, 4-30
        second output, and mp4 or mov containers. [Best For] Highly recommended
        for: editing existing clips, extending motion from a base video,
        multi-reference restyling, and prompt-driven composition that cites
        @Video1 or @Image1. [Limitations] Do NOT use this model for text-only or
        first-frame-only workflows. video_urls is required. Do NOT send
        first_frame_image or last_frame_image. Do NOT use this model when the
        user requires 4k output. Do NOT use this model for audio-only input.
        [Routing] Prefer this model for Seedance 2.5 edit, extension, and
        video-reference jobs. Use Seedance 2.5 T2V for text-only and Seedance
        2.5 I2V for image-first generation.
      operationId: seedance25V2vAsync
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Seedance25V2vRequest'
            examples:
              edit:
                summary: Video editing
                description: Editing should use duration=-1 and ratio adaptive or omit.
                value:
                  prompt: >-
                    @Video1 is the sole source and timeline master. It shows one
                    table lamp beside an actor. @Image1 defines the replacement
                    lamp only: aged brass stem, green glass shade, short pull
                    chain, and the exact proportions shown in the image. Replace
                    only the single lamp in @Video1 with the single lamp from
                    @Image1. The replacement must follow the original lamp's
                    position, scale, perspective, occlusion, reflections, light
                    interaction, and visibility over time. Preserve the actor,
                    table, room, camera, edit, motion, dialogue, and ambience.
                    Exactly one lamp; no duplicate shade, no extra furniture, no
                    change to the actor's hands.
                  video_urls:
                    - https://example.com/edit_input.mov
                  reference_images:
                    - https://example.com/replacement_lamp.jpg
                  ratio: adaptive
                  duration: -1
                  generate_audio: true
                  output_format: mov
                  omni_reference_task_type: edit
              edit_omit_duration:
                summary: Video editing without duration
                description: >-
                  Same editing request as Video editing, except duration is
                  omitted instead of -1. Do not send a fixed output duration
                  such as 8. Input video must be 4-30 seconds.
                value:
                  prompt: >-
                    @Video1 is the sole source and timeline master. It shows one
                    table lamp beside an actor. @Image1 defines the replacement
                    lamp only: aged brass stem, green glass shade, short pull
                    chain, and the exact proportions shown in the image. Replace
                    only the single lamp in @Video1 with the single lamp from
                    @Image1. The replacement must follow the original lamp's
                    position, scale, perspective, occlusion, reflections, light
                    interaction, and visibility over time. Preserve the actor,
                    table, room, camera, edit, motion, dialogue, and ambience.
                    Exactly one lamp; no duplicate shade, no extra furniture, no
                    change to the actor's hands.
                  video_urls:
                    - https://example.com/edit_input.mov
                  reference_images:
                    - https://example.com/replacement_lamp.jpg
                  ratio: adaptive
                  generate_audio: true
                  output_format: mov
                  omni_reference_task_type: edit
              extension:
                summary: Video extension
                description: >-
                  Extension uses duration 4-30 or -1 for the output length. Use
                  ratio adaptive or omit.
                value:
                  prompt: >-
                    @Image1 defines the curator's face and charcoal suit.
                    @Image2 defines the display case. @Video1 is the source: it
                    begins with the curator's right hand already touching the
                    case. Extend 6 seconds before @Video1. The curator walks
                    from the left aisle toward the same case, slows, turns her
                    shoulders toward it, and raises her empty right hand. End
                    the extension with her fingertips about to make contact in
                    the same pose, direction, framing, and light as the first
                    source frame. The artifact visible inside the source case
                    must not appear outside it, and no second curator or second
                    case may appear. Use quiet gallery room tone and measured
                    footsteps in the new segment, then match the source audio
                    naturally at the boundary. Do not alter the source segment
                    or its original audio.
                  video_urls:
                    - https://example.com/source_curator_case.mp4
                  reference_images:
                    - https://example.com/curator_identity.jpg
                    - https://example.com/display_case.jpg
                  ratio: adaptive
                  duration: 12
                  resolution: 720p
                  generate_audio: true
                  omni_reference_task_type: extend
              reference:
                summary: Reference-to-video
                description: >-
                  Reference-to-video uses duration 4-30. A fixed ratio or
                  adaptive is allowed.
                value:
                  prompt: Restyle @Video1 using the look of @Image1
                  video_urls:
                    - https://example.com/clip.mp4
                  reference_images:
                    - https://example.com/style.jpg
                  ratio: '16:9'
                  duration: 10
                  output_format: mp4
                  omni_reference_task_type: reference
      responses:
        '200':
          description: Task submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncTaskResponse'
components:
  schemas:
    Seedance25V2vRequest:
      type: object
      required:
        - video_urls
      description: >-
        video_urls is required (1-10). Optional prompt, reference_images (up to
        30), and audio_urls (up to 10). First/last frame parameters are not
        supported.
      properties:
        prompt:
          type: string
          description: >-
            Optional editing, extension, or generation instruction. Cite media
            with @Image1, @Video1, or @Audio1. For editing, declare @Video1 as
            the sole timeline master, name the edit scope, and list what must be
            preserved. For extension, define how the new segment connects at the
            source boundary. Maximum 10000 characters
          minLength: 1
          maxLength: 10000
          example: >-
            @Video1 is the sole source and timeline master. Replace only the
            single lamp in @Video1 with the lamp from @Image1. Preserve the
            actor, room, camera, motion, and original audio.
        video_urls:
          type: array
          description: >-
            Required reference video URLs (1-10) used as edit source, extension
            base, or multimodal references
          minItems: 1
          maxItems: 10
          items:
            type: string
            format: uri
          example:
            - https://example.com/edit_input.mov
        reference_images:
          type: array
          description: Optional reference image URLs (1-30)
          minItems: 1
          maxItems: 30
          items:
            type: string
            format: uri
          example:
            - https://example.com/style.jpg
        audio_urls:
          type: array
          description: Optional reference audio URLs (1-10). Must accompany video_urls
          minItems: 1
          maxItems: 10
          items:
            type: string
            format: uri
          example:
            - https://example.com/bgm.mp3
        ratio:
          type: string
          description: >-
            Aspect ratio of the generated video. For video edit and extension,
            use adaptive or omit; a fixed ratio may fail asynchronously with
            InvalidParameter.TaskTypeConstraint.
          enum:
            - '16:9'
            - '4:3'
            - '1:1'
            - '3:4'
            - '9:16'
            - '21:9'
            - adaptive
          default: adaptive
          example: adaptive
        resolution:
          type: string
          description: >-
            Specifies the resolution tier for the generated video. Seedance 2.5
            supports 480p, 720p, and 1080p
          enum:
            - 480p
            - 720p
            - 1080p
          default: 720p
          example: 720p
        duration:
          type: integer
          description: >-
            Video duration in seconds (4-30). For video editing, use -1 or omit;
            do not specify a fixed output duration. The input video must be 4-30
            seconds. Video extension and reference-to-video use 4-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
            - -1
          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
        omni_reference_task_type:
          type: string
          description: >-
            Task type hint for Seedance 2.5 omni reference-to-video (default
            `auto`). `auto` infers from the inputs and prompt. `reference`
            generates a new video from references with no extra ratio or
            duration constraints. `edit` edits the source video: requires
            `video_urls` (4–30s), `ratio=adaptive`, and `duration=-1`. `extend`
            extends the source video: requires `video_urls` and
            `ratio=adaptive`. The model still infers the type from the prompt; a
            mismatch can fail asynchronously.
          enum:
            - auto
            - reference
            - edit
            - extend
          default: auto
          example: edit
    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.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API Key authentication. Format: `Bearer YOUR_API_KEY`.'

````