# Wan | v2.2 A14B | Image to Video | Turbo WAN 2.2 A14B Image to Video Turbo transforms a single input image into a dynamic short video. It adds realistic motion, smooth transitions, and cinematic camera effects while preserving the original details of the image. ## API Information - **Model Slug:** wan-v2-2-a14b-image-to-video-turbo - **Branded URL:** https://www.eachlabs.ai/alibaba/wan-v2-2/wan-v2-2-a14b-image-to-video-turbo - **Provider:** Alibaba - **Category:** Image to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.05–$0.10 per second, depending on resolution - **Estimated Processing Time:** 60 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/wan-v2-2-a14b-image-to-video-turbo ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.05–$0.10 per second, depending on resolution - **Pricing Details:** 480p: $0.05 - **Pricing Details:** 580p: $0.075 - **Pricing Details:** default: $0.1 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text prompt describing the desired video motion and content. Supports Chinese and English. Max 800 characters. | | image_url | string | Yes | - | - | URL of the image to use as the first frame. Supports JPEG, JPG, PNG, BMP, WEBP. Dimensions: 240-8000px on each side. Max 10MB. | | resolution | string | No | 720p | 480p, 720p | Video output resolution. 480p: lower resolution, faster generation. 720p: higher quality output (default). | | negative_prompt | string | No | - | - | Text describing content to avoid in the generated video. Max 500 characters. | | enable_prompt_expansion | boolean | No | false | - | Enable LLM-based prompt rewriting for better video quality. Default: false. | | seed | integer | No | - | 0–2147483647 | Random seed for reproducibility. Range: 0-2147483647. If not provided, a random seed is chosen. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan-v2-2-a14b-image-to-video-turbo", "input": { "image_url": "https://cdn-us.eachlabs.ai/defaults/5ef87db915ff1ba5393680d4c32698dc6fff8a2b63d686fe2ae6ba92d44be387.jpg", "prompt": "A graceful female dancer in a modern studio continues her elegant contemporary dance, smoothly transitioning from the frozen pose into flowing movements. She lifts her arm higher, arches her body with fluid motion, and steps lightly across the polished wooden floor. Soft daylight streams through the large windows, casting dynamic shadows as she turns and extends her movements with cinematic elegance. Ultra realistic, natural lighting, dynamic camera focus" } }' ``` ## 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 "Authorization: Bearer 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 `Authorization` bearer token | | `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-turbo — Image-to-Video AI Model** Developed by Alibaba as part of the **wan-v2.2** family, **wan-v2.2-a14b-image-to-video-turbo** transforms static images into dynamic short videos with realistic motion, smooth transitions, and cinematic camera effects, preserving original image details for professional-grade outputs. This **image-to-video AI model** leverages a Mixture-of-Experts (MoE) architecture to boost capacity without increasing inference costs, enabling high-quality 720p video synthesis at 24 fps on consumer GPUs like the RTX 4090. Ideal for creators seeking an **Alibaba image-to-video** solution, it supports ~4-second clips (65 frames at 16 fps), making it perfect for quick social media content or prototypes without heavy compute demands. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer 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.