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

# Seedance 1.0 Pro First & Last Frame to Video

> For the `seedance-1-0-pro-250528` model. After submitting, query status via `GET /v1/videos/{task_id}`.



## OpenAPI

````yaml api-reference/en/zmodelVideo/byteplus/seedance-1-0-pro-first-last-frame-to-video.json POST /v1/videos
openapi: 3.0.1
info:
  title: Seedance 1.0 Pro First and Last Frame to Video
  version: 1.0.0
servers:
  - url: https://api.powertokens.ai
security: []
paths:
  /v1/videos:
    post:
      summary: Seedance 1.0 Pro First and Last Frame to Video
      description: >-
        For the `seedance-1-0-pro-250528` model. After submitting, query status
        via `GET /v1/videos/{task_id}`.
      operationId: seedance10ProFirstLastFrameToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirstLastFrameToVideoRequest'
            examples:
              first_last_frame:
                summary: Basic first and last frame to video
                value:
                  model: seedance-1-0-pro-250528
                  media:
                    - type: text
                      text: Camera zoom in
                    - type: first_frame
                      url: https://example.com/start.jpg
                    - type: last_frame
                      url: https://example.com/end.jpg
      responses:
        '200':
          description: Submission successful, returns video task object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoTaskResponse'
        '400':
          description: Invalid request parameters.
        '401':
          description: Authentication failed.
        '429':
          description: Request rate limit exceeded.
        '500':
          description: Internal server error.
      security:
        - BearerAuth: []
