# Wan 2.6 > Alibaba's multimodal generation model from the Wan AI suite, supporting text-to-video, image-to-video, reference-to-video with audio, and text-to-image, in both Chinese and English ## Quick Reference - Model ID: wan-2.6 - Creator: Alibaba - Status: active - Family: wan - Base URL: https://api.lumenfall.ai/v1 ## Specifications - Input Modalities: text, image, video - Output Modalities: image, video, audio - Supported Modes: Text to Image, Image Edit, Text to Video, Image to Video, Video to Video ## API Parameters The compiled parameter schema for this model is available via the API: `GET /v1/models/wan-2.6?schema=true`. ### Core Parameters - `prompt` (string) — REQUIRED: Text prompt for image generation. Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video - `negative_prompt` (string): Negative prompt to guide generation away from undesired content. Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video - `seed` (integer): Random seed for reproducibility. Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video ### Size & Layout - `size` (string): Image dimensions as WxH pixels (e.g. "1024x1024") or aspect ratio (e.g. "16:9"). Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video - `aspect_ratio` (string): Aspect ratio of the output image (e.g. "16:9", "1:1"). Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video - `resolution` (string): Output resolution tier (e.g. "1K", "4K"). Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video ### Media Inputs - `image` (file) — REQUIRED: Input image(s) to edit. Modes: Image Edit ### Output & Format - `response_format` (string): How to return the image. Default: url. Values: url, b64_json. Modes: Text to Image, Image Edit - `output_format` (string): Output image format. Values: png, jpeg, gif, webp, avif. Modes: Text to Image, Image Edit - `output_compression` (integer): Compression level for lossy formats (JPEG, WebP, AVIF). Modes: Text to Image, Image Edit - `n` (integer): Number of images to generate. Default: 1. Modes: Text to Image, Image Edit, Text to Video, Video to Video, Image to Video ### Additional Parameters - `input_reference` (array): Input image(s) to animate into video. Modes: Image to Video - `input_video` (string): Input video URL to transform. Modes: Video to Video - `enable_prompt_expansion` (boolean): Enable LLM prompt optimization. Significantly improves results for simple prompts but adds 3-4 seconds processing time.. Modes: Image Edit. Only available via fal - `enable_safety_checker` (boolean): Enable content moderation for input and output.. Modes: Text to Image, Image Edit. Only available via fal ## Model Identifiers - Primary Slug: wan-2.6 ## Tags video-generation, text-to-video, image-to-video, audio-generation, image-generation, text-to-image ## Available Providers ### fal.ai - Config Key: fal/wan-2.6-image - Provider Model ID: wan/v2.6/text-to-image - Pricing: $0.030/image - Source: https://fal.ai/models/wan/v2.6/text-to-image ### fal.ai - Config Key: fal/wan-2.6-edit - Provider Model ID: wan/v2.6/image-to-image - Pricing: $0.030/image - Source: https://fal.ai/models/wan/v2.6/text-to-image ### Alibaba Cloud - Config Key: alibaba/wan-2.6 - Provider Model ID: wan2.6-t2v - Pricing: $0.100/second, $0.150/second - Source: https://www.alibabacloud.com/help/en/model-studio/model-pricing ### Alibaba Cloud - Config Key: alibaba/wan-2.6-image - Provider Model ID: wan2.6-t2i - Pricing: $0.030/image ### Alibaba Cloud - Config Key: alibaba/wan-2.6-r2v - Provider Model ID: wan2.6-r2v - Pricing: $0.100/second, $0.150/second, $0.100/second, $0.150/second - Source: https://www.alibabacloud.com/help/en/model-studio/model-pricing ### Alibaba Cloud - Config Key: alibaba/wan-2.6-i2v - Provider Model ID: wan2.6-i2v - Pricing: $0.100/second, $0.150/second - Source: https://www.alibabacloud.com/help/en/model-studio/model-pricing ## Performance Metrics Provider performance over the last 30 days. ### alibaba - Median Generation Time (p50): 1126ms - 95th Percentile Generation Time (p95): 35304ms - Average Generation Time: 9617ms - Success Rate: 93.8% - Total Requests: 145 ## Arena Benchmarks ### Man and Car in California - Elo: 1269 - Record: 56W / 26L / 3T (85 battles) - Rank: #3 of 13 ### Golden Hour Stroll - Elo: 1269 - Record: 20W / 5L / 2T (27 battles) - Rank: #1 of 13 ### Isometric Miniature Diorama Scenes - Elo: 1220 - Record: 10W / 8L / 1T (19 battles) - Rank: #7 of 21 ### Victorian Greenhouse Oasis - Elo: 1206 - Record: 11W / 6L / 4T (21 battles) - Rank: #7 of 17 ### Intricate Floral Mandala - Elo: 1190 - Record: 3W / 12L / 6T (21 battles) - Rank: #8 of 15 ### Neutral Expression to Genuine Smile - Elo: 1185 - Record: 10W / 28L / 2T (40 battles) - Rank: #10 of 14 ### Studio Ghibli Anime Style - Elo: 1170 - Record: 9W / 17L / 1T (27 battles) - Rank: #13 of 14 ### Night Sky Transformation - Elo: 1158 - Record: 12W / 11L / 2T (25 battles) - Rank: #14 of 16 ### Modern Clean Menu - Elo: 1142 - Record: 2W / 20L / 1T (23 battles) - Rank: #17 of 19 ### Vintage Cafe Logo - Elo: 1141 - Record: 6W / 6L / 4T (16 battles) - Rank: #19 of 21 ### Bald man challenge - Elo: 1140 - Record: 8W / 34L / 2T (44 battles) - Rank: #13 of 15 ### Over-the-top cartoon caricature - Elo: 1134 - Record: 8W / 14L / 2T (24 battles) - Rank: #12 of 13 ### Apollo 11: Journey to Tranquility - Elo: 1002 - Record: 0W / 24L / 0T (24 battles) - Rank: #19 of 19 ## Use Cases & Category Performance ### Photorealism (Image Editing) - Rank: #7 of 16 - Elo: 1227 - Record: 99W / 99L / 11T (209 battles) - Win Rate: 47.4% ### Portrait (Image Editing) - Rank: #11 of 15 - Elo: 1193 - Record: 17W / 60L / 4T (81 battles) - Win Rate: 21.0% ### Anime (Image Editing) - Rank: #11 of 14 - Elo: 1177 - Record: 9W / 17L / 1T (27 battles) - Win Rate: 33.3% ### Product, Branding & Commercial (Text-to-Image) - Rank: #18 of 21 - Elo: 1146 - Record: 6W / 6L / 4T (16 battles) - Win Rate: 37.5% ### Text Rendering (Text-to-Image) - Rank: #20 of 23 - Elo: 1154 - Record: 8W / 50L / 5T (63 battles) - Win Rate: 12.7% ## Image Gallery 17 images available for this model. Browse all at https://lumenfall.ai/models/alibaba/wan-2.6/gallery ### Curated Examples - [Cinematic night shot of a sleek futuristic storefront, "Wan 2.6" glowing in elegant sapphire neon...](https://assets.lumenfall.ai/HmwXaWU7dSarsR_Z3L33Zcaq8Q01J25uVGdCl9-PHn8/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/v3c79l4r4543hjx6bxx4adwh2uh9@jpeg) - [A hyper-realistic neon sign flickering "CYBERCITY 2084" against a rain-slicked Tokyo alley, cinem...](https://assets.lumenfall.ai/sHYQREZoRbvk5ydX13S5ELKaEPIYrhk_3YQIDiEHUn0/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/hea1lg4lm1l92vt8108swy5kiaek@jpeg) - [A hyper-realistic close-up of a neon-lit glass signage that reads "LUMINESCENCE" in elegant serif...](https://assets.lumenfall.ai/9UIL1FbPuLkuMvgqhReNrH9jmHrT-Tncs6g1szP17LI/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/7xzpad15jibgfrd6mbu4xumhbilq@jpeg) - [A hyper-realistic close-up of a neon-lit ramen shop window with a glowing sign that reads "MIDNIG...](https://assets.lumenfall.ai/IL0IiZ7xxxvOFJeSiAgtmhh_VD8cG1PZG5X2g0pxUcw/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/zxz17ec0xn8sytz1gsb9mnef6dwz@jpeg) ### Arena Competition Results - [Man and Car in California](https://assets.lumenfall.ai/RvzvjskeywZKDX3K715QQ92FlYzUmyXGyEmrtwYd7z0/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/y1t0k8oqkt5myysh9d7rpcg893be@jpeg): #3 of 13 (Elo 1269) - [Golden Hour Stroll](https://assets.lumenfall.ai/ICEX9ElE7WoykTiymihE8K63uAWnMeRYxmVCSRio1Yg/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/3p70o64aywidopwbgpeijslycz9t@jpeg): #1 of 13 (Elo 1269) - [Isometric Miniature Diorama Scenes](https://assets.lumenfall.ai/id9fSP8DYFIvHUVfV9Lb937YsmSB1RRUnTBUhgaEM6A/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/cuftnhrjc1qk9kkeuvfqltmvpboq@jpeg): #7 of 21 (Elo 1220) - [Victorian Greenhouse Oasis](https://assets.lumenfall.ai/L8Mu7KoLrxdtP3Drf4_y0ud76e656rgEi2dkeUQNiKQ/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/ztahhbesg2u2xukaheuir770jp5w@jpeg): #7 of 17 (Elo 1206) - [Intricate Floral Mandala](https://assets.lumenfall.ai/dKhv3A3qiwmuafkMISCFOI7gNreCrUxrsTiomYw5ipY/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/3j3rpe09jwfhxvgpn2te4kbn9j3s@jpeg): #8 of 15 (Elo 1190) - [Neutral Expression to Genuine Smile](https://assets.lumenfall.ai/c0ZOkIFrYbEiG1DRCYZr8CpVFuT0UNkjhjASN8a_eNw/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/y7cftd00okkxjb0ta9ovchou07y5@jpeg): #10 of 14 (Elo 1185) - [Studio Ghibli Anime Style](https://assets.lumenfall.ai/hep4kHHYQh-DK9WnDlX8WIVLGgmuNnTDuZRDETk9WG8/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/i44dgd26zat9kqcf3ngvg8o46brx@jpeg): #13 of 14 (Elo 1170) - [Night Sky Transformation](https://assets.lumenfall.ai/CMr3eLzJ5L2_UD85oB2gdCpVY-VXL9KfckhOeNEz3SQ/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/0du8znxetrcluqpj8as59xgg1axs@jpeg): #14 of 16 (Elo 1158) - [Modern Clean Menu](https://assets.lumenfall.ai/7zKNCHqxOEK1DOopx51oJ10i9t4leHtzNzsIkAvRM8g/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/guenpf42t4uyxuw2swpa5oy3v77i@jpeg): #17 of 19 (Elo 1142) - [Vintage Cafe Logo](https://assets.lumenfall.ai/5-iBrypOEH_t1l95RA4t-0nZFBTmohaL51XsPH-omGE/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/oy0ijpepriups0ulznti75welhpo@jpeg): #19 of 21 (Elo 1141) - [Bald man challenge](https://assets.lumenfall.ai/gmMPR8wJ7fHa4o_hdlxdW3KSLZ7e8L5FTb_op89MkhI/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/fv5itx9prprt08l5ynw8imjhck68@jpeg): #13 of 15 (Elo 1140) - [Over-the-top cartoon caricature](https://assets.lumenfall.ai/UQ2RvQQ4_Xb7agOeqDpKe8OqOrf5waRcLR0Wz-PJuqE/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/6th8ppxaq0xupb6940g49x13xfxs@jpeg): #12 of 13 (Elo 1134) - [Apollo 11: Journey to Tranquility](https://assets.lumenfall.ai/bR5zVbpp1lZFY8j1bQzdSZmsxD2pF407lAabtAsKyCU/rs:fit:1500:1500/plain/gs://lumenfall-prod-assets/3j610bits52wt2wlbtnmm6i5vwj2@jpeg): #19 of 19 (Elo 1002) ## Example Prompt The following prompt was used to generate an example video in our playground: A hyper-realistic close-up of a neon-lit ramen shop window with a glowing sign that reads "MIDNIGHT NOODLES" in crisp, stylized typography. In the blurry background, a capybara sits calmly on a stool, wearing a tiny chef's hat. ## Code Examples ### Text to Image (/v1/images/generations) #### cURL curl -X POST \ https://api.lumenfall.ai/openai/v1/images/generations \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan-2.6", "prompt": "", "size": "1024x1024" }' # Response: # { "created": 1234567890, "data": [{ "url": "https://...", "revised_prompt": "..." }] } #### JavaScript import OpenAI from 'openai'; const client = new OpenAI({ apiKey: 'YOUR_API_KEY', baseURL: 'https://api.lumenfall.ai/openai/v1' }); const response = await client.images.generate({ model: 'wan-2.6', prompt: '', size: '1024x1024' }); // { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] } console.log(response.data[0].url); #### Python from openai import OpenAI client = OpenAI( api_key="YOUR_API_KEY", base_url="https://api.lumenfall.ai/openai/v1" ) response = client.images.generate( model="wan-2.6", prompt="", size="1024x1024" ) # { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] } print(response.data[0].url) ### Image Edit (/v1/images/edits) #### cURL curl -X POST \ https://api.lumenfall.ai/openai/v1/images/edits \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -F "model=wan-2.6" \ -F "image=@source.png" \ -F "prompt=Add a starry night sky to this image" \ -F "size=1024x1024" # Response: # { "created": 1234567890, "data": [{ "url": "https://...", "revised_prompt": "..." }] } #### JavaScript import OpenAI from 'openai'; import fs from 'fs'; const client = new OpenAI({ apiKey: 'YOUR_API_KEY', baseURL: 'https://api.lumenfall.ai/openai/v1' }); const response = await client.images.edit({ model: 'wan-2.6', image: fs.createReadStream('source.png'), prompt: 'Add a starry night sky to this image', size: '1024x1024' }); // { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] } console.log(response.data[0].url); #### Python from openai import OpenAI client = OpenAI( api_key="YOUR_API_KEY", base_url="https://api.lumenfall.ai/openai/v1" ) response = client.images.edit( model="wan-2.6", image=open("source.png", "rb"), prompt="Add a starry night sky to this image", size="1024x1024" ) # { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] } print(response.data[0].url) ### Text to Video (/v1/videos/generations) — Async #### cURL # Step 1: Submit video generation request VIDEO_ID=$(curl -s -X POST \ https://api.lumenfall.ai/v1/videos \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan-2.6", "prompt": "", "size": "1024x1024" }' | jq -r '.id') echo "Video ID: $VIDEO_ID" # Step 2: Poll for completion while true; do RESULT=$(curl -s \ https://api.lumenfall.ai/v1/videos/$VIDEO_ID \ -H "Authorization: Bearer $LUMENFALL_API_KEY") STATUS=$(echo $RESULT | jq -r '.status') echo "Status: $STATUS" if [ "$STATUS" = "completed" ]; then echo $RESULT | jq -r '.output.url' break elif [ "$STATUS" = "failed" ]; then echo $RESULT | jq -r '.error.message' break fi sleep 5 done #### JavaScript const BASE_URL = 'https://api.lumenfall.ai/v1'; const API_KEY = 'YOUR_API_KEY'; // Step 1: Submit video generation request const submitRes = await fetch(`${BASE_URL}/videos`, { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'wan-2.6', prompt: '', size: '1024x1024' }) }); const { id: videoId } = await submitRes.json(); console.log('Video ID:', videoId); // Step 2: Poll for completion while (true) { const pollRes = await fetch(`${BASE_URL}/videos/${videoId}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } }); const result = await pollRes.json(); if (result.status === 'completed') { console.log('Video URL:', result.output.url); break; } else if (result.status === 'failed') { console.error('Error:', result.error.message); break; } await new Promise(r => setTimeout(r, 5000)); } #### Python import requests import time BASE_URL = "https://api.lumenfall.ai/v1" API_KEY = "YOUR_API_KEY" HEADERS = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Step 1: Submit video generation request response = requests.post( f"{BASE_URL}/videos", headers=HEADERS, json={ "model": "wan-2.6", "prompt": "", "size": "1024x1024" } ) video_id = response.json()["id"] print(f"Video ID: {video_id}") # Step 2: Poll for completion while True: result = requests.get( f"{BASE_URL}/videos/{video_id}", headers=HEADERS ).json() if result["status"] == "completed": print(f"Video URL: {result['output']['url']}") break elif result["status"] == "failed": print(f"Error: {result['error']['message']}") break time.sleep(5) ### Image to Video (/v1/videos/generations) — Async #### cURL # Step 1: Submit image-to-video request VIDEO_ID=$(curl -s -X POST \ https://api.lumenfall.ai/v1/videos \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan-2.6", "prompt": "", "image_url": "https://example.com/start-frame.jpg", "duration": "10", "aspect_ratio": "16:9" }' | jq -r '.id') echo "Video ID: $VIDEO_ID" # Step 2: Poll for completion while true; do RESULT=$(curl -s \ https://api.lumenfall.ai/v1/videos/$VIDEO_ID \ -H "Authorization: Bearer $LUMENFALL_API_KEY") STATUS=$(echo $RESULT | jq -r '.status') echo "Status: $STATUS" if [ "$STATUS" = "completed" ]; then echo $RESULT | jq -r '.output.url' break elif [ "$STATUS" = "failed" ]; then echo $RESULT | jq -r '.error.message' break fi sleep 5 done #### JavaScript const BASE_URL = 'https://api.lumenfall.ai/v1'; const API_KEY = 'YOUR_API_KEY'; // Step 1: Submit image-to-video request const submitRes = await fetch(`${BASE_URL}/videos`, { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'wan-2.6', prompt: '', image_url: 'https://example.com/start-frame.jpg', duration: '10', aspect_ratio: '16:9' }) }); const { id: videoId } = await submitRes.json(); console.log('Video ID:', videoId); // Step 2: Poll for completion while (true) { const pollRes = await fetch(`${BASE_URL}/videos/${videoId}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } }); const result = await pollRes.json(); if (result.status === 'completed') { console.log('Video URL:', result.output.url); break; } else if (result.status === 'failed') { console.error('Error:', result.error.message); break; } await new Promise(r => setTimeout(r, 5000)); } #### Python import requests import time BASE_URL = "https://api.lumenfall.ai/v1" API_KEY = "YOUR_API_KEY" HEADERS = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Step 1: Submit image-to-video request response = requests.post( f"{BASE_URL}/videos", headers=HEADERS, json={ "model": "wan-2.6", "prompt": "", "image_url": "https://example.com/start-frame.jpg", "duration": "10", "aspect_ratio": "16:9" } ) video_id = response.json()["id"] print(f"Video ID: {video_id}") # Step 2: Poll for completion while True: result = requests.get( f"{BASE_URL}/videos/{video_id}", headers=HEADERS ).json() if result["status"] == "completed": print(f"Video URL: {result['output']['url']}") break elif result["status"] == "failed": print(f"Error: {result['error']['message']}") break time.sleep(5) ### Video to Video (/v1/videos/generations) — Async #### cURL # Step 1: Submit video-to-video request VIDEO_ID=$(curl -s -X POST \ https://api.lumenfall.ai/v1/videos \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "wan-2.6", "prompt": "Apply cinematic color grading to @Video1", "video_url": "https://example.com/source.mp4", "keep_audio": true, "aspect_ratio": "16:9" }' | jq -r '.id') echo "Video ID: $VIDEO_ID" # Step 2: Poll for completion while true; do RESULT=$(curl -s \ https://api.lumenfall.ai/v1/videos/$VIDEO_ID \ -H "Authorization: Bearer $LUMENFALL_API_KEY") STATUS=$(echo $RESULT | jq -r '.status') echo "Status: $STATUS" if [ "$STATUS" = "completed" ]; then echo $RESULT | jq -r '.output.url' break elif [ "$STATUS" = "failed" ]; then echo $RESULT | jq -r '.error.message' break fi sleep 5 done #### JavaScript const BASE_URL = 'https://api.lumenfall.ai/v1'; const API_KEY = 'YOUR_API_KEY'; // Step 1: Submit video-to-video request const submitRes = await fetch(`${BASE_URL}/videos`, { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'wan-2.6', prompt: 'Apply cinematic color grading to @Video1', video_url: 'https://example.com/source.mp4', keep_audio: true, aspect_ratio: '16:9' }) }); const { id: videoId } = await submitRes.json(); console.log('Video ID:', videoId); // Step 2: Poll for completion while (true) { const pollRes = await fetch(`${BASE_URL}/videos/${videoId}`, { headers: { 'Authorization': `Bearer ${API_KEY}` } }); const result = await pollRes.json(); if (result.status === 'completed') { console.log('Video URL:', result.output.url); break; } else if (result.status === 'failed') { console.error('Error:', result.error.message); break; } await new Promise(r => setTimeout(r, 5000)); } #### Python import requests import time BASE_URL = "https://api.lumenfall.ai/v1" API_KEY = "YOUR_API_KEY" HEADERS = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } # Step 1: Submit video-to-video request response = requests.post( f"{BASE_URL}/videos", headers=HEADERS, json={ "model": "wan-2.6", "prompt": "Apply cinematic color grading to @Video1", "video_url": "https://example.com/source.mp4", "keep_audio": True, "aspect_ratio": "16:9" } ) video_id = response.json()["id"] print(f"Video ID: {video_id}") # Step 2: Poll for completion while True: result = requests.get( f"{BASE_URL}/videos/{video_id}", headers=HEADERS ).json() if result["status"] == "completed": print(f"Video URL: {result['output']['url']}") break elif result["status"] == "failed": print(f"Error: {result['error']['message']}") break time.sleep(5) ## About ## Overview Wan 2.6 is a text-to-image generation model developed by Alibaba as part of the broader Wan AI suite. It is designed for high-fidelity image synthesis from bilingual prompts (English and Chinese) and supports image-to-image workflows through optional reference guidance. The model's primary distinction lies in its balanced handling of complex prompt adherence and its ability to maintain stylistic consistency when provided with an initial image. ## Strengths * **Bilingual Prompt Processing:** The model demonstrates native-level understanding of both Chinese and English, allowing for nuanced cultural references and idiomatic descriptions without translation artifacts. * **Style Reference Integration:** Unlike basic text-to-image models, Wan 2.6 can ingest a reference image to guide the aesthetic, lighting, and composition of the generated output while departing from the source content based on text instructions. * **Spatial and Compositional Control:** It excels at placing subjects accurately within a frame according to descriptive spatial prompts (e.g., "in the bottom-left foreground"). * **Texture and Surface Detail:** The model is particularly capable of rendering varied surface materials, such as metallic reflections, fabric weaves, and skin textures, with high clarity. ## Limitations * **Text Rendering:** While proficient at photorealistic imagery, the model may struggle with rendering complex, long-form legible text within images compared to models specifically optimized for typography. * **Contextual Complexity:** In scenes with a high number of distinct interacting subjects (e.g., a crowd where everyone is performing a unique action), the model may occasionally blend attributes between subjects. * **Compute Requirements:** Due to the complexity of its dual-modality input (text and image), inference times may be slightly higher than simpler, prompt-only diffusion models. ## Technical Background Wan 2.6 is built upon a Diffusion Transformer (DiT) architecture, which scales more effectively with data than traditional U-Net structures. It utilizes a large-scale multimodal pre-training strategy that aligns visual features with a bilingual LLM-based encoder to ensure precise semantic mapping. The model’s reference image capability is implemented via a dedicated vision encoder that injects latent style features into the diffusion process without overwriting the text-driven intent. ## Best For Alibaba's Wan 2.6 is best suited for cross-cultural creative projects, localized marketing assets for both Western and Asian markets, and iterative design workflows where a "mood board" image is used to set the visual tone. It is particularly effective for concept art where stylistic consistency across a series of images is required. Wan 2.6 is available for immediate testing and integration through **Lumenfall’s unified API and playground**, allowing developers to experiment with bilingual prompting and image-guided generation in a single interface. ## Frequently Asked Questions ### How much does Wan 2.6 cost? Wan 2.6 starts at $0.03 per image through Lumenfall. Pricing varies by provider. Lumenfall does not add any markup to provider pricing. ### How do I use Wan 2.6 via API? You can use Wan 2.6 through Lumenfall's OpenAI-compatible API. Send requests to the unified endpoint with model ID "wan-2.6". Code examples are available in Python, JavaScript, and cURL. ### Which providers offer Wan 2.6? Wan 2.6 is available through fal.ai and Alibaba Cloud on Lumenfall. Lumenfall automatically routes requests to the best available provider. ## Links - Model Page: https://lumenfall.ai/models/alibaba/wan-2.6 - About: https://lumenfall.ai/models/alibaba/wan-2.6/about - Providers, Pricing & Performance: https://lumenfall.ai/models/alibaba/wan-2.6/providers - API Reference: https://lumenfall.ai/models/alibaba/wan-2.6/api - Benchmarks: https://lumenfall.ai/models/alibaba/wan-2.6/benchmarks - Use Cases: https://lumenfall.ai/models/alibaba/wan-2.6/use-cases - Gallery: https://lumenfall.ai/models/alibaba/wan-2.6/gallery - Playground: https://lumenfall.ai/playground?model=wan-2.6 - API Documentation: https://docs.lumenfall.ai