أنشئ فيديوهات سينمائية باستخدام Seedance 2.5 Reference-to-Video API من ByteDance: فيديو مرجعي واحد على الأقل، صور/صوت اختياري، 6 نسب، 4–30 ثانية، صوت، 480p/720p.
تجمع واجهة ByteDance Seedance 2.5 Reference-to-Video API بين فيديو مرجعي مطلوب وصور ومقاطع صوتية وأصول فيديو إضافية اختيارية لتوجيه إنشاء فيديو جديد على Bestimage AI. يمكن للمطورين والفرق الإبداعية استخدام المراجع متعددة الوسائط للتعبير عن مظهر العنصر والمنتجات والبيئات والحركة والتوقيت والصوت والتوجيه البصري بدقة أكبر مقارنة بالنص وحده. وتجعل عناصر التحكم المرنة في الجودة والمدة ونسبة العرض إلى الارتفاع والصوت المُنشأ واجهة API مناسبة لمحتوى العلامات التجارية وسير عمل الشخصيات وسرد قصص المنتجات والأنظمة الإبداعية القابلة للتوسع.
ملاحظة يلزم وجود فيديو مرجعي واحد على الأقل. الصور المرجعية اختيارية ويمكن الاستغناء عنها عند توفير فيديو؛ ولا يمكن للصوت أو الصور وحدهما أن يحلا محل إدخال الفيديو المطلوب. يُرجى التأكد من امتثال جميع النصوص التوجيهية والوسائط لإرشادات سلامة المحتوى لدى ByteDance.
Seedance 2.5 Reference-to-Video مقابل Seedance 2.5 Text-to-Video
ينشئ Text-to-Video الفيديو من التوجيه المكتوب
وحده. ويضيف Reference-to-Video توجيهًا إلزاميًا بالفيديو إلى جانب الصور والصوت الاختياريين لسير العمل الذي يتطلب تحكمًا
أكثر دقة في الحركة أو المظهر أو التوقيت أو الأسلوب.
Seedance 2.5 Reference-to-Video مقابل Seedance 2.5 Image-to-Video
يحرّك Image-to-Video إطارًا أول مطلوبًا
ويمكنه استخدام إطار أخير اختياري. يبدأ Reference-to-Video من مادة فيديو مطلوبة ويمكنه دمجها مع أصول صور
وصوت اختيارية لتوفير توجيه متعدد الوسائط أوسع نطاقًا.
Seedance 2.5 Reference-to-Video مقابل Wan Reference-to-Video
يستخدم كلا النهجين الوسائط المحمّلة لتوجيه إنشاء فيديو
جديد. يوفر Seedance 2.5 سير عمل يتطلب فيديو مع مراجع اختيارية متعددة الصور ومراجع صوتية، إضافة إلى
عناصر تحكم مرنة في المخرجات عبر Bestimage AI.
Seedance 2.5 Reference-to-Video مقابل Vidu Reference-to-Video
يقدم Vidu إنشاء فيديو موجّهًا بالمراجع للحفاظ على الاتساق
البصري. ويتميز Seedance 2.5 بالتوجيه الإلزامي بالفيديو والقدرة على دمج مراجع الصور
والصوت الاختيارية ضمن طلب واحد.
Seedance 2.5 Reference-to-Video مقابل Runway Video Tools
يقدم Runway مجموعة تفاعلية واسعة للإنشاء.
توفر واجهة Seedance 2.5 Reference-to-Video API سير عمل برمجيًا مخصصًا لمدخلات الوسائط متعددة الأنماط والتوجيه المرجعي القائم على النص
التوجيهي والإنشاء القابل للتوسع.
// 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"