> ## 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 Image-to-Video viduq3-turbo

> Convert images to videos using the Vidu model. After submission, query status via `GET /vidu/ent/v2/tasks/{task_id}`. Uses model viduq3-turbo.



## OpenAPI

````yaml api-reference/en/zmodelVideo/vidu/viduq3-turbo-image-to-video.json POST /vidu/ent/v2/img2video
openapi: 3.0.1
info:
  title: Vidu Image-to-Video (viduq3-turbo)
  version: 1.0.0
servers:
  - url: https://api.powertokens.ai
security: []
paths:
  /vidu/ent/v2/img2video:
    post:
      summary: Vidu Image-to-Video (viduq3-turbo)
      description: >-
        Convert images to videos using the Vidu model. After submission, query
        status via `GET /vidu/ent/v2/tasks/{task_id}`. Uses model viduq3-turbo.
      operationId: viduImageToVideoEnViduq3Turbo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageToVideoRequest'
            examples:
              basic_image_to_video:
                summary: Basic image-to-video
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/image.png
                  prompt: Animate the scene in the image
              with_audio:
                summary: Image-to-video with audio (q3 model)
                value:
                  model: viduq3-turbo
                  images:
                    - data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAE...
                  audio: true
                  audio_type: all
                  duration: 5
              with_recommended_prompt:
                summary: With recommended prompt
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/character.jpg
                  is_rec: true
                  resolution: 720p
      responses:
        '200':
          description: Submission successful, returns a video task object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageToVideoResponse'
              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/image2video.png
                    prompt: The astronaut waved and the camera moved up.
                    duration: 5
                    seed: 123456789
                    resolution: 1080p
                    payload: ''
                    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:
    ImageToVideoRequest:
      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: 1
          maxItems: 1
          items:
            type: string
          description: |-
            An image to be used as the start frame of the generated video.
            - Only accepts 1 image
            - Accepts public URL or Base64 format
            - Supported formats: png, jpeg, jpg, webp
            - The aspect ratio of the images must be between 1:4 and 4:1
            - Single image limited to 50MB
            - HTTP request body should not exceed 20MB
            - Base64 format example: `data:image/png;base64,{base64_encode}`
        prompt:
          type: string
          maxLength: 5000
          description: >-
            Text prompt for describing video generation content.

            Note: If the recommended prompt feature is enabled (is_rec=true),
            the model will ignore the manually entered prompt 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. 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.
        audio:
          type: boolean
          default: false
          description: >-
            Whether to use direct audio-video generation capability.

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

            - **true**: Direct audio-video generation required, outputs video
            with sound (including dialogue and sound effects)

            Note 1: The voice_id parameter takes effect only when this parameter
            is true

            Note 2: When this parameter is true, staggered mode is not supported
            (q3 model supports staggered mode)

            Note 3: When model is q3, the default value for this parameter is
            true
        audio_type:
          type: string
          enum:
            - all
            - speech_only
            - sound_effect_only
          default: all
          description: >-
            Audio type, required when audio is true.

            - **all**: Sound effects + vocals

            - **speech_only**: Vocal only

            - **sound-effect_only**: Sound effects only

            Note: Currently, this parameter only supports audio splitting for
            q2, q1, and 2.0 series models.
        duration:
          type: integer
          description: >-
            Video duration in seconds. Default values vary by model:

            - **viduq3-pro-fast, viduq3-pro, viduq3-turbo**: default 5,
            available: 1-16
          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:
            - 540p
            - 720p
            - 1080p
          description: >-
            Resolution (based on model & duration):

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

            - **viduq3-pro, viduq3-turbo (1-16s)**: default 720p, options: 540p,
            720p, 1080p
        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

            The off_peak mode consumes lower points (see Pricing for details).
            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. We also support cancel off_peak
            tasks.
        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).
        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.
    ImageToVideoResponse:
      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.
        prompt:
          type: string
          description: Text prompt used for this call.
        images:
          type: array
          items:
            type: string
          description: Images used for this call.
        duration:
          type: integer
          description: Video duration parameter used for this call.
        audio:
          type: boolean
          description: Whether to use audio for this call.
        audio_type:
          type: string
          description: Audio type 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.'

````