ByteDance提供のSeedance 2.5 Image-to-Video APIで画像をアニメーション化。必須の開始フレーム、任意の終了フレーム、4–30秒の長さ、サウンド、高品質な出力に対応します。
ByteDance Seedance 2.5 Image-to-Video API は、必須の最初のフレーム画像を洗練された動画クリップに変換し、 開発者やクリエイティブチームに提供します。オプションの最終フレームでショットの終わり方を指定でき、柔軟な品質、 時間、生成サウンドの制御により、Bestimage AI 上の本番ワークフローを支援します。この API は、商品アニメーション、 ブランドコンテンツ、ソーシャル動画、キャラクターの動き、自動化されたクリエイティブアプリケーションに適しています。
注記 最初のフレーム画像は必須です。最終フレームはオプションで、このモデルにはアスペクト比の制御がありません。 画像とプロンプトが ByteDance のコンテンツ安全ガイドラインに準拠していることを確認してください。
Seedance 2.5 と Seedance 2.0 Image-to-Video の比較
どちらのモデルも ByteDance の動画生成を通じて元画像をアニメーション化します。
Seedance 2.5 は、現在の Bestimage AI ワークフローで、最初のフレーム入力、オプションの最終フレームガイド、柔軟な出力品質と時間、
生成サウンドの制御を提供します。
Seedance 2.5 と Veo 3.1 Fast Image-to-Video の比較
Veo 3.1 Fast は、Google のモデルファミリー内で高速なアニメーションを提供します。
Seedance 2.5 は、画像主導の制作ワークフローに向けて、オプションの最終フレームガイドと統合されたサウンド制御を備えた ByteDance の代替手段を
提供します。
Seedance 2.5 と Kling Image-to-Video の比較
Kling は、画像駆動のキャラクターおよびシーンのアニメーションに対応します。Seedance 2.5 は、
最初のフレーム、オプションの最終フレーム、時間、品質、サウンドを明確に制御できる、特化した Bestimage AI API ワークフローにより
差別化されています。
Seedance 2.5 と Runway Image-to-Video の比較
Runway は、画像アニメーションとインタラクティブな編集ツールを組み合わせています。Seedance
2.5 Image-to-Video API は、再現可能なプログラムによるリクエストと、製品や
自動化パイプラインへの拡張可能な統合を目的に構築されています。
Seedance 2.5 と Pika Image-to-Video の比較
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)