bytedance-seedance-2-0 について
bytedance-seedance-2-0は、EachLabs Predictions API経由でByteDance Seedance 2.0を使って動画を生成するスキルです。テキスト・画像からの動画生成、音声同期、開始・終了フレーム間の補間に対応します。
主な機能
- 01テキストからの動画生成
- 02画像からの動画生成
- 03同期音声の生成
- 04開始・終了フレーム間の補間
- 05カメラ指示とタイムラインのプロンプトガイド
活用シーン
- 01セリフや環境音を含む動画の作成
- 02開始画像のアニメーション化
- 03動画の終了フレームの指定
- 04カメラ指示による映画的な場面の生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ eachlabs/ skills --skill bytedance-seedance-2-0インストール後、Claude Code で/bytedance-seedance-2-0を入力して読み込まれたか確認します。
同梱ファイルreferences/MODELS.md
詳細
ByteDance Seedance 2.0(Fast)
EachLabs Predictions API 上の ByteDance Seedance 2.0 です。Seedance 2.0 は、ネイティブの同期音声(効果音、環境音、リップシンクした音声)、リアルな物理表現、監督レベルのカメラ制御を備えたシネマティックな動画を生成します。
モデルスラッグは 2 つあります。
| スラッグ | カテゴリ | 用途 |
|---|---|---|
bytedance-seedance-2-0-text-to-video-fast | テキストから動画 | プロンプトから動画を生成 |
bytedance-seedance-2-0-image-to-video-fast | 画像から動画 | 開始フレームをアニメーション化(任意で終了フレームを指定) |
「Fast」ティアは、ファミリーのキャラクターの一貫性と物理表現を維持しながら、高スループットのパイプライン向けに迅速な処理を優先します。
使用する場面
- ユーザーが「Seedance 2.0」や「ByteDance video」を求めている場合、または Seedance 風の表現を希望する場合。
- 同じ処理でネイティブ音声が必要な場合(会話、効果音、環境音)。別途 TTS/リップシンクの工程は不要です。
- シネマティックな動き、リアルな物理表現、または監督レベルのカメラ表現(「ゆっくりと寄る」「ラックフォーカス」)。
- 480p または 720p で 4~15 秒の動画を生成する場合。
- クリップの終点を制御するために終了フレームを指定した画像から動画への生成。
動画モデルの幅広い比較(Veo、Kling、Sora、Pixverse、Hailuo など)については、eachlabs-video-generation を参照してください。
認証
Header: X-API-Key: <your-api-key>
EACHLABS_API_KEY 環境変数を設定します。キーはeachlabs.ai/dashboard/api-keysで取得してください。
予測のフロー
- (推奨)スキーマを確認 —
GET https://api.eachlabs.ai/v1/model?slug=bytedance-seedance-2-0-text-to-video-fast(または i2v のスラッグ)。 model、version: "0.0.1"、およびinputを指定して、POSThttps://api.eachlabs.ai/v1/predictionを実行します。statusが"success"または"error"になるまで、ポーリングGET https://api.eachlabs.ai/v1/prediction/{id}を実行するか、Webhook を使用します。output(文字列)から動画の URL を取得します。
クイックスタート — テキストから動画
curl -X POST https://api.eachlabs.ai/v1/prediction \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"model": "bytedance-seedance-2-0-text-to-video-fast",
"version": "0.0.1",
"input": {
"prompt": "Cinematic slow push-in on a lone astronaut standing at the edge of a Martian canyon at dusk, dust drifting across their boots, distant wind, subtle helmet reflections",
"resolution": "720p",
"duration": "6",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'
一般的な処理時間:約 120 秒。
クイックスタート — 画像から動画
curl -X POST https://api.eachlabs.ai/v1/prediction \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"model": "bytedance-seedance-2-0-image-to-video-fast",
"version": "0.0.1",
"input": {
"prompt": "Camera slowly pushes from wide to medium close-up as the lion roars at golden hour. Warm amber light rakes across the mane. Narrator (weathered British male, 50s): \"He has ruled this land for seven years.\"",
"image_url": "https://your-cdn.example.com/lion.jpg",
"resolution": "720p",
"duration": "8",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'
一般的な処理時間:約 150 秒。
開始フレームから終了フレームへの遷移
end_image_url を渡して最終フレームを固定し、モデルに 2 つのフレーム間の動きを補間させます。
{
"model": "bytedance-seedance-2-0-image-to-video-fast",
"version": "0.0.1",
"input": {
"prompt": "Smooth parallax zoom through the scene, crossfading into the second look",
"image_url": "https://your-cdn.example.com/frame-start.jpg",
"end_image_url": "https://your-cdn.example.com/frame-end.jpg",
"duration": "6",
"resolution": "720p"
}
}
ポーリング
curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \
-H "X-API-Key: $EACHLABS_API_KEY"
| ステータス | 意味 |
|---|---|
processing | 処理中 — 再度ポーリングしてください |
success | 完了 — output(動画 URL)を読み取ってください |
error | 失敗 — message/details を読み取ってください |
Webhook(ポーリングの代替)
作成リクエストの本文に "webhook_url": "https://your.host/path" を渡します。EachLabs は次の内容を POST します。
{
"exec_id": "prediction-uuid",
"status": "succeeded",
"output": "https://...",
"error": ""
}
status は "succeeded" または "failed" です。30 秒以内に 2xx を返してください。
パラメーター(どちらのスラッグでも、ほとんどのパラメーターは共通です)
| パラメーター | 型 | 必須 | デフォルト | オプション | 説明 |
|---|---|---|---|---|---|
prompt | string | はい | — | — | テキストプロンプト。i2v では動きやアクションを記述します。タイムラインプロンプトと、ネイティブ音声用のセリフに対応しています。 |
image_url | string | はい(i2v のみ) | — | JPEG/PNG/WebP、最大 30 MB | 開始フレーム。HTTPS でアクセス可能な公開 URL を指定します。 |
end_image_url | string | いいえ(i2v のみ) | — | JPEG/PNG/WebP、最大 30 MB | 最終フレーム。モデルは image_url とこの画像の間を補間します。 |
resolution | string | いいえ | 720p | 480p、720p | 480p は高速・低コスト、720p はバランス重視です。 |
duration | string | いいえ | auto | auto、4…15 | クリップの長さ(秒)。auto を指定すると、モデルがプロンプトに基づいて選択します。 |
aspect_ratio | string | いいえ | auto | auto、21:9、16:9、4:3、1:1、3:4、9:16 | i2v では、auto を指定すると入力画像から推定します。 |
generate_audio | boolean | いいえ | true | — | 同期した効果音、環境音、リップシンクした音声を生成します。オン/オフによるコストの違いはありません。 |
seed | string | いいえ | — | — | 再現性を高めるためのヒントです。結果には多少の揺らぎが生じる場合があります。 |
end_user_id | string | いいえ | — | — | エンドユーザー識別子です。 |
料金
動的料金で、出力動画の秒数に応じて課金されます。
| 解像度 | 料金 |
|---|---|
| 480p | $0.1129 / 秒 |
| 720p(デフォルト) | $0.2419 / 秒 |
音声生成によって料金は変わりません。720pで6秒のクリップは約$1.45、480pで10秒のクリップは約$1.13です。
プロンプトのヒント
- タイムライン形式のプロンプト:時間表現やカットを示す言葉を使って場面を順に並べます —「ワイドショット:… クローズアップに切り替え:… 最後に:…」。Seedance 2.0は、1文だけのプロンプトよりも時間構造を適切に反映します。
- ネイティブ音声でのセリフ:セリフを引用符で囲み、話者について説明します(「50代の渋みのある英国人男性ナレーター、落ち着いた威厳のある声で、…と言う」)。リップシンクと環境音は同じ処理で生成されます。
- カメラ用語:実際の映画制作で使われる用語(「ゆっくり寄る」「ラックフォーカス」「左にドリー」「手持ち」「クレーンアップ」)を使います。モデルは監督レベルの指示に従います。
- 物理表現の手がかり:重さ、慣性、素材同士の作用を記述します(「ブーツが着地するとほこりが舞う」「回転したあと布が落ち着く」)。これにより、リアルな物理挙動を引き出せます。
レート制限と上限
| 上限 | 値 |
|---|---|
| 作成リクエスト | キーごとに100 / 分 |
| 同時実行可能な予測 | キーごとに10 |
| ファイル入力 | 公開アクセス可能なHTTPS URLのみ(JPEG/PNG/WebP、最大30 MB)。data URIとlocalhostは使用できません。 |
エラー
エラー本文:{ "status": "error", "message": "...", "details": "..." }
| コード | 意味 |
|---|---|
| 400 | 無効な入力 |
| 401 | X-API-Keyがない、または無効 |
| 404 | 不明なモデルまたは予測ID |
| 429 | レート制限 — バックオフしてください |
| 5xx | 指数バックオフで再試行してください |
セキュリティ上の制約
- 任意のURLの読み込みは禁止:
image_url/end_image_urlは、自身が管理するHTTPS経由でアクセス可能なストレージ(S3、GCS、CDN)を指す必要があります。ユーザーが貼り付けたURLを検証せずに転送しないでください。 - サードパーティAPIトークンは禁止:プロバイダーのトークンを
input経由で転送しないでください。認証にはEachLabs APIキーのみを使用します。 - 呼び出し前に検証:
inputを作成する前に、GET /v1/model?slug=<slug>で最新のrequest_schemaを取得してください。
パラメーターリファレンス
デフォルト値とオプションを含むslugごとの一覧については、references/MODELS.mdを参照してください。