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

# Vidu Start-End-to-Video viduq3-turbo

> Generate videos using the Vidu model based on start and end frames. Provide two images (start frame and end frame), and AI will generate the transition animation. After submission, query status via `GET /vidu/v1/videos/{task_id}`. Uses model viduq3-turbo.



## OpenAPI

````yaml api-reference/en/zmodelVideo/vidu/viduq3-turbo-start-end-to-video.json POST /vidu/ent/v2/start-end2video
openapi: 3.0.1
info:
  title: Vidu Start-End-to-Video (viduq3-turbo)
  version: 1.0.0
servers:
  - url: https://api.powertokens.ai
security: []
paths:
  /vidu/ent/v2/start-end2video:
    post:
      summary: Vidu Start-End-to-Video (viduq3-turbo)
      description: >-
        Generate videos using the Vidu model based on start and end frames.
        Provide two images (start frame and end frame), and AI will generate the
        transition animation. After submission, query status via `GET
        /vidu/v1/videos/{task_id}`. Uses model viduq3-turbo.
      operationId: viduStartEndToVideoEnViduq3Turbo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartEndToVideoRequest'
            examples:
              basic_start_end_video:
                summary: Basic start-end-to-video
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/start_frame.png
                    - https://example.com/end_frame.png
                  prompt: A person moving from standing to sitting
                  duration: 5
              with_audio_generation:
                summary: Start-end video with audio generation (q3 model)
                value:
                  model: viduq3-turbo
                  images:
                    - data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAE...
                    - data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAF...
                  audio: true
                  prompt: Character speaking and making gestures
                  duration: 8
                  resolution: 1080p
              with_recommended_prompt:
                summary: Start-end video with recommended prompt
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/frame1.jpg
                    - https://example.com/frame2.jpg
                  is_rec: true
                  seed: 42
                  off_peak: false
      responses:
        '200':
          description: Submission successful, returns a video task object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StartEndToVideoResponse'
              examples:
                success:
                  summary: Submission successful
                  value:
                    task_id: your_task_id_here
                    state: created
                    model: viduq3-turbo
                    images:
                      - >-
                        https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-1.jpeg
                      - >-
                        https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-2.jpeg
                    prompt: >-
                      The camera zooms in on the bird, which then flies to the
                      right. The bird flight is smooth and natural, with a red
                      light effect following and surrounding it from behind.
                    duration: 5
                    seed: 123456789
                    resolution: 1080p
                    audio: true
                    off_peak: false
                    credits: 10
                    created_at: '2025-01-01T15:41:31.968916Z'
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_request:
                  summary: Invalid parameters
                  value:
                    code: bad_request_body
                    message: Request body format error or invalid field values
                    data: null
        '401':
          description: Authentication failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  summary: Unauthorized
                  value:
                    code: access_denied
                    message: Invalid token
                    data: null
        '429':
          description: Rate limit exceeded or insufficient quota.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                quota_exceeded:
                  summary: Insufficient quota
                  value:
                    code: insufficient_user_quota
                    message: Insufficient account quota, please try again later
                    data: null
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                server_error:
                  summary: Server error
                  value:
                    code: internal_server_error
                    message: Internal server error, please try again later
                    data: null
      security:
        - BearerAuth: []
