# Alibaba | Wan 2.7 | Text to Video Wan 2.7 Text-to-Video generates high-quality videos from text prompts with optional audio synchronization, auto-generated background music, and intelligent prompt enhancement. ## API Information - **Model Slug:** alibaba-wan-2-7-text-to-video - **Branded URL:** https://www.eachlabs.ai/alibaba/wan-2-7/alibaba-wan-2-7-text-to-video - **Provider:** Alibaba - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Base Cost:** $0.10–$0.15 per second, depending on resolution - **Estimated Processing Time:** 200 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/alibaba-wan-2-7-text-to-video ## Pricing - **Charge Type:** dynamic - **Estimate:** $0.10–$0.15 per second, depending on resolution - **Pricing Details:** 720P: $0.1 - **Pricing Details:** default: $0.15 ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | Text description of the video to generate. Supports Chinese and English. Max 5,000 characters. For multi-shot, use natural language cues like 'Generate a multi-shot video' or timestamps. | | audio_url | string | No | - | - | URL of audio file for audio-visual synchronization (optional). Supports WAV and MP3. Duration: 3-30 seconds. Max 15 MB. If omitted, model auto-generates background music/SFX. | | negative_prompt | string | No | - | - | Describe what to avoid in the generated video. Max 500 characters. | | resolution | string | No | 1080P | 720P, 1080P | Output video resolution. 720P: lower cost, faster generation. 1080P: higher quality (default). | | ratio | string | No | 16:9 | 16:9, 9:16, 1:1, 4:3, 3:4 | Output video aspect ratio. 16:9: landscape (default). 9:16: portrait/vertical. 1:1: square. 4:3: standard. 3:4: vertical standard. | | duration | integer | No | 5 | 2–15 | Video duration in seconds. Range: 2-15. Each second is billed separately. Default: 5. | | prompt_extend | boolean | No | true | - | Intelligent prompt rewriting for better quality. Improves results for short prompts but increases latency. Default: true. | | seed | integer | No | - | 1–2147483647 | Seed for reproducibility. Same seed produces similar (not identical) results. Random if omitted. | ## 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": "alibaba-wan-2-7-text-to-video", "input": { "prompt": "A young girl walks through an enchanted forest filled with glowing particles and fireflies. Soft light beams pass through tall trees as fog drifts slowly. The camera floats gently around her, revealing a small glowing orb in her hands. As she lifts it, the surrounding forest subtly reacts, shimmering with light. Smooth cinematic motion, magical atmosphere, soft depth of field, warm fantasy tones." } }' ``` ## 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 Alibaba | Wan 2.7 | Text to Video generates high-quality 1080p videos from text prompts, supporting durations up to 15 seconds with native audio synchronization and multi-reference capabilities. Developed by Alibaba as part of the Wan AI family, this model excels in text-to-video (T2V), image-to-video (I2V), and reference-to-video (R2V) workflows, distinguishing itself through support for up to 5 simultaneous references for complex multi-subject scenes and temporal feature transfer from source videos. It addresses key challenges in video generation by enabling precise control over first and last frames, joint image-video-audio inputs for subject and voice cloning, and native 1080p output without upscaling artifacts. Ideal for creators needing professional-grade videos with consistent identity preservation and motion dynamics, Alibaba | Wan 2.7 | Text to Video powers efficient production on platforms like each::labs, streamlining workflows from concept to final clip. ## 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.