使用 Seedance 2.0 Fast API 快速讓圖片動起來。以視覺保真、內建聲音、彈性動作和穩定輸出建立真實動態,適合高頻影片創意和社群素材。 協助把單張圖快速延展為動態片段,用於內容測試、產品展示和行銷影片。
ByteDance Seedance V2.0 Fast 圖像轉影片 API 為開發者與創意團隊提供高性價比、高速度的 AI 影片動畫能力。這套閃電般快速的圖像轉影片 API 整合,可將靜態圖像轉換為 480p 與 720p 解析度、時長 4 到 15 秒的專業動畫影片片段。Seedance V2.0 Fast 以 ByteDance 的最佳化影片合成架構為基礎,提供快速的動作理解與可選鏡頭控制,API 則為 Best Image AI 上的大量動畫流程提供穩定整合。
注意 請確保您的來源圖像與提示詞符合 ByteDance 的內容安全指南。如果發生錯誤,請檢查內容是否包含受限材料,調整後再試一次。
Seedance V2.0 Fast vs. Seedance V2.0 Standard 圖像轉影片 Seedance V2.0 Standard 提供最高品質與完整動作合成能力,適合專業生產。Seedance V2.0 Fast 圖像轉影片 API 則優先考慮速度與吞吐量,以加速速度將圖像動畫化,非常適合以交付時間為首要考量的高產量工作流程。
Seedance V2.0 Fast vs. Veo 3.1 Fast 圖像轉影片 Veo 3.1 Fast 透過 Google DeepMind 的架構實現快速動畫。Seedance V2.0 Fast 圖像轉影片 API 則透過音訊支援、更廣泛的長寬比支援(6 種格式對 2 種)、延長到 15 秒的時長與可選固定鏡頭控制來區隔自身,提供更完整的多模態動畫解決方案。
Seedance V2.0 Fast vs. Kling 3.0 圖像轉影片 Kling 3.0 在人體動作合成與角色動畫方面表現出色。Seedance V2.0 Fast 圖像轉影片 API 則以音訊支援、更快的處理速度、更廣泛的長寬比覆蓋(6 種格式)與最長 15 秒的擴展時長作為回應,對多元動畫場景更具彈性。
Seedance V2.0 Fast vs. Runway Gen-3 圖像轉影片 Runway Gen-3 提供強大的創意彈性與藝術控制。Seedance V2.0 Fast 圖像轉影片 API 則提供音訊支援、更快的動畫速度、6 種長寬比格式、最長 15 秒的擴展時長與可預測的每秒定價,對需要可擴展、快速圖像動畫的開發者更具優勢。
Seedance V2.0 Fast vs. Pika 圖像轉影片 Pika 擅長風格化動畫與友善的介面。Seedance V2.0 Fast 圖像轉影片 API 則提供程式化存取、音訊支援合成、6 種長寬比格式、最長 15 秒的擴展時長、可選鏡頭控制與可預測定價,適合需要可擴展、生產就緒動畫且不想承擔營運負擔的開發者。
// 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.0-fast-image-to-video',
prompt: 'Gentle camera push-in; leaves rustle softly in the breeze',
resolution: '720p',
duration: 8,
aspect_ratio: '16:9',
sound: true,
camera_fixed: false,
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.0-fast-image-to-video',
'prompt': 'Gentle camera push-in; leaves rustle softly in the breeze',
'resolution': '720p',
'duration': 8,
'aspect_ratio': '16:9',
'sound': True,
'camera_fixed': False,
'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.0-fast-image-to-video",
"prompt": "Gentle camera push-in; leaves rustle softly in the breeze",
"resolution": "720p",
"duration": 8,
"aspect_ratio": "16:9",
"sound": true,
"camera_fixed": false,
"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)