
AI Text to Image Generator
Create polished images from prompts with leading AI image models, flexible settings, and a fast browser-based workflow.
Free to try Wan 2.7 Reference-to-Video API with up to five reference images or videos, optional voice reference, 1080p output, and seed control.
// Step 1: Submit generation request
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-2.7-reference-to-video',
prompt: 'Use image one for the hero and video one for the motion; keep the hero voice consistent with audio one',
resolution: '1080p',
duration: 8,
aspect_ratio: '16:9',
images: ['https://example.com/hero-reference.jpg'],
videos: ['https://example.com/motion-reference.mp4'],
audios: ['https://example.com/voice-reference.mp3'],
negative_prompt: 'flicker, distorted hands, duplicate subjects',
seed: 42
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Use the @ (AT) reference feature in prompt through <<<...>>> placeholders.
// Placeholder numbering is 1-based for each media array:
// <<<image_1>>> = images[0], <<<image_2>>> = images[1]
// <<<video_1>>> = videos[0], <<<audio_1>>> = audios[0]
const mediaReferenceResponse = 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-2.7-reference-to-video',
prompt: 'Place the presenter from <<<image_1>>> in the studio from <<<image_2>>>, follow the camera path in <<<video_1>>>, and use the reference voice from <<<audio_1>>>',
resolution: '1080p',
duration: 8,
aspect_ratio: '16:9',
images: [
'https://example.com/presenter-reference.jpg',
'https://example.com/studio-reference.jpg'
],
videos: ['https://example.com/camera-path-reference.mp4'],
audios: ['https://example.com/voice-reference.mp3'],
negative_prompt: 'flicker, distorted hands, duplicate subjects',
seed: 42
})
});
const { data: mediaReferenceData } = await mediaReferenceResponse.json();
const mediaReferenceTaskId = mediaReferenceData.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[0].url);
break;
}
if (status === 'failed') {
console.error(pollResultData.data.task_status_msg);
break;
}
await new Promise(resolve => setTimeout(resolve, 10000));
}
# Step 1: Submit generation request
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-2.7-reference-to-video',
'prompt': 'Use image one for the hero and video one for the motion; keep the hero voice consistent with audio one',
'resolution': '1080p',
'duration': 8,
'aspect_ratio': '16:9',
'images': ['https://example.com/hero-reference.jpg'],
'videos': ['https://example.com/motion-reference.mp4'],
'audios': ['https://example.com/voice-reference.mp3'],
'negative_prompt': 'flicker, distorted hands, duplicate subjects',
'seed': 42
}
)
result = response.json()
task_id = result['data']['task_id']
# Use the @ (AT) reference feature in prompt through <<<...>>> placeholders.
# Placeholder numbering is 1-based for each media array:
# <<<image_1>>> = images[0], <<<image_2>>> = images[1]
# <<<video_1>>> = videos[0], <<<audio_1>>> = audios[0]
media_reference_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-2.7-reference-to-video',
'prompt': 'Place the presenter from <<<image_1>>> in the studio from <<<image_2>>>, follow the camera path in <<<video_1>>>, and use the reference voice from <<<audio_1>>>',
'resolution': '1080p',
'duration': 8,
'aspect_ratio': '16:9',
'images': [
'https://example.com/presenter-reference.jpg',
'https://example.com/studio-reference.jpg'
],
'videos': ['https://example.com/camera-path-reference.mp4'],
'audios': ['https://example.com/voice-reference.mp3'],
'negative_prompt': 'flicker, distorted hands, duplicate subjects',
'seed': 42
}
)
media_reference_result = media_reference_response.json()
media_reference_task_id = media_reference_result['data']['task_id']
# 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)
# Step 1: Submit generation request
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-2.7-reference-to-video",
"prompt": "Use image one for the hero and video one for the motion; keep the hero voice consistent with audio one",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "16:9",
"images": ["https://example.com/hero-reference.jpg"],
"videos": ["https://example.com/motion-reference.mp4"],
"audios": ["https://example.com/voice-reference.mp3"],
"negative_prompt": "flicker, distorted hands, duplicate subjects",
"seed": 42
}'
# Use the @ (AT) reference feature in prompt through <<<...>>> placeholders.
# Placeholder numbering is 1-based for each media array:
# <<<image_1>>> = images[0], <<<image_2>>> = images[1]
# <<<video_1>>> = videos[0], <<<audio_1>>> = audios[0]
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-2.7-reference-to-video",
"prompt": "Place the presenter from <<<image_1>>> in the studio from <<<image_2>>>, follow the camera path in <<<video_1>>>, and use the reference voice from <<<audio_1>>>",
"resolution": "1080p",
"duration": 8,
"aspect_ratio": "16:9",
"images": [
"https://example.com/presenter-reference.jpg",
"https://example.com/studio-reference.jpg"
],
"videos": ["https://example.com/camera-path-reference.mp4"],
"audios": ["https://example.com/voice-reference.mp3"],
"negative_prompt": "flicker, distorted hands, duplicate subjects",
"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"
| Parameters | Price | Original Price | Discount |
|---|
Alibaba Wan 2.7 Reference-to-Video API delivers production-grade AI video generation for developers and creative teams that need consistent subjects, voices, and visual direction across generated clips. This advanced reference-to-video API integration accepts image and video references with optional voice guidance, then turns natural-language instructions into polished 720p or 1080p video. Built for controllable creative production, Wan 2.7 combines multimodal reference understanding, flexible output settings, and scalable API access on Flaq AI.
Note Please ensure your prompts and reference media comply with Alibaba's safety guidelines. If an error occurs, review your input for restricted content, adjust it, and try again.
Wan 2.7 Reference-to-Video vs. Wan 2.7 Image-to-Video Wan 2.7 Image-to-Video animates a starting image. Wan 2.7 Reference-to-Video supports mixed image and video references, multi-subject guidance, and optional voice reference for more controlled identity-driven production.
Wan 2.7 Reference-to-Video vs. Seedance V2.0 Reference-to-Video Seedance V2.0 provides broad multimodal reference generation across image, video, and audio inputs. Wan 2.7 emphasizes structured subject references, optional voice identity guidance, negative prompts, and high-resolution Alibaba video generation.
Wan 2.7 Reference-to-Video vs. Vidu Q3 Reference-to-Video Vidu Q3 focuses on multi-image subject consistency and native synchronized audio. Wan 2.7 adds mixed image and video reference support with optional subject-level voice guidance for flexible multimodal workflows.
Wan 2.7 Reference-to-Video vs. Kling Video O3 Reference-to-Video Kling Video O3 offers reference-guided generation with strong motion reasoning. Wan 2.7 differentiates through mixed reference media, subject voice guidance, seed control, and negative prompts for controllable production pipelines.
Wan 2.7 Reference-to-Video vs. Runway Video Tools Runway provides a broad creator-facing editing and generation suite. Wan 2.7 Reference-to-Video API is designed for programmatic multimodal reference workflows, consistent subject reuse, and scalable application integration.
Explore several AI creation tools for quick image and video workflows in your browser, then scale successful ideas with Flaq AI's production-ready model APIs. Flaq AI provides a unified API layer for all models, making it easy to use and scale your workflows.

Create polished images from prompts with leading AI image models, flexible settings, and a fast browser-based workflow.

Upload a reference image, guide edits with prompts, and transform visuals for design, marketing, and creative production.

Turn written scene ideas into short AI videos with model selection, motion prompts, and practical generation controls.

Animate reference images into smooth AI video clips for products, portraits, social posts, and creative concepts.