Erstelle filmreife Videos mit der Seedance 2.5 API von ByteDance: mindestens ein Referenzvideo, Bilder/Audio optional, sechs Bildformate, 4–30 s, Ton und 480p/720p.
Die ByteDance Seedance 2.5 Reference-to-Video API kombiniert ein erforderliches Referenzvideo mit optionalen Bild-, Audio- und weiteren Video-Assets, um die Generierung neuer Videos auf Bestimage AI zu steuern. Entwickler und Kreativteams können multimodale Referenzen nutzen, um das Aussehen von Motiven, Produkte, Umgebungen, Bewegungen, Timing, Ton und visuelle Vorgaben präziser als nur mit Text zu vermitteln. Flexible Einstellungen für Qualität, Dauer, Seitenverhältnis und generierten Ton machen die API geeignet für Markeninhalte, Charakter-Workflows, Produkt-Storytelling und skalierbare Kreativsysteme.
Hinweis Mindestens ein Referenzvideo ist erforderlich. Referenzbilder sind optional und können entfallen, wenn ein Video bereitgestellt wird; Audio oder Bilder allein können die erforderliche Videoeingabe nicht ersetzen. Stellen Sie sicher, dass alle Prompts und Medien den Richtlinien von ByteDance zur Inhaltssicherheit entsprechen.
Seedance 2.5 Reference-to-Video vs. Seedance 2.5 Text-to-Video
Text-to-Video generiert Videos allein aus schriftlichen Vorgaben.
Reference-to-Video ergänzt eine erforderliche Videosteuerung sowie optionale Bilder und Audiodateien für Workflows, die mehr
konkrete Kontrolle über Bewegung, Aussehen, Timing oder Stil benötigen.
Seedance 2.5 Reference-to-Video vs. Seedance 2.5 Image-to-Video
Image-to-Video animiert ein erforderliches erstes Bild und
kann ein optionales Endbild verwenden. Reference-to-Video beginnt mit erforderlichem Videomaterial und kann dieses mit optionalen
Bild- und Audio-Assets kombinieren, um eine umfassendere multimodale Steuerung zu ermöglichen.
Seedance 2.5 Reference-to-Video vs. Wan Reference-to-Video
Beide Ansätze nutzen hochgeladene Medien, um die Generierung neuer Videos zu steuern.
Seedance 2.5 bietet einen Workflow mit erforderlichem Video, optionalen Mehrfachbild- und Audioreferenzen sowie
flexiblen Ausgabeeinstellungen über Bestimage AI.
Seedance 2.5 Reference-to-Video vs. Vidu Reference-to-Video
Vidu bietet referenzgesteuerte Videoerstellung für visuelle
Konsistenz. Seedance 2.5 zeichnet sich durch eine erforderliche Videosteuerung und die Möglichkeit aus, optionale Bild- und
Audioreferenzen in einer einzigen Anfrage zu kombinieren.
Seedance 2.5 Reference-to-Video vs. Runway Video Tools
Runway bietet eine umfassende interaktive Kreativsuite.
Die Seedance 2.5 Reference-to-Video API bietet einen fokussierten programmatischen Workflow für multimodale Medieneingaben, Prompt-basierte
Referenzsteuerung und skalierbare Generierung.
// 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[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
# 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': ,
: ,
: ,
: ,
: ,
: ,
: [],
: [],
: []
}
)
result = response.json()
task_id = result[][]
media_reference_response = requests.post(
,
headers={
: ,
:
},
json={
: ,
: ,
: ,
: ,
: ,
: ,
: [
,
],
: [],
: []
}
)
media_reference_result = media_reference_response.json()
media_reference_task_id = media_reference_result[][]
# 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:
curl -X POST https://api.flaq.ai/api/v1/video/task \
-H \
-H \
-d
# 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 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"