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

# Create image-to-video (Vidu)

> This series supports OpenAI video generation formats (see the link [Video generation Sora compatible formats](/api-reference/en/video-generation-sora-compatible-format/create-video)).

Vidu official video generation API; the public path follows the Vidu official specification.

Current public model: `viduq3-turbo`. Supports text-to-video, image-to-video, start-and-end-frame video generation, and reference-based video generation. The same model also supports access via the `/v1/videos` Sora compatible format. Common `mode` are `t2v`, `i2v`, `i2v_first_last`, and `reference_images`.

Provides the public request skeleton, task query structure, and recommended validation template for the Vidu official video generation format, while the public path retains the Vidu official endpoint format.

Supported models:
viduq3-turbo

Unified request fields:
- `model` (string, required): Vidu public model name, currently public `viduq3-turbo`.
- `prompt` (string, optional): Video generation prompt; required for text-to-video, and passed as needed for image-to-video, start-and-end-frame, and reference-based video generation.
- `images` (array[string], optional): Image input. 1 image for image-to-video, 2 images for start-and-end-frame video generation, and 1~7 images for reference-based video generation.
- `videos` (array[string], optional): Optional video subject input for reference-based video generation, used according to the capabilities of the Vidu official model.
- `subjects` (array[object], optional): Subject-library format input for reference-based video generation; may include fields such as subject name, image, video, or voice timbre.
- `duration` (integer, optional): Video duration, in seconds. `viduq3-turbo` commonly uses 5 seconds; set it according to the official range.
- `resolution` (string, optional): Output resolution, common values are `540p`, `720p`, and `1080p`.
- `aspect_ratio` (string, optional): Output aspect ratio, commonly used for text-to-video/reference-based video generation, such as `16:9`, `9:16`, and `1:1`.
- `seed` (integer, optional): Random seed.
- `movement_amplitude` (string, optional): Motion intensity, common values are `auto`, `small`, `medium`, and `large`.
- `audio` (boolean, optional): Whether to enable direct audio-video output.
- `off_peak` (boolean, optional): Whether to use staggered generation.
- `watermark` (boolean, optional): Whether to add a watermark.

Common model/mode differences:
- `Vidu 文生视频`: Supported model viduq3-turbo; official-format text-to-video.
- `Vidu 图生视频`: Supported model viduq3-turbo; official-format single-image image-to-video.
- `Vidu 首尾帧生视频`: Supported model viduq3-turbo; official-format two-image start-and-end-frame video generation.
- `Vidu 参考生视频`: Supported model viduq3-turbo; official-format multi-reference image-to-video.



## OpenAPI

````yaml api-reference/en/openapi.json POST /ent/v2/img2video
openapi: 3.0.0
info:
  title: Overseas Expansion Camp API Reference Documentation
  version: 1.0.0
  description: Public AI Gateway API Reference
servers:
  - url: https://api.aiid.edu.kg
security:
  - BearerAuth: []
tags:
  - name: OpenAI format (Chat)
  - name: OpenAI Format (Responses)
  - name: Gemini Format for Image Generation
  - name: Image generationOpenAI DALL-E format
  - name: List models
  - name: Video generationHappyHorse and Wan
  - name: Video generation Kling format
  - name: Video generation Omni and Veo formats
  - name: Video generation Seedance
  - name: Video generation Sora compatible formats
  - name: Video generation Vidu
  - name: Music generation task format
