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

# Image to Video Ultra

> Generate high-definition videos from images using the Image to Video Ultra API. Supported model_id are `wan2.2` and `ltx-2.3`. Any other models passed will be ignored and defauted to `wan2.2`

![Image to Video Ultra Example](https://assets.modelslab.ai/generations/bca7a1e0-bf10-4d15-8437-1c4c78060f29.png)

## Request

Make a `POST` request to below endpoint and pass the required parameters in the request body.

```curl curl theme={null}
--request POST 'https://modelslab.com/api/v6/video/img2video_ultra' \
```

## Body

```json json theme={null}
{
    "key":"your_api_key",
    "init_image":"https://assets.modelslab.ai/generations/91c519f4-20fe-4834-ac47-fe5c39c44b34",
    "prompt":"moving character",
    "model_id": "wan2.2",
    "negative_prompt":"low quality",
    "resolution":480,
    "num_frames": 92,
    "num_inference_steps":8,
    "guidance_scale":1.0,
    "webhook": null,
    "track_id":null
}
```

<Note>
  **Resolution Limits:**

  * **wan2.2**: Maximum resolution is **720p**
</Note>


## OpenAPI

````yaml POST /video/img2video_ultra
openapi: 3.1.0
info:
  title: ModelsLab Video API
  description: >-
    A comprehensive API for AI-driven video generation including text-to-video,
    image-to-video, scene transitions, and video management capabilities
  license:
    name: MIT
  version: 6.0.0
servers:
  - url: https://modelslab.com/api/v6
security: []
paths:
  /video/img2video_ultra:
    post:
      summary: Generate HD video from image
      description: >-
        Creates high-quality HD video from an initial image. Costs $0.2 per API
        call.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageToVideoUltraRequest'
      responses:
        '200':
          description: HD image-to-video generation response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoResponse'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ImageToVideoUltraRequest:
      type: object
      required:
        - key
        - init_image
        - prompt
        - model_id
      properties:
        key:
          type: string
          description: Your API Key used for request authorization
        model_id:
          type: string
          enum:
            - wan2.2
            - ltx-2.3
          default: wan2.2
          description: The model ID to use for video generation. wan2.2 or ltx-2.3
        prompt:
          type: string
          description: Text prompt describing the video content
        init_image:
          type: string
          format: uri
          description: URL of the initial image
        negative_prompt:
          type: string
          description: Items you don't want in the video
        seed:
          oneOf:
            - type: integer
            - type: 'null'
          description: Seed for reproducible results
        resolution:
          type: integer
          description: Output video resolution. For wan2.2 maximum resolution is 720p
        num_frames:
          type: integer
          default: 81
          description: Number of frames
        num_inference_steps:
          type: integer
          default: 25
          maximum: 25
          description: Number of denoising steps
        guidance_scale:
          type: number
          minimum: 0
          maximum: 8
          description: Guidance scale
        fps:
          type: integer
          maximum: 16
          description: Frames per second
        portrait:
          type: boolean
          default: false
          description: Portrait mode gives output in 9:16 aspect ratio.
        sample_shift:
          type: integer
          default: 5
          maximum: 10
          description: Sampling shift
        base64:
          type: boolean
          default: false
          description: Input image is base64 format
        temp:
          type: boolean
          default: false
          description: Store in temporary storage
        webhook:
          type: string
          format: uri
          description: Webhook URL
        track_id:
          type: string
          description: Tracking ID
    VideoResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - processing
            - error
          description: Status of the video generation
        generationTime:
          type: number
          description: Time taken to generate the video in seconds
        id:
          type: integer
          description: Unique identifier for the video generation
        output:
          type: array
          items:
            type: string
            format: uri
          description: Array of generated video URLs
        proxy_links:
          type: array
          items:
            type: string
            format: uri
          description: Array of proxy video URLs
        future_links:
          type: array
          items:
            type: string
            format: uri
          description: Array of future video URLs for queued requests
        meta:
          type: object
          description: Metadata about the video generation including all parameters used
        eta:
          type: integer
          description: Estimated time for completion in seconds (processing status)
        message:
          type: string
          description: Status message or additional information
        tip:
          type: string
          description: Additional information or tips for the user
        fetch_result:
          type: string
          format: uri
          description: URL to fetch the result when processing
    Error:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
          description: Error message description

````