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

# PixVerse V6 Max Image to Video

> The PixVerse V6 Max Image to Video API animates one JPEG, PNG or WebP image into a 1–15 second video at 360p to 1080p, keeping the image's framing.

> [!TIP]
>
> 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`.
> 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](https://docs.vidgo.ai/api-manual/task-management/status.md) endpoint.

PixVerse V6 Max Image to Video animates one JPEG, PNG or WebP image into a 1–15 second video at 360p to 1080p. The image is the start frame and keeps its framing, so the output follows the image's aspect ratio. Add `audio: true` for a native soundtrack. It suits product animations from a packshot, social clips and music-video snippets.

PixVerse V6 Max is the Max tier of PixVerse V6, added to PixVerse's API for text-to-video and image-to-video in October 2026. Vidgo exposes two model IDs: [Text to Video](https://docs.vidgo.ai/api-manual/video-series/pixverse-v6-max-text-to-video.md) and [Image to Video](https://docs.vidgo.ai/api-manual/video-series/pixverse-v6-max-image-to-video.md).

## Models

* **pixverse/v6-max/image-to-video** — Image-to-video with PixVerse V6 Max from one image, 1–15 seconds, 360p to 1080p, optional audio.

## Features

* Image-to-video from a single start image.
* Optional prompt to direct motion and camera movement.
* Durations from 1 to 15 seconds in one-second steps.
* Four resolutions: `360p`, `540p`, `720p` and `1080p`.
* Optional native audio track with `audio: true`.
* Aspect ratio follows the input image.

## Required parameters

* `image_urls` (string\[]): Exactly one public HTTP(S) image URL (JPEG, PNG or WebP). If the URL has a file extension, it must be `.jpg`, `.jpeg`, `.png` or `.webp`.

## Optional parameters

* `prompt` (string): What moves, how the camera moves and, with `audio` on, the sound. Must not be blank if sent; up to 2,048 characters.
* `duration` (integer): Output length, `1`–`15` whole seconds. Default `5`.
* `resolution` (string): `360p`, `540p`, `720p` or `1080p`. Default `540p`.
* `audio` (boolean): Add a native audio track. Default `false`.

## Output

The finished task returns one MP4 video in the `files` array of [Query Task Status](https://docs.vidgo.ai/api-manual/task-management/status.md) and the callback payload.

## Examples

* **5-second 720p product animation**: a packshot with a short motion prompt, silent.
* **8-second 1080p clip with audio and callback**: a concert photo with `audio: true` and a `callback_url`.

## Notes

* `aspect_ratio` is not accepted on this ID (the image sets it) and returns 400, as does any field not listed above. For prompt-only generation with a chosen aspect ratio, use [PixVerse V6 Max Text to Video](https://docs.vidgo.ai/api-manual/video-series/pixverse-v6-max-text-to-video.md).
* The prompt limit here is 2,048 characters, lower than the 5,000 allowed in text-to-video.
* PixVerse V6 Max on Vidgo takes text or exactly one image. First/last frame, video input, extend, reference-to-video and `seed` are not available.
* A `null` value for `duration`, `resolution` or `audio` counts as the default.
* `model` and `callback_url` belong at the request root, not inside `input`.
* Credits are reserved at submission and depend on `resolution`, `audio` and `duration` (per output second); turning on `audio` raises the rate. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates.


## OpenAPI

````yaml api-manual/video-series/pixverse-v6-max-image-to-video.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - PixVerse V6 Max Image to Video
  description: >-
    The PixVerse V6 Max Image to Video API animates one JPEG, PNG or WebP image
    into a 1–15 second video at 360p to 1080p, keeping the image's framing.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
    description: Production server
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Video Series
      summary: PixVerse V6 Max Image to Video
      description: >-
        Send only the `input` fields listed for this model. Any other field,
        including `aspect_ratio`, returns 400. The image URL must be a public
        HTTP(S) URL without embedded credentials; if it has a file extension, it
        must be .jpg, .jpeg, .png or .webp.
      operationId: submit_pixverse_v6_max_image_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  description: Model ID. Use `pixverse/v6-max/image-to-video`.
                  example: pixverse/v6-max/image-to-video
                callback_url:
                  type: string
                  format: uri
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint that receives a POST when
                    the task becomes `finished` or `failed`. HTTPS is
                    recommended. Omit it, or send `null` or an empty string, to
                    disable callbacks.
                  example: https://your-domain.com/callback
                input:
                  type: object
                  required:
                    - image_urls
                  properties:
                    image_urls:
                      type: array
                      items:
                        type: string
                        format: uri
                      minItems: 1
                      maxItems: 1
                      example:
                        - https://example.com/packshot.png
                      description: >-
                        Exactly one public HTTP(S) image URL (JPEG, PNG or
                        WebP). It is the start frame and sets the aspect ratio.
                    prompt:
                      type: string
                      minLength: 1
                      maxLength: 2048
                      example: >-
                        The perfume bottle rotates slowly as petals fall around
                        it, soft studio light
                      description: >-
                        Optional motion description: what moves, how the camera
                        moves and, with `audio` on, the sound. Must not be blank
                        if sent; up to 2,048 characters.
                    duration:
                      type: integer
                      minimum: 1
                      maximum: 15
                      default: 5
                      description: >-
                        Output length in whole seconds. `null` counts as the
                        default.
                    resolution:
                      type: string
                      enum:
                        - 360p
                        - 540p
                        - 720p
                        - 1080p
                      default: 540p
                      description: >-
                        Output resolution. It sets the billing rate. `null`
                        counts as the default.
                    audio:
                      type: boolean
                      default: false
                      description: >-
                        Add a native audio track (dialogue, effects, music). It
                        changes the billing rate. `null` counts as the default.
                  additionalProperties: false
                  description: Generation parameters.
            examples:
              product:
                summary: 5-second 720p product animation
                value:
                  model: pixverse/v6-max/image-to-video
                  input:
                    image_urls:
                      - https://example.com/packshot.png
                    prompt: >-
                      The perfume bottle rotates slowly as petals fall around
                      it, soft studio light
                    duration: 5
                    resolution: 720p
                    audio: false
              with_audio:
                summary: 8-second 1080p clip with audio and callback
                value:
                  model: pixverse/v6-max/image-to-video
                  callback_url: https://your-domain.com/callback
                  input:
                    image_urls:
                      - https://example.com/guitarist.jpg
                    prompt: >-
                      The guitarist strums the final chord and the crowd cheers,
                      camera pulls back
                    duration: 8
                    resolution: 1080p
                    audio: true
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                    description: HTTP status code.
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                        description: >-
                          Task ID. Use it with [Query Task
                          Status](/api-manual/task-management/status).
                      status:
                        type: string
                        enum:
                          - not_started
                        description: Initial task status.
                      created_time:
                        type: string
                        format: date-time
                        description: Time the task was created (ISO 8601).
              example:
                code: 200
                data:
                  task_id: task-unified-1762160000-abc123
                  status: not_started
                  created_time: '2026-11-03T10:30:00'
        '400':
          description: >-
            Invalid input, unsupported field, inaccessible media, or
            insufficient credits
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '502':
          description: Unable to create the upstream generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '503':
          description: The requested model is temporarily unavailable
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        All API endpoints require Bearer Token authentication


        Get your API Key:


        Go to **Dashboard → API Key** ([API Key Management
        Page](https://vidgo.ai/apis/dashboard/api-key)) to get your API Key


        Add it to the request header:


        ```

        Authorization: Bearer VIDGO_API_KEY

        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.