paths:
  /ent/v2/img2video:
    post:
      tags:
        - Video generation Vidu
      summary: Create image-to-video (Vidu)
      description: >-
        This series supports OpenAI video generation formats (see the link
        [Video generation Sora compatible
        formats](/api-reference/en/video-generation-sora-compatible-format/create-video)).


        Vidu official video generation API; the public path follows the Vidu
        official specification.


        Current public model: `viduq3-turbo`. Supports text-to-video,
        image-to-video, start-and-end-frame video generation, and
        reference-based video generation. The same model also supports access
        via the `/v1/videos` Sora compatible format. Common `mode` are `t2v`,
        `i2v`, `i2v_first_last`, and `reference_images`.


        Provides the public request skeleton, task query structure, and
        recommended validation template for the Vidu official video generation
        format, while the public path retains the Vidu official endpoint format.


        Supported models:

        viduq3-turbo


        Unified request fields:

        - `model` (string, required): Vidu public model name, currently public
        `viduq3-turbo`.

        - `prompt` (string, optional): Video generation prompt; required for
        text-to-video, and passed as needed for image-to-video,
        start-and-end-frame, and reference-based video generation.

        - `images` (array[string], optional): Image input. 1 image for
        image-to-video, 2 images for start-and-end-frame video generation, and
        1~7 images for reference-based video generation.

        - `videos` (array[string], optional): Optional video subject input for
        reference-based video generation, used according to the capabilities of
        the Vidu official model.

        - `subjects` (array[object], optional): Subject-library format input for
        reference-based video generation; may include fields such as subject
        name, image, video, or voice timbre.

        - `duration` (integer, optional): Video duration, in seconds.
        `viduq3-turbo` commonly uses 5 seconds; set it according to the official
        range.

        - `resolution` (string, optional): Output resolution, common values are
        `540p`, `720p`, and `1080p`.

        - `aspect_ratio` (string, optional): Output aspect ratio, commonly used
        for text-to-video/reference-based video generation, such as `16:9`,
        `9:16`, and `1:1`.

        - `seed` (integer, optional): Random seed.

        - `movement_amplitude` (string, optional): Motion intensity, common
        values are `auto`, `small`, `medium`, and `large`.

        - `audio` (boolean, optional): Whether to enable direct audio-video
        output.

        - `off_peak` (boolean, optional): Whether to use staggered generation.

        - `watermark` (boolean, optional): Whether to add a watermark.


        Common model/mode differences:

        - `Vidu 文生视频`: Supported model viduq3-turbo; official-format
        text-to-video.

        - `Vidu 图生视频`: Supported model viduq3-turbo; official-format
        single-image image-to-video.

        - `Vidu 首尾帧生视频`: Supported model viduq3-turbo; official-format two-image
        start-and-end-frame video generation.

        - `Vidu 参考生视频`: Supported model viduq3-turbo; official-format
        multi-reference image-to-video.
      operationId: createViduImageVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - images
              properties:
                model:
                  type: string
                  enum:
                    - viduq3-turbo
                  example: viduq3-turbo
                  description: Vidu external model name, currently public `viduq3-turbo`.
                prompt:
                  type: string
                  example: A cinematic product ad with smooth camera motion
                  description: >-
                    Video generation prompt; required for text-to-video, and
                    optional for image-to-video, first-and-last-frame-to-video,
                    and reference-to-video, depending on business needs.
                images:
                  type: array
                  items:
                    type: string
                    format: uri
                  example:
                    - https://example.com/input.jpg
                  minItems: 1
                  maxItems: 1
                  description: >-
                    Image input. For image-to-video, provide 1 image; for
                    start/end frames, provide 2 images; for reference video
                    generation, provide 1–7 images.
                videos:
                  type: array
                  items:
                    type: string
                    format: uri
                  description: >-
                    For reference video generation, the video subject input is
                    optional. Use it according to the capabilities of the Vidu
                    official model.
                subjects:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      images:
                        type: array
                        items:
                          type: string
                          format: uri
                      videos:
                        type: array
                        items:
                          type: string
                          format: uri
                      voice_id:
                        type: string
                      server_id:
                        type: string
                  description: >-
                    Enter in the same format as the video subject library
                    reference generation input. It can include fields such as
                    subject name, images, videos, or voice timbre.
                auto_subjects:
                  type: boolean
                duration:
                  type: integer
                  example: 5
                  description: >-
                    Video duration, in seconds. `viduq3-turbo` Commonly 5
                    seconds; set it within the official range.
                resolution:
                  type: string
                  enum:
                    - 540p
                    - 720p
                    - 1080p
                  example: 720p
                  description: >-
                    Output resolution, common values `540p`, `720p`, and
                    `1080p`.
                aspect_ratio:
                  type: string
                  enum:
                    - '16:9'
                    - '9:16'
                    - '4:3'
                    - '3:4'
                    - '1:1'
                  example: '16:9'
                  description: >-
                    Output aspect ratio, commonly used for
                    text-to-video/reference-to-video generation, such as `16:9`,
                    `9:16`, and `1:1`.
                seed:
                  type: integer
                  description: Random seed.
                movement_amplitude:
                  type: string
                  enum:
                    - auto
                    - small
                    - medium
                    - large
                  example: auto
                  description: >-
                    Motion range, common values `auto`, `small`, `medium`,
                    `large`.
                audio:
                  type: boolean
                  description: Whether to enable direct audio/video output.
                audio_type:
                  type: string
                  enum:
                    - all
                    - speech_only
                    - sound_effect_only
                voice_id:
                  type: string
                is_rec:
                  type: boolean
                bgm:
                  type: boolean
                payload:
                  type: string
                off_peak:
                  type: boolean
                  description: Whether to use staggered generation.
                watermark:
                  type: boolean
                  description: Whether to add a watermark.
                wm_position:
                  type: integer
                  enum:
                    - 1
                    - 2
                    - 3
                    - 4
                wm_url:
                  type: string
                  format: uri
                callback_url:
                  type: string
                  format: uri
            examples:
              vidu_native_t2v:
                summary: Vidu Text-to-Video
                value:
                  model: viduq3-turbo
                  prompt: A cinematic product ad with smooth camera motion
                  duration: 5
                  resolution: 720p
                  aspect_ratio: '16:9'
              vidu_native_i2v:
                summary: Vidu Image-to-Video
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/product.jpg
                  prompt: The product rotates slowly under studio light
                  duration: 5
                  resolution: 720p
              vidu_native_start_end:
                summary: Vidu Generate video from first and last frames
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/start.jpg
                    - https://example.com/end.jpg
                  prompt: A smooth camera move from the first frame to the final frame
                  duration: 5
                  resolution: 720p
              vidu_native_reference:
                summary: Vidu Reference video generation
                value:
                  model: viduq3-turbo
                  images:
                    - https://example.com/ref-1.jpg
                    - https://example.com/ref-2.jpg
                    - https://example.com/ref-3.jpg
                  prompt: >-
                    Keep the same character and product style in a cinematic
                    shot
                  duration: 5
                  resolution: 720p
                  aspect_ratio: '16:9'
      responses:
        '200':
          description: Task created successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - task_id
                  - state
                properties:
                  task_id:
                    type: string
                    description: >-
                      The task ID returned when creating a task, used to query
                      the task.
                  state:
                    type: string
                    enum:
                      - created
                      - queueing
                      - processing
                      - success
                      - failed
                    description: >-
                      Task status. Common values: `created`, `queueing`,
                      `processing`, `success`, `failed`.
                  model:
                    type: string
                  prompt:
                    type: string
                  images:
                    type: array
                    items:
                      type: string
                  duration:
                    type: integer
                  resolution:
                    type: string
                  created_at:
                    type: string
                  creations:
                    type: string
                    items:
                      type: object
                      properties:
                        url:
                          type: string
                          description: >-
                            The URL of the generated video after the task
                            succeeds.
                        cover_url:
                          type: string
                          description: Cover URL after the task succeeds.
                        watermarked_url:
                          type: string
                          description: Watermarked video URL.
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |-
        Use Bearer Token authentication.
        Format: `Authorization: Bearer sk-xxxxxx`

````