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

# Wan 2.5 Image to Video Preview

Wan 2.5 Preview Image-to-Video API converts static images into dynamic short videos. It preserves the identity features and style of the original image while adding realistic animation effects and perspective changes, making it ideal for portraits, product showcases, and creative storytelling. The model supports generating videos up to 10 seconds in 1080P resolution with synchronized audio generation.

<Tip>
  This is an **async** API that only returns the task\_id of the async task. Use the task\_id to call the [Get Async Task Result API](/docs/models/reference-get-async-task-result) to retrieve the generated result.
</Tip>

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Request Body

<ParamField body="input" type="object" required={true}>
  Input parameters, including the source image and text prompt.

  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="prompt" type="string">
      Text describing the desired video motion and content. Supports Chinese and English. wan2.5 supports up to 800 characters, newer models up to 1500 characters. Example: 'The camera slowly zooms in on the subject, with a gentle breeze blowing through the hair.'
    </ParamField>

    <ParamField body="img_url" type="string" required={true}>
      URL of the input image to convert to video. Supports HTTP/HTTPS URLs, Base64-encoded data, or OSS file paths. Supported formats: JPEG, JPG, PNG (no alpha channel), BMP, WEBP. Resolution must be between 360-2000 pixels (width and height). Maximum file size: 10MB.

      Length limit: 1 - unlimited
    </ParamField>

    <ParamField body="audio_url" type="string" nullable={true} default="" />

    <ParamField body="negative_prompt" type="string">
      Describes content to avoid in the generated video. Up to 500 characters. Example: 'low resolution, errors, poor quality, low quality, defects, blurry, distorted faces.'
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="model" type="string">
  Model name for video generation. Available models include: wan2.5-i2v-preview (supports audio), wan2.6-i2v-flash, wan2.6-i2v.
</ParamField>

<ParamField body="paramenters" type="object">
  Optional parameters for controlling video generation quality and characteristics.

  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="seed" type="integer">
      Random seed for reproducible generation. Using the same seed with the same parameters will produce the same video. If not specified, a random seed is used.

      Range: \[0, 2147483647]
    </ParamField>

    <ParamField body="duration" type="integer">
      Duration of the generated video (seconds). For wan2.5-i2v-preview, only 5 or 10 seconds are supported. Longer videos require more generation time.

      Possible values: `5`, `10`
    </ParamField>

    <ParamField body="watermark" type="boolean">
      Whether to add a watermark on the generated video. Default: false.
    </ParamField>

    <ParamField body="resolution" type="string">
      Output video resolution. Higher resolution produces better quality but takes longer to generate and costs more. 480P is suitable for previews, 720P for standard quality, 1080P for high-quality production.

      Possible values: `480P`, `720P`, `1080P`
    </ParamField>

    <ParamField body="prompt_extend" type="boolean">
      Whether to enable LLM automatic prompt enhancement. When enabled, the model will expand and optimize your prompt for better video quality. Default: true.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="task_id" type="string" required={false}>
  Use the task\_id to call the [Get Async Task Result API](/docs/models/reference-get-async-task-result) to retrieve the generated output.
</ResponseField>

<ResponseField name="provider_request_id" type="string" required={false}>
  Unique request identifier from the service provider, used for debugging and tracing.
</ResponseField>
