ByteDanceのSeedance 2.0動画生成モデルをVolcengine APIを通じてアプリケーションに統合。本ガイドでは全エンドポイント、Python/cURL/JavaScriptのコード例、料金とアクセス方法を網羅しています。
最終更新:2026年3月
Seedance 2.0 APIはByteDanceのVolcengine(火山エンジン)クラウドプラットフォームを通じて提供されています。テキストプロンプト、画像、既存の動画クリップ、音声リファレンスからAI生成動画を作成するRESTfulエンドポイントを提供します。APIは非同期タスクベースのアーキテクチャを採用しており、生成リクエストを送信してタスクIDを受け取り、処理完了後に結果をポーリングします。
テキストプロンプトのみから動画を生成。解像度、時間、アスペクト比、スタイルのパラメータに対応。
参照画像とテキストプロンプトを使用して静止画を動画にアニメーション化。ビジュアルスタイルとキャラクターの詳細を保持。
既存の動画の特定の要素を変更 — 被写体の置換、オブジェクトの追加・削除、領域の再描画。
既存の動画をシームレスな連続性と一貫したスタイルで前方または後方に延長。
生成タスクのステータスを確認し、完了時に出力動画のURLを取得。
詳細なテキストプロンプトから映画品質の動画クリップを生成。解像度(480P/720P)、フレームレート(24fps)、時間(5〜10秒)、アスペクト比(16:9、9:16、1:1)を制御可能。
最大7枚の参照画像をアップロードして動画生成をガイド。モデルはキャラクターの外観、シーン構成、参照素材のビジュアルスタイルを保持します。
プログラムで既存の動画を編集 — 被写体の置換、オブジェクトの追加/削除、領域指定の再描画。元の動きとカメラワークを維持。
シームレスなトランジションで任意の方向に動画を延長。前方生成で先行コンテンツを作成し、トラック補完でギャップを埋めて連続したストーリーテリングを実現。
ネイティブの音声・動画生成により、マッチした効果音、リップシンクダイアログ、BGMを生成。複数アクセントの多言語音声に対応。
requestsライブラリを使用してテキストから動画タスクを作成し、結果をポーリング。
import requests
import time
API_KEY = "your-api-key-here"
BASE_URL = "https://open.volcengineapi.com/api/v3/contents/generations/tasks"
# Step 1: Create a text-to-video generation task
response = requests.post(
f"{BASE_URL}/seedance/v2/text_to_video",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={
"prompt": "A young woman in a flowing red dress walks along a moonlit beach, gentle waves lapping at her feet. Smooth dolly-in, cinematic lighting, film grain.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9",
"fps": 24,
},
)
task = response.json()
task_id = task["data"]["task_id"]
print(f"Task created: {task_id}")
# Step 2: Poll for task completion
while True:
status_resp = requests.get(
f"{BASE_URL}/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
)
status = status_resp.json()
state = status["data"]["status"]
if state == "completed":
video_url = status["data"]["output"]["video_url"]
print(f"Video ready: {video_url}")
break
elif state == "failed":
print(f"Generation failed: {status['data']['error']}")
break
else:
print(f"Status: {state}, waiting...")
time.sleep(10)タスク作成とステータス確認のコマンドライン例。
# Step 1: Create a text-to-video generation task
curl -X POST \
https://open.volcengineapi.com/api/v3/contents/generations/tasks/seedance/v2/text_to_video \
-H "Authorization: Bearer your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A young woman in a flowing red dress walks along a moonlit beach, gentle waves lapping at her feet. Smooth dolly-in, cinematic lighting, film grain.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9",
"fps": 24
}'
# Response: {"data": {"task_id": "task_abc123"}}
# Step 2: Check task status
curl -X GET \
https://open.volcengineapi.com/api/v3/contents/generations/tasks/task_abc123 \
-H "Authorization: Bearer your-api-key-here"
# Response when complete:
# {"data": {"status": "completed", "output": {"video_url": "https://..."}}}Fetch APIを使用してSeedanceをWebアプリケーションに統合。
const API_KEY = 'your-api-key-here';
const BASE_URL = 'https://open.volcengineapi.com/api/v3/contents/generations/tasks';
// Step 1: Create a text-to-video generation task
async function generateVideo(prompt) {
const response = await fetch(
`${BASE_URL}/seedance/v2/text_to_video`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
prompt,
resolution: '720p',
duration: 5,
aspect_ratio: '16:9',
fps: 24,
}),
}
);
const task = await response.json();
const taskId = task.data.task_id;
console.log(`Task created: ${taskId}`);
// Step 2: Poll for task completion
while (true) {
const statusResp = await fetch(
`${BASE_URL}/${taskId}`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const status = await statusResp.json();
const state = status.data.status;
if (state === 'completed') {
console.log(`Video ready: ${status.data.output.video_url}`);
return status.data.output.video_url;
} else if (state === 'failed') {
throw new Error(`Generation failed: ${status.data.error}`);
}
console.log(`Status: ${state}, waiting...`);
await new Promise((r) => setTimeout(r, 10000));
}
}
// Usage
generateVideo(
'A young woman in a flowing red dress walks along a moonlit beach, gentle waves lapping at her feet. Smooth dolly-in, cinematic lighting, film grain.'
).then((url) => console.log('Download:', url));Seedance 2.0 APIの料金は、アクセスに使用するプラットフォームによって異なります。主な選択肢は以下の通りです:
ByteDanceの公式クラウドプラットフォームは、動画の解像度、時間、生成モードに基づく従量課金制を提供。新規アカウントには無料トライアルクレジットが利用可能。Volcengineアカウントの登録とAPIキーの設定が必要です。
Volcengineの料金を見るVibbitのユーザーフレンドリーなインターフェースを通じて、API設定不要でSeedance 2.0にアクセス。無料プランには全生成モードのトライアルクレジットが含まれます。有料プランではより高い割り当て、優先生成、商用ライセンスを提供。
Vibbitで無料お試しAPIキー、ポーリングロジック、インフラの管理が面倒ですか?VibbitはシンプルなブラウザインターフェースでSeedance 2.0の全機能にアクセスできます。プロンプトを入力し、生成をクリックするだけで、数分で動画をダウンロードできます。
Seedance 2.0 APIは、ByteDanceがVolcengineクラウドプラットフォームを通じて提供するRESTfulインターフェースです。開発者がテキストプロンプト、画像、動画クリップ、音声リファレンスからプログラムでAI動画を生成できます。テキストから動画、画像から動画、動画編集、動画延長、タスクステータス照会をサポートしています。
公式APIを使用するには、Volcengine(volcano.engine)でアカウントを作成し、AIコンテンツ生成サービスに移動してAPIキーを生成してください。または、Vibbit(app.vibbit.ai)を使用すれば、APIの設定なしでSeedance 2.0にアクセスできます。サインアップするだけですぐに生成を開始できます。
料金はプラットフォームによって異なります。Volcengineは解像度、時間、生成モードに基づく従量課金制を提供し、新規ユーザーには無料トライアルクレジットがあります。Vibbitはトライアルクレジット付きの無料プランと、より多い利用量向けの有料サブスクリプションプランを提供しています。
レート制限はアカウントのティアとプラットフォームによって異なります。Volcengineはサブスクリプションレベルに基づいて分単位および日単位の割り当てを設定します。各動画生成リクエストは非同期で、タスクを送信して完了をポーリングします。通常、動画1本あたり1〜3分かかります。
はい!Vibbitはブラウザベースのインターフェースを提供しており、コードを書かずにSeedance 2.0の全機能にアクセスできます。app.vibbit.aiにアクセスし、プロンプトを入力し、必要に応じて参照メディアをアップロードして、生成をクリックするだけです。非開発者がSeedance 2.0を使用する最も簡単な方法です。