# Wan | v2.2 A14B | Image to Video Transforms static images into dynamic short videos with natural movement and sharp detail. ## API Information - **Model Slug:** wan-v2-2-a14b-image-to-video - **Branded URL:** https://www.eachlabs.ai/alibaba/wan-v2-2/wan-v2-2-a14b-image-to-video - **Provider:** Alibaba - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Estimated Processing Time:** 70 seconds - **Last Updated:** 2026-04-02 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/wan-v2-2-a14b-image-to-video ## Pricing Pricing information not available. ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | image_url | string | Yes | - | - | URL of the input image. If the input image does not match the chosen aspect ratio, it is resized and center cropped. | | prompt | string | Yes | - | - | The text prompt to guide video generation. | | end_image_url | string | No | - | - | URL of the end image. | | negative_prompt | string | No | - | - | Negative prompt for video generation. | | seed | integer | No | - | - | Random seed for reproducibility. If None, a random seed is chosen. | | resolution | string | No | 720p | 480p,580p,720p | Resolution of the generated video (480p, 580p, or 720p). | | aspect_ratio | string | No | auto | auto,16:9,9:16,1:1 | Aspect ratio of the generated video. If 'auto', the aspect ratio will be determined automatically based on the input image. | | num_inference_steps | integer | No | 27 | 2–40 | Number of inference steps for sampling. Higher values give better quality but take longer. | | enable_safety_checker | boolean | No | false | - | If set to true, input data will be checked for safety before processing. | | enable_prompt_expansion | boolean | No | false | - | Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original meaning. | | acceleration | string | No | regular | none,regular | Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'regular'. | | guidance_scale | number | No | 3.5 | 1–10 | Classifier-free guidance scale. Higher values give better adherence to the prompt but may decrease quality. | | guidance_scale_2 | number | No | 3.5 | 1–10 | Guidance scale for the second stage of the model. This is used to control the adherence to the prompt in the second stage of the model. | | shift | number | No | 5 | 1–10 | Shift value for the video. Must be between 1.0 and 10.0. | | interpolator_model | string | No | film | none,film,rife | The model to use for frame interpolation. If None, no interpolation is applied. | | num_interpolated_frames | integer | No | 1 | 0–4 | Number of frames to interpolate between each pair of generated frames. Must be between 0 and 4. | | adjust_fps_for_interpolation | boolean | No | true | - | If true, the number of frames per second will be multiplied by the number of interpolated frames plus one. For example, if the generated frames per second is 16 and the number of interpolated frames is 1, the final frames per second will be 32. If false, the passed frames per second will be used as-is. | | frames_per_second | integer | No | 16 | 16–16 | - | | num_frames | integer | No | 81 | 81–81 | Number of frames to generate. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan-v2-2-a14b-image-to-video", "input": { "prompt": "A cinematic video of a basketball player preparing to shoot. The camera view is steady and locked. The player lifts the ball smoothly with natural arm motion, while his head and face remain stable, consistent, and lifelike. Subtle body shifts and ball movement show dynamic energy, but facial details stay sharp and unchanged. Bright daylight and soft shadows enhance realism without distracting from the action.", "image_url": "https://storage.googleapis.com/magicpoint/inputs/wan-v2.2-a14b-i2v-inputt.jpg" } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **wan-v2.2-a14b-image-to-video — Image-to-Video AI Model** Developed by Alibaba as part of the wan-v2.2 family, **wan-v2.2-a14b-image-to-video** transforms static images into dynamic short videos with natural movement and sharp detail. This image-to-video AI model solves a critical creative challenge: converting single product photos, portraits, or concept art into compelling video content without manual frame-by-frame animation or expensive video production workflows. The model excels at generating cinematic-quality motion from a single image input, making it ideal for creators and developers building AI video generation tools that demand both speed and visual fidelity. The wan-v2.2 architecture introduces a Mixture-of-Experts (MoE) design that splits the diffusion denoising process across specialized pathways, dramatically increasing model capacity without raising inference costs. This efficiency gain means faster processing on consumer hardware while maintaining the aesthetic precision that distinguishes professional video output from generic AI synthesis. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.