使用由 ByteDance 提供支援的 Seedance 2.5 圖像轉影片 API 讓圖像動起來。支援必填的首幀、可選的尾幀、4–30 秒時長、聲音和高品質輸出。支援 480p/720p 畫質。
字節跳動 Seedance 2.5 圖片轉影片 API 可將必要的首幀圖片轉化為精緻的影片片段,適合 開發人員與創意團隊使用。可選的末幀能引導鏡頭如何結束,而彈性的品質、 長度與生成式音效控制則支援 Bestimage AI 上的生產工作流程。此 API 適用於產品動畫、 品牌內容、社群影片、角色動態與自動化創意應用程式。
注意 首幀圖片為必要項目。末幀為選填項目,且此模型不提供長寬比控制。 請確保圖片與提示詞符合字節跳動的內容安全準則。
Seedance 2.5 與 Seedance 2.0 圖片轉影片比較
兩款模型都透過字節跳動影片生成技術為來源圖片製作動畫。
Seedance 2.5 提供首幀輸入、可選的末幀引導、彈性的輸出品質與長度,以及
目前 Bestimage AI 工作流程中的生成式音效控制。
Seedance 2.5 與 Veo 3.1 Fast 圖片轉影片比較
Veo 3.1 Fast 在 Google 模型系列中提供快速動畫功能。
Seedance 2.5 提供字節跳動替代方案,具備可選的最終幀引導與整合式音效控制,適用於
以圖片為主的生產工作流程。
Seedance 2.5 與 Kling 圖片轉影片比較
Kling 支援圖片驅動的角色與場景動畫。Seedance 2.5
透過專注的 Bestimage AI API 工作流程展現差異化,提供清楚的首幀、可選末幀、長度、品質
與音效控制。
Seedance 2.5 與 Runway 圖片轉影片比較
Runway 將圖片動畫與互動式編輯工具結合。Seedance
2.5 圖片轉影片 API 專為可重複的程式化請求,以及可擴充地整合至產品與
自動化流程而打造。
Seedance 2.5 與 Pika 圖片轉影片比較
Pika 提供面向創作者的圖片動畫體驗。Seedance 2.5
為產品、社群、品牌與角色動畫提供面向開發人員的 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-image-to-video',
prompt: 'Gentle camera push-in; leaves rustle softly in the breeze',
resolution: '720p',
duration: 8,
sound: true,
image_url: 'https://example.com/first-frame.jpg',
image_end_url: 'https://example.com/last-frame.jpg'
})
});
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, ));
}
# 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-image-to-video',
'prompt': 'Gentle camera push-in; leaves rustle softly in the breeze',
'resolution': '720p',
'duration': 8,
'sound': True,
'image_url': 'https://example.com/first-frame.jpg',
'image_end_url': 'https://example.com/last-frame.jpg'
}
)
result = response.json()
task_id = result['data']['task_id']
# 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-image-to-video",
"prompt": "Gentle camera push-in; leaves rustle softly in the breeze",
"resolution": "720p",
"duration": 8,
"sound": true,
"image_url": "https://example.com/first-frame.jpg",
"image_end_url": "https://example.com/last-frame.jpg"
}'
# 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)