components:
  schemas:
    StartEndToVideoRequest:
      type: object
      required:
        - model
        - images
      properties:
        model:
          type: string
          enum:
            - viduq3-turbo
          description: >-
            Video generation model name.

            - **viduq3-turbo**: Compared to viduq3-pro, the generation speed is
            faster
        images:
          type: array
          minItems: 2
          maxItems: 2
          items:
            type: string
          description: >-
            Two images: first is start frame, second is end frame.

            Notes:

            1. Public URL or Base64 format supported

            2. Aspect ratios must be close: ratio between start/end frame must
            be in 0.8~1.25

            3. Supported formats: png, jpeg, jpg, webp

            4. Max size per image: 50MB

            5. The post body of the HTTP request should not exceed 20MB, and it
            must include an appropriate content type string

            6. Base64 format example: `data:image/png;base64,{base64_encode}`
        prompt:
          type: string
          maxLength: 5000
          description: >-
            Text prompt for describing video generation content, with a maximum
            length of 5000 characters.

            Note: If the is_rec parameter for recommended prompts is used, the
            model will ignore the manually entered prompt for this parameter.
        is_rec:
          type: boolean
          default: false
          description: >-
            Whether to use the recommended prompt.

            - **true**: Yes, the system will automatically generate and apply a
            recommended prompt to create the video. The number of recommended
            prompts = 1

            - **false**: No, the video will be generated based on the
            user-provided prompt

            Note: When the recommended prompt feature is enabled, each task will
            consume an additional 10 credits.
        duration:
          type: integer
          description: >-
            Video duration in seconds. Default values vary by model:

            - **viduq3-pro, viduq3-turbo**: default 5, available: 1-16

            - **viduq2-pro-fast, viduq2-pro, viduq2-turbo**: default 5,
            available: 1-8

            - **viduq1, viduq1-classic**: default 5, available: 5

            - **vidu2.0**: default 4, available: 4, 8
          minimum: 1
          maximum: 16
          default: 5
        seed:
          type: integer
          description: |-
            Random seed.
            - Defaults to a random seed number
            - Manually set values will override the default random seed
        resolution:
          type: string
          enum:
            - 360p
            - 540p
            - 720p
            - 1080p
          description: >-
            Resolution (based on model & duration):

            - **viduq3-pro, viduq3-turbo (1-16s)**: default 720p, options: 540p,
            720p, 1080p

            - **viduq2-pro-fast (1-8s)**: default 720p, options: 720p, 1080p

            - **viduq2-pro, viduq2-turbo (1-8s)**: default 720p, options: 540p,
            720p, 1080p

            - **viduq1, viduq1-classic (5s)**: default 1080p, options: 1080p

            - **vidu2.0 (4s)**: default 360p, options: 360p, 720p, 1080p

            - **vidu2.0 (8s)**: default 720p, options: 720p
        audio:
          type: boolean
          default: true
          description: >-
            Whether to use direct audio-video generation capability.

            - **false**: No direct audio-video generation, outputs silent video

            - **true**: Requires audio-video synchronization, outputs video with
            sound (including dialogue and sound effects)

            Note 1: Only the q3 models supports this parameter
        payload:
          type: string
          maxLength: 1048576
          description: >-
            Transparent transmission parameters.

            No processing, only data transmission, with a maximum length of
            1048576 characters.
        off_peak:
          type: boolean
          default: false
          description: >-
            Off peak mode.

            - **true**: Off peak generate mode

            - **false**: Normal generate mode

            Notes:

            1. The off_peak mode consumes lower points (see Pricing for details)

            2. Tasks submitted in off peak mode will be generated within 48
            hours. Tasks that are not completed will be automatically cancelled
            and their points will be refunded

            3. We also support cancel off_peak tasks

            4. Except for q3, other direct audio-video generation functions
        callback_url:
          type: string
          description: >-
            Callback

            When creating a task, you need to actively set the callback_url with
            a POST request. When the video generation task changes its status,
            Vidu will send a callback request to this URL, containing the latest
            status of the task. The structure of the callback request content
            will be the same as the return body of the GET Generation API.

            The "status" in the callback response includes the following states:

            - processing: Task is being processed.

            - success: Task is completed (if sending fails, it will retry the
            callback three times).

            - failed: Task failed (if sending fails, it will retry the callback
            three times).

            Vidu uses a callback signature algorithm for verification, check out
            the details here: Callback Signature
        watermark:
          type: boolean
          description: >-
            Whether to add a watermark.

            - **true**: Add watermark

            - **false**: Do not add watermark


            Note 1: Currently the watermark content is fixed, default is no
            watermark

            Note 2: You can retrieve watermarked video content through the
            watermarked_url parameter in the query task API
          default: false
        wm_position:
          type: integer
          description: |-
            Watermark position on the image. Options:
            - **1**: Top left
            - **2**: Top right
            - **3**: Bottom right
            - **4**: Bottom left

            Default: 3
          default: 3
          enum:
            - 1
            - 2
            - 3
            - 4
          minimum: 1
          maximum: 4
          x-options:
            - label: Top Left
              value: 1
            - label: Top Right
              value: 2
            - label: Bottom Right
              value: 3
            - label: Bottom Left
              value: 4
        wm_url:
          type: string
          description: >-
            Watermark image URL. When not specified, the default watermark is
            used.
        meta_data:
          type: string
          description: >-
            Metadata identifier, a JSON format string used as a passthrough
            field. You can customize the format or use the example format below:


            ```json

            {
              "Label": "your_label",
              "ContentProducer": "your_content_producer",
              "ContentPropagator": "your_content_propagator",
              "ProduceID": "your_product_id",
              "PropagateID": "your_propagate_id",
              "ReservedCode1": "your_reserved_code1",
              "ReservedCode2": "your_reserved_code2"
            }

            ```


            When this parameter is empty, the Vidu-generated metadata identifier
            is used by default.
    StartEndToVideoResponse:
      type: object
      properties:
        task_id:
          type: string
          description: Task ID.
        state:
          type: string
          enum:
            - created
            - queueing
            - processing
            - success
            - failed
          description: |-
            Task processing state:
            - **created**: Task created successfully
            - **queueing**: Task in queue
            - **processing**: Task processing
            - **success**: Generation successful
            - **failed**: Task failed
        model:
          type: string
          description: Model parameter used for this call.
        images:
          type: array
          items:
            type: string
          description: Images used for this call (start frame and end frame).
        prompt:
          type: string
          description: Text prompt used for this call.
        duration:
          type: integer
          description: Video duration parameter used for this call.
        seed:
          type: integer
          description: Random seed parameter used for this call.
        resolution:
          type: string
          description: Resolution parameter used for this call.
        payload:
          type: string
          description: Payload parameter used for this call.
        off_peak:
          type: boolean
          description: Off-peak mode parameter used for this call.
        credits:
          type: integer
          description: Credits consumed for this call.
        created_at:
          type: string
          format: date-time
          description: Task creation time.
        watermark:
          type: boolean
          description: 本次提交任务是否使用水印
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        message:
          type: string
          description: Error description message.
        data:
          type: object
          nullable: true
          description: Additional error data (optional).
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Pass `Authorization: Bearer <token>` in the request header.'

````