マルチモーダルなディレクターの作業環境
テキスト・画像・音声・動画の入力を1回の生成で受け付け、各参照に役割を付与してスタイル・モーション・サウンドのいずれを制御するかをモデルに伝えられます。
ByteDance の Seedance 2.0 を1つの統合 API で使い、シネマティックな AI 動画を生成。単一の REST エンドポイント、非同期ジョブ、Webhook を備え、ByteDance の個別アカウントの管理は不要です。
Seedance 2 を1回のAPIコールで統合できます。1つのキー、1つの統一エンドポイント、そしてApiframe上のすべてのモデルで共通の請求。
model: "seedance-2" テキスト・画像・音声・動画の入力を1回の生成で受け付け、各参照に役割を付与してスタイル・モーション・サウンドのいずれを制御するかをモデルに伝えられます。
音楽・効果音・ビートに合わせたカット・リップシンクを含む音声を動画と同時に生成。あとからサウンドトラックを足す必要がありません。
1回の生成で自然なカットやトランジションを伴う複数ショットを作成。1つのクリップが、連続した一発撮りではなく編集済みのシーケンスのように仕上がります。
業界トップクラスのモーション安定性と物理的な妥当性を実現し、複雑なインタラクションや複数被写体のアクションシーンでも破綻しません。
動き・アングル変更・シーン転換をまたいでキャラクターのアイデンティティを保持。映画・ブランド動画・プロモに重要です。
特定のクリップ・キャラクター・アクション・ストーリーを変更し、要素を置換・削除し、クリップ全体を作り直さずにショットを延長・継続できます。
Apiframeの Seedance 2 API で生成した出力例です。
A 5-second cinematic clip of a chef plating a dessert in a warm restaurant kitchen, slow push-in, soft key light.
An image-to-video animation of this product photo, gentle rotation on a turntable, studio lighting, subtle reflections.
A 5-second scene of a city at dawn, a wide skyline cutting to a close-up of a coffee cup, smooth transition.
A music-video clip of a dancer moving in sync with an upbeat track, neon-lit interior, beat-matched cuts.
A tracking shot following a cyclist along a coastal road at golden hour, natural wind and ambient sound.
An image-to-video clip where the camera continues past a doorway into a sunlit garden, smooth motion.
APIキーを添えて POST /v2/videos/generate に1回リクエストを送るだけで Seedance 2 による生成が始まります。レスポンスには、ポーリングまたはWebhookで受け取れる jobId が返ります。
curl -X POST https://api.apiframe.ai/v2/videos/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "seedance-2",
"seedanceParams": {
"resolution": "720p",
"start_image": "https://example.com/input.jpg",
"generate_audio": false,
"end_image": "https://example.com/input.jpg"
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/videos/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "seedance-2",
"seedanceParams": {
"resolution": "720p",
"start_image": "https://example.com/input.jpg",
"generate_audio": False,
"end_image": "https://example.com/input.jpg"
}
},
)
print(response.json()) # { "jobId": "...", "status": "QUEUED" }const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
"model": "seedance-2",
"seedanceParams": {
"resolution": "720p",
"start_image": "https://example.com/input.jpg",
"generate_audio": false,
"end_image": "https://example.com/input.jpg"
}
}),
});
const { jobId } = await response.json();
console.log(jobId);生成は非同期で行われます。送信が成功すると 202 Accepted と jobId が返ります。ステータスが COMPLETED になるまで GET /v2/jobs/{id} をポーリングする(または webhook_url を指定する)と、result フィールドに出力URLが格納されます。
{
"jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "QUEUED"
}curl https://api.apiframe.ai/v2/jobs/JOB_ID \
-H "X-API-Key: afk_your_api_key_here"import requests, time
while True:
job = requests.get(
"https://api.apiframe.ai/v2/jobs/JOB_ID",
headers={"X-API-Key": "afk_your_api_key_here"},
).json()
if job["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(2)
print(job["result"])let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
headers: { "X-API-Key": "afk_your_api_key_here" },
}).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);Seedance 2 エンドポイントが受け付けるリクエストパラメータです。モデル固有のオプションは、下記のパラメータオブジェクトの中にネストされます。
| パラメータ | 型 | 必須 | デフォルト | 許可値 / 範囲 | 説明 |
|---|---|---|---|---|---|
| prompt | string | 必須 | — | — | 生成する内容のテキスト説明。 |
| model | string | 必須 | "seedance-2" | "seedance-2" | このエンドポイントのモデル識別子。 |
| seedanceParams.resolution | string | 任意 | "720p" | "480p", "720p", "1080p" | Resolution |
| seedanceParams.start_image | string (URL) | 任意 | — | — | Use a still as the first frame of the clip. |
| seedanceParams.generate_audio | boolean | 任意 | false | — | Generate audio |
| seedanceParams.end_image | string (URL) | 任意 | — | — | Optional last frame to control the ending. |
| seedanceParams.reference_image_urls | string[] (URLs) | 任意 | — | — | Reference images |
| seedanceParams.reference_video_urls | string[] (URLs) | 任意 | — | — | Reference videos |
| seedanceParams.reference_audio_urls | string[] (URLs) | 任意 | — | — | Reference audio |
| seedanceParams.return_last_frame | boolean | 任意 | false | — | Also return the final frame as a still image. |
| seedanceParams.web_search | boolean | 任意 | false | — | Web search |
| seedanceParams.camera_fixed | boolean | 任意 | false | — | Disable camera movement. |
| seedanceParams.seed | number | 任意 | — | step 1 | Reuse a number to reproduce the same result. |
Seedance 2 APIに関するよくある質問をまとめました。
ByteDance の第2世代マルチモーダル AI 動画生成モデルで、2026年2月にリリースされました。
テキスト・画像・音声・動画に対応し、それらを組み合わせて役割を付与し、出力を誘導できます。
はい。音楽・効果音・ビート同期・リップシンクを含む、同期したネイティブ音声を生成します。
5秒で、最大1080p、複数のアスペクト比に対応します。
はい。クリップ・キャラクター・アクションを変更し、要素を置換し、ショットを延長・継続できます。
Apiframe のほか、ByteDance の CapCut・Dreamina アプリや fal API から利用できます。
解決しませんでしたか?
APIキーを取得すれば数分で Seedance 2 を統合できます — 従量課金。
ご質問はありますか? Discordに参加 または 営業に問い合わせる。