components:
  schemas:
    FirstLastFrameToVideoRequest:
      type: object
      required:
        - model
        - media
      properties:
        model:
          type: string
          enum:
            - seedance-1-0-pro-250528
          description: The ID of the model you need to call (Model ID)
        media:
          type: array
          description: >-
            Multimodal input array. First & Last Frame video requires
            `first_frame`, `last_frame`, and `text`.
          items:
            $ref: '#/components/schemas/VideoMediaInput'
        seconds:
          type: string
          description: >-
            Video duration, integer only, in seconds.


            * Seedance 1.0 pro, Seedance 1.0 pro fast: [2, 12] s.

            * Seedance 1.5 pro: [4, 12] or set to -1

            * Seedance 2.0 series: [4, 15] or set to -1


            **Note**


            Seedance 2.0 series and Seedance 1.5 pro support two configuration
            methods:

            * Specify exact duration: Any integer within the valid range.

            * Smart mode: Set to -1 to let the model choose the appropriate
            video length (in whole seconds) within the valid range. The actual
            generated video duration can be obtained from the duration field
            returned by the query video generation task API. Note that video
            duration is related to billing, so set it carefully.
          default: '5'
          example: '5'
          enum:
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
            - '10'
            - '11'
            - '12'
        size:
          type: string
          enum:
            - 480p
            - 720p
            - 1080p
          description: >-
            > Seedance 2.0 series and Seedance 1.5 pro default: `720p`

            > Seedance 1.0 pro & pro-fast default: `1080p`


            Video resolution. Enum values:


            * 480p

            * 720p

            * 1080p: Not supported by Seedance 2.0 Fast and Seedance 2.0 Mini.

            * 4k: Only supported by Seedance 2.0


            ```Note

            - Compared to typical 8-bit color depth, Seedance 2.0 4k output uses
            10-bit encoding, fully preserving rich color gradations and smooth
            transitions, meeting professional film production and HDR video
            content requirements.

            - 4k videos are output in H.265 (HEVC) format; some players/browsers
            may not support direct playback.
          default: 1080p
        ratio:
          type: string
          enum:
            - '16:9'
            - '4:3'
            - '1:1'
            - '3:4'
            - '9:16'
            - '21:9'
            - adaptive
          description: >-
            > Seedance 2.0 series and Seedance 1.5 pro default: `adaptive`

            > Other models: Text-to-Video default `16:9`, Image-to-Video default
            `adaptive`


            The aspect ratio of the generated video. See the table below for
            pixel dimensions for different aspect ratios.


            * 16:9

            * 4:3

            * 1:1

            * 3:4

            * 9:16

            * 21:9

            * adaptive: Automatically selects the most suitable aspect ratio
            based on input (see details below)


            **adaptive Rules**


            When ratio is set to adaptive, the model automatically adjusts the
            aspect ratio based on the generation scenario. The actual video
            aspect ratio can be obtained from the ratio field returned by the
            query video generation task API.


            ****Supported models:

            * Seedance 2.0 series, Seedance 1.5 Pro supported

            * Other models only supported in Image-to-Video scenarios


            ****Rules:

            * Text-to-Video：Based on the input prompt, intelligently selects the
            most suitable aspect ratio.

            * First Frame / First & Last Frame: Automatically selects the
            closest aspect ratio based on the uploaded first frame image ratio.

            * Multimodal Reference-to-Video: Determines based on user prompt
            intent. If it is first-frame video/editing video/extending video,
            selects the closest aspect ratio based on that image/video;
            otherwise, selects the closest aspect ratio based on the first media
            file (priority: video > image).


            Pixel dimensions corresponding to different aspect ratios


            Note: For Image-to-Video, if the selected aspect ratio does not
            match the uploaded image ratio, the platform will crop your image
            from the center.


            | Resolution | Aspect Ratio | Pixel Dimensions Seedance 2.0 Series |
            Pixel Dimensions Seedance 1.5 pro | Pixel Dimensions Seedance 1.0
            Series |

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

            | 480p | 16:9 | 864×496 | 864×496 | 864×480 |

            | | 4:3 | 752×560 | 752×560 | 736×544 |

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

            | | 3:4 | 560×752 | 560×752 | 544×736 |

            | | 9:16 | 496×864 | 496×864 | 480×864 |

            | | 21:9 | 992×432 | 992×432 | 960×416 |

            | 720p | 16:9 | 1280×720 | 1280×720 | 1248×704 |

            | | 4:3 | 1112×834 | 1112×834 | 1120×832 |

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

            | | 3:4 | 834×1112 | 834×1112 | 832×1120 |

            | | 9:16 | 720×1280 | 720×1280 | 704×1248 |

            | | 21:9 | 1470×630 | 1470×630 | 1504×640 |

            | 1080p (Not supported by Seedance 2.0 Fast, Seedance 2.0 Mini)|
            16:9 | 1920×1080 | 1920×1080 | 1920×1088 |

            | | 4:3 | 1664×1248 | 1664×1248 | 1664×1248 |

            | | 1:1 | 1440×1440 | 1440×1440 | 1440×1440 |

            | | 3:4 | 1248×1664 | 1248×1664 | 1248×1664 |

            | | 9:16 | 1080×1920 | 1080×1920 | 1088×1920 |

            | | 21:9 | 2206×946 | 2206×946 | 2176×928 |

            | 4K (Only supported by Seedance 2.0) | 16:9 | 3840×2160 | - | - |

            | | 4:3 | 3326×2494 | - | - |

            | | 1:1 | 2880×2880 | - | - |

            | | 3:4 | 2494×3326 | - | - |

            | | 9:16 | 2160×3840 | - | - |

            | | 21:9 | 4398×1886 | - | - |
          default: adaptive
        seed:
          type: integer
          description: >-
            > Temporarily not supported by Seedance 2.0 series


            Seed integer for controlling the randomness of generated content.
            Range: integer in [-1, 2^32-1].


            Notes:

            * With the same request, if the model receives different seed values
            (e.g., not specifying a seed, setting seed to -1 which uses a random
            number, or manually changing the seed value), different results will
            be generated.

            * With the same request, if the model receives the same seed value,
            similar results will be generated, but exact consistency is not
            guaranteed.
          default: -1
          minimum: -1
          maximum: 4294967295
        camera_fixed:
          type: boolean
          description: >-
            > Not supported in reference image scenarios, temporarily not
            supported by Seedance 2.0 series


            Whether to fix the camera.


            * true: Fix the camera. The platform will append fixed camera
            instructions to the user prompt, but the actual effect is not
            guaranteed.

            * false: Do not fix the camera.
          default: false
        watermark:
          type: boolean
          description: >-
            Whether the generated video contains a watermark.


            * false: The generated video does not contain a watermark.

            * true: The generated video displays an "AI Generated" watermark in
            the bottom-right corner.
          default: false
        return_last_frame:
          type: boolean
          description: >-
            true: Return the last frame image of the generated video. When set
            to true, you can obtain the last frame image through the query video
            generation task API. The last frame image is in PNG format with the
            same pixel dimensions as the generated video, without watermarks.


            Use this parameter to generate multiple consecutive videos: use the
            last frame of one video as the first frame of the next video task to
            quickly generate a sequence of consecutive videos.


            false: Do not return the last frame image of the generated video.
          default: false
    VideoTaskResponse:
      type: object
      properties:
        id:
          type: string
          description: >-
            Video generation task ID. Only stored for 7 days (from the
            `created_at` timestamp), then automatically deleted.


            * When draft: true, this is the Draft video task ID.

            * When draft: false, this is the normal video task ID.


            Video generation is asynchronous. After obtaining the ID, use the
            query video generation task API to check the status. When
            successful, the API returns the generated video URL.
    VideoMediaInput:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - text
            - first_frame
            - last_frame
          description: >-
            Media type. `text` requires the `text` field; other types require
            the `url` field.
        url:
          type: string
          description: Media URL. Not required when `type=text`; required for other types.
        text:
          type: string
          description: >-
            Text content. Required when `type=text`; not required for other
            types.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Pass `Authorization: Bearer <token>` in the request header.'

````