自分のツールで動画と画像を生成
キーを作成し、Bearer認証でAPIを呼び出して、結果が準備できるまでタスクステータスをポーリングします。Claude Code、Codex、および任意のHTTPクライアントで動作します。
クイックスタート
ステップ 1
キー作成
ダッシュボードでAPIキーを生成してください。一度だけ表示されるため、安全な場所に保存してください。
ステップ 2
APIを呼び出す
BearerキーとIdempotency-Keyヘッダーを指定してPOSTリクエストを送信します。
ステップ 3
結果のポーリング
タスクステータスエンドポイントをポーリングし、ステータスが完了または失敗になるまで待ちます。その後、出力を読み取ってください。
認証
すべてのリクエストは、AuthorizationヘッダーにBearer APIキーを指定して認証されます。
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-requestSeedance 2 Video
テキスト、画像、またはメディアから動画へ
ジョブを送信
/api/v1/video/seedance2パラメータ
| パラメータ | タイプ | 必須 | デフォルト | 許可される値 |
|---|---|---|---|---|
modeGeneration mode. | string | 任意 | text-to-video | text-to-videoimage-to-videomedia-to-video |
quality_tierQuality tier. | string | 任意 | standard | standardpro |
channelRendering channel. | string | 任意 | standard | standardrealwild |
promptText prompt. | string | 必須 | — | 3–10000 chars |
aspect_ratioAspect ratio. | string | 任意 | 16:9 | 1:121:94:33:416:99:16 |
durationClip duration. | string | 任意 | 5 | 4–15 (seconds) |
resolutionOutput resolution. | string | 任意 | 720p | 720p1080p |
image_urlStart frame — required for image-to-video. | string (URL) | 任意 | — | public https URL |
end_image_urlOptional end frame. | string (URL) | 任意 | — | public https URL |
media_urlsRequired for media-to-video. | string[] (URL) | 任意 | — | ≤ 12 public https URLs |
generate_audioGenerate an audio track. | boolean | 任意 | true | truefalse |
fixed_lensLock the camera lens. | boolean | 任意 | false | truefalse |
seedNot supported on the real channel. | integer | 任意 | — | -1 – 4294967295 |
リクエスト
curl -X POST https://seedance2ai.io/api/v1/video/seedance2 \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-video-001" \
-d '{
"mode": "text-to-video",
"quality_tier": "standard",
"prompt": "A cinematic shot of a glass train crossing a snowy mountain bridge",
"aspect_ratio": "16:9",
"duration": "5",
"resolution": "720p"
}'レスポンス202
{
"id": "sd2_xxxxx",
"status": "processing",
"model": "seedance2",
"quality_tier": "standard",
"channel": "standard",
"credits_used": 30
}タスクステータスの確認
/api/v1/tasks/{id}リクエスト
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
-H "Authorization: Bearer $SEEDANCE_API_KEY"レスポンス200
{
"id": "sd2_xxxxx",
"status": "completed",
"model": "seedance2",
"quality_tier": "standard",
"channel": "standard",
"credits_used": 30,
"credits_refunded": 0,
"output": {
"video_url": "https://...",
"last_frame_url": "https://...",
"seed": 123
},
"error": null,
"created_at": "2026-06-03T10:00:00.000Z",
"updated_at": "2026-06-03T10:03:12.000Z"
}status: processing · completed · failed
エラーコード
All errors share this shape:
{ "error": { "code": "invalid_request", "message": "Invalid request body" } }| コード | HTTP | 意味 |
|---|---|---|
unauthorized | 401 | Missing, invalid, or revoked API key. |
invalid_request | 400 | Bad input or unsupported field. |
insufficient_credits | 402 | Not enough credits on the balance. |
rate_limited | 429 | Too many requests — limit is 30 requests per 60 seconds per account. Retry after the Retry-After response header (in seconds). |
idempotency_conflict | 409 | Same Idempotency-Key reused with a different body, or still running. |
service_busy | 503 | Temporary upstream or credit-concurrency issue. Retry. |
not_found | 404 | Task does not exist or does not belong to this key owner. |
internal_error | 500 | Unexpected server-side failure. |
Claude Code で使用
「コピー」をクリックすると、AIがAPI全体をクリーンなMarkdown形式で取得します。そのMarkdownをClaude CodeやCodexに貼り付ければ、統合のセットアップを任せられます。また、エージェントをRaw Textエンドポイントに直接向けることも可能です。
Skill
SeedanceスキルをClaude Code、Codex、または任意のエージェントにインストールすると、シネマティックなプロンプトを作成し、APIを通じてレンダリングしてくれます。
# Clone into Claude Code's skills folder
git clone https://github.com/tkaptop/seedance-skill ~/.claude/skills/seedanceよくある質問
APIは誰が利用できますか?
クレジットをお持ちの方ならどなたでもご利用いただけます。プランによる制限はありません — クレジットのあるアカウントであれば、キーを作成してAPIを呼び出すことができます。
クレジットはどうやって入手できますか?
料金ページでチャージまたはサブスクライブしてください。クレジットは即座に残高に追加されます。
ウェブサイトとAPIでクレジットは共有されますか?
はい — 個人のクレジット残高が、Web生成とAPI呼び出しの両方で使用できます。チームでは、API呼び出しには各メンバーの個人残高が使われ、共有のチームプールは使用されません。
どうやって始めますか?
ダッシュボードでAPIキーを作成し、Bearerトークンを使用してエンドポイントを呼び出してください(詳しくは上記のQuickstartを参照)。
API呼び出しでinsufficient_creditsが返された場合はどうなりますか?
残高が不足しています。料金ページでチャージして、再度お試しください。