
AI Text to Image Generator
Create polished images from prompts with leading AI image models, flexible settings, and a fast browser-based workflow.
Try Seedance 2.5 API for Reference-to-Video by ByteDance with required video input, optional reference images, 4–30 second duration, sound, and 720p output.
// 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: 'seedance-v2.5-reference-to-video',
prompt: 'Use image one for the subject, video one for the movement, and audio one for the atmosphere',
resolution: '720p',
duration: 8,
aspect_ratio: '16:9',
sound: true,
images: ['https://example.com/subject-reference.jpg'],
videos: ['https://example.com/motion-reference.mp4'],
audios: ['https://example.com/atmosphere-reference.mp3']
})
});
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: 'seedance-v2.5-reference-to-video',
prompt: 'Place the explorer from <<<image_1>>> in the environment from <<<image_2>>>, following the camera movement in <<<video_1>>> and speaking with the reference voice from <<<audio_1>>>',
resolution: '720p',
duration: 10,
aspect_ratio: '16:9',
sound: true,
images: [
'https://example.com/explorer-reference.jpg',
'https://example.com/environment-reference.png'
],
videos: ['https://example.com/camera-movement-reference.mp4'],
audios: ['https://example.com/voice-reference.mp3']
})
});
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': 'seedance-v2.5-reference-to-video',
'prompt': 'Use image one for the subject, video one for the movement, and audio one for the atmosphere',
'resolution': '720p',
'duration': 8,
'aspect_ratio': '16:9',
'sound': True,
'images': ['https://example.com/subject-reference.jpg'],
'videos': ['https://example.com/motion-reference.mp4'],
'audios': ['https://example.com/atmosphere-reference.mp3']
}
)
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': 'seedance-v2.5-reference-to-video',
'prompt': 'Place the explorer from <<<image_1>>> in the environment from <<<image_2>>>, following the camera movement in <<<video_1>>> and speaking with the reference voice from <<<audio_1>>>',
'resolution': '720p',
'duration': 10,
'aspect_ratio': '16:9',
'sound': True,
'images': [
'https://example.com/explorer-reference.jpg',
'https://example.com/environment-reference.png'
],
'videos': ['https://example.com/camera-movement-reference.mp4'],
'audios': ['https://example.com/voice-reference.mp3']
}
)
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": "seedance-v2.5-reference-to-video",
"prompt": "Use image one for the subject, video one for the movement, and audio one for the atmosphere",
"resolution": "720p",
"duration": 8,
"aspect_ratio": "16:9",
"sound": true,
"images": ["https://example.com/subject-reference.jpg"],
"videos": ["https://example.com/motion-reference.mp4"],
"audios": ["https://example.com/atmosphere-reference.mp3"]
}'
# 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": "seedance-v2.5-reference-to-video",
"prompt": "Place the explorer from <<<image_1>>> in the environment from <<<image_2>>>, following the camera movement in <<<video_1>>> and speaking with the reference voice from <<<audio_1>>>",
"resolution": "720p",
"duration": 10,
"aspect_ratio": "16:9",
"sound": true,
"images": [
"https://example.com/explorer-reference.jpg",
"https://example.com/environment-reference.png"
],
"videos": ["https://example.com/camera-movement-reference.mp4"],
"audios": ["https://example.com/voice-reference.mp3"]
}'
# 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 |
|---|
ByteDance Seedance 2.5 Reference-to-Video API combines a required reference video with optional image, audio, and additional video assets to guide new video generation on Flaq AI. Developers and creative teams can use multimodal references to communicate subject appearance, products, environments, motion, timing, sound, and visual direction more precisely than text alone. Flexible quality, duration, aspect ratio, and generated-sound controls make the API suitable for brand content, character workflows, product storytelling, and scalable creative systems.
Note At least one reference video is required. Reference images are optional and may be omitted when a video is provided; audio or images alone cannot replace the required video input. Please ensure all prompts and media comply with ByteDance's content safety guidelines.
Seedance 2.5 Reference-to-Video vs. Seedance 2.5 Text-to-Video
Text-to-Video generates from written direction
alone. Reference-to-Video adds required video guidance plus optional images and audio for workflows that need more
concrete control over motion, appearance, timing, or style.
Seedance 2.5 Reference-to-Video vs. Seedance 2.5 Image-to-Video
Image-to-Video animates a required first frame and
can use an optional end frame. Reference-to-Video starts from required video material and can combine it with optional
image and audio assets for broader multimodal direction.
Seedance 2.5 Reference-to-Video vs. Wan Reference-to-Video
Both approaches use uploaded media to guide new video
generation. Seedance 2.5 provides a video-required workflow with optional multi-image and audio references plus
flexible output controls through Flaq AI.
Seedance 2.5 Reference-to-Video vs. Vidu Reference-to-Video
Vidu offers reference-driven video creation for visual
consistency. Seedance 2.5 differentiates through required video guidance and the ability to combine optional image and
audio references in a single request.
Seedance 2.5 Reference-to-Video vs. Runway Video Tools
Runway provides a broad interactive creation suite.
Seedance 2.5 Reference-to-Video API offers a focused programmatic workflow for multimodal media inputs, prompt-based
reference direction, and scalable generation.
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.