
文生图
根据文本提示词创建 AI 图像
使用 Seedance 2.5 图像转视频 API 让图像动起来,支持必填首帧、可选尾帧、4–30 秒时长、声音和 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,并支持可选的终点引导。
在浏览器中探索多种 AI 创作工具,快速完成图像和视频工作流,再通过 Best Image AI 面向生产环境的模型 API 扩展成功创意。Best Image AI 为所有模型提供统一 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)