
Text to Image
Create AI images from text prompts
Free to try Alibaba Wan 3.0 API to turn written concepts into cinematic videos with motion and sound for storyboards, brand campaigns, and creative production.
Wan 3.0 API for Text-to-Video turns natural-language prompts into AI-generated video clips for creative, marketing, and production workflows. The model supports flexible duration, multiple resolutions and aspect ratios, optional sound generation, and seed-based control over generation randomness. Best Image AI provides a task-based API integration for submitting prompts, tracking generation, and retrieving finished videos.
Note Clear prompts and deliberate generation settings improve controllability. Review visual continuity, motion, sound, and artifacts before using generated clips in production.
Wan 3.0 vs. Wan 2.7 Text-to-Video
Wan 2.7 supports the established Wan text-to-video workflow. Wan 3.0 expands the available duration and resolution controls while retaining a familiar prompt-driven task integration.
Wan 3.0 vs. Kling 3.0 Turbo Text-to-Video
Kling 3.0 Turbo is positioned for fast text-to-video iteration. Wan 3.0 offers an alternative for teams standardizing their video applications on the Wan model family and its control set.
Wan 3.0 vs. Seedance 2.5 Text-to-Video
Seedance 2.5 belongs to ByteDance's audio-visual generation family. Wan 3.0 provides Alibaba-oriented text-to-video access with configurable sound, duration, resolution, ratio, and seed controls.
Wan 3.0 vs. Veo 3.1 Text-to-Video
Veo 3.1 provides Google's text-to-video workflow. Wan 3.0 gives developers another production API option when Wan compatibility and its supported output controls fit the application.
Wan 3.0 vs. MiniMax H3 Text-to-Video
MiniMax H3 spans text and multimodal video generation. Wan 3.0 Text-to-Video is a focused choice for applications that start from prompts and need optional sound with flexible delivery settings.
Explore several AI creation tools for quick image and video workflows in your browser, then scale successful ideas with Best Image AI's production-ready model APIs. Best Image AI provides a unified API layer for all models, making it easy to use and scale your workflows.

Create AI images from text prompts

Create AI images from images and text prompts

Create AI videos from text prompts

Animate images into AI videos

Create AI images and videos in one unified workspace

Create consistent videos from reference media

Build visual AI image and video workflows on an infinite canvas
const response = await fetch('https://api.flaq.ai/api/v1/video/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
model_name: 'wan-3.0-text-to-video',
prompt: 'A cinematic tracking shot follows a cyclist through a rain-soaked neon city at night',
duration: 8,
resolution: '1080p',
aspect_ratio: '16:9',
sound: true,
seed: 42
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/video/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.videos[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/video/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'model_name': 'wan-3.0-text-to-video',
'prompt': 'A cinematic tracking shot follows a cyclist through a rain-soaked neon city at night',
'duration': 8,
'resolution': '1080p',
'aspect_ratio': '16:9',
'sound': True,
'seed': 42
}
)
result = response.json()
task_id = result['data']['task_id']
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model_name": "wan-3.0-text-to-video",
"prompt": "A cinematic tracking shot follows a cyclist through a rain-soaked neon city at night",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9",
"sound": true,
"seed": 42
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/video/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/video/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['videos'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)