seedance2-api
Seedance 2.0 APIを活用し、AI動画の生成を支援するSkillで、ストーリーボードの作成、参考画像の生成、動画タスクの実行、結果の確認などを、ユーザーがSeedanceやAI動画について言及した際に実行するSkill。
📜 元の英語説明(参考)
Out-of-the-box Seedance 2.0 API skill — just one API key to generate AI videos. Builds storyboards, generates reference images with Seedream 4.5, submits video tasks, and polls results. Supports both MCP and standalone Python script mode. Use when the user mentions seedance, AI video, storyboard, or video generation.
🇯🇵 日本人クリエイター向け解説
Seedance 2.0 APIを活用し、AI動画の生成を支援するSkillで、ストーリーボードの作成、参考画像の生成、動画タスクの実行、結果の確認などを、ユーザーがSeedanceやAI動画について言及した際に実行するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o seedance2-api.zip https://jpskill.com/download/19197.zip && unzip -o seedance2-api.zip && rm seedance2-api.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19197.zip -OutFile "$d\seedance2-api.zip"; Expand-Archive "$d\seedance2-api.zip" -DestinationPath $d -Force; ri "$d\seedance2-api.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
seedance2-api.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
seedance2-apiフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 2
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] seedance2-api
Seedance 2.0 ストーリーボードと動画生成
コンセプトから最終動画までのエンドツーエンドのワークフロー:ストーリーボード → 参考画像 → 動画タスクの提出 → 結果の取得。
ステップ0:実行モードの決定(MCPまたはスクリプト)
まずMCPの可用性を確認します。
xskill-aiMCPサービスのステータスを確認します(mcps/user-xskill-ai/STATUS.mdを読みます)。- MCPが利用可能な場合 →
submit_task/get_taskおよびその他のMCPツールを使用します。 - MCPが利用できない、またはエラーを返す場合 → スクリプトモードに切り替えます。
スクリプトモードの前提条件:
XSKILL_API_KEY環境変数が設定されていることを確認します(echo $XSKILL_API_KEY | head -c 10を実行します)。- 設定されていない場合、ユーザーにプロンプトを表示します。
export XSKILL_API_KEY=sk-your-api-key Get your API Key: https://www.xskill.ai/#/v2/api-keys requestsがインストールされていることを確認します(pip install requests)。
スクリプトのパス: このスキルディレクトリ内のscripts/seedance_api.pyにあります。
# Globツールで検索
glob: .cursor/skills/seedance2-api/scripts/seedance_api.py
以下のステップでは、各API呼び出しでMCPメソッドとスクリプトメソッドの両方を提供しています。ステップ0の結果に基づいていずれかを選択してください。
ステップ1:ユーザーのアイデアを理解する
以下の情報を収集します(不足している場合は積極的に尋ねます)。
- ストーリーコンセプト:動画の1文の要約
- 期間:4~15秒
- アスペクト比:16:9 / 9:16 / 1:1 / 21:9 / 4:3 / 3:4
- ビジュアルスタイル:リアル / アニメーション / 水墨画 / SF / サイバーパンクなど
- アセット:既存の画像/動画/音声、またはAI生成が必要か
- 機能モード:最初と最後のフレーム制御(
first_last_frames)またはデフォルトのオムニモード(omni_reference)
ステップ2:詳細な掘り下げ(5つの次元)
ユーザーを各次元に沿ってガイドし、より豊かな詳細を引き出します。
- コンテンツ – 主題は誰か?何をしているか?どこで?
- ビジュアル – 照明、カラーパレット、テクスチャ、ムード
- カメラ – プッシュイン / プルアウト / パン / ティルト / トラック / オービット / クレーン
- モーション – 被写体のアクションとペース
- オーディオ – 音楽スタイル、効果音、ダイアログ
ステップ3:ストーリーボード構造の構築
以下の式を使用して、タイムラインに沿ってショットを分解します。
[スタイル] _____ スタイル、 _____ 秒、 _____ 比率、 _____ ムード
0-Xs: [カメラの動き] + [視覚コンテンツ] + [アクションの説明]
X-Ys: [カメラの動き] + [視覚コンテンツ] + [アクションの説明]
...
[オーディオ] _____ 音楽 + _____ SFX + _____ ダイアログ
[参照] @image_file_1 _____, @video_file_1 _____
詳細なテンプレートと例については、reference.mdを参照してください。
ステップ4:参照画像の生成(必要な場合)
ユーザーが既存のアセットを持っていない場合、Seedream 4.5を使用してキャラクターアート、シーン、最初/最後のフレームなどを生成します。
テキストから画像へ
<details> <summary><b>MCPメソッド</b></summary>
submit_taskツールを呼び出します。
- model_id:
fal-ai/bytedance/seedream/v4.5/text-to-image - parameters:
- prompt: 詳細な画像の説明(英語が最適です)
- image_size: 動画のアスペクト比に基づいて選択します
- num_images: 必要な数(1~6)
</details>
<details> <summary><b>スクリプトメソッド</b></summary>
python .cursor/skills/seedance2-api/scripts/seedance_api.py submit \
--model "fal-ai/bytedance/seedream/v4.5/text-to-image" \
--params '{"prompt":"An astronaut in a white spacesuit...","image_size":"landscape_16_9","num_images":1}'
</details>
画像編集(既存画像の修正)
<details> <summary><b>MCPメソッド</b></summary>
submit_taskツールを呼び出します。
- model_id:
fal-ai/bytedance/seedream/v4.5/edit - parameters:
- prompt: 編集指示(画像を参照するにはFigure 1/2/3を使用します)
- image_urls: 入力画像のURLの配列
- image_size: 出力サイズ
</details>
<details> <summary><b>スクリプトメソッド</b></summary>
python .cursor/skills/seedance2-api/scripts/seedance_api.py submit \
--model "fal-ai/bytedance/seedream/v4.5/edit" \
--params '{"prompt":"Change the background to a forest","image_urls":["https://..."],"image_size":"landscape_16_9"}'
</details>
画像結果のポーリング
画像は通常1~2分で完了します。
<details> <summary><b>MCPメソッド</b></summary>
get_taskツールを呼び出してステータスを確認します。
- 最初のクエリは30秒後
- その後30秒ごとに
- ステータスが
completedの場合、画像URLを抽出します
</details>
<details> <summary><b>スクリプトメソッド</b></summary>
単一クエリ:
python .cursor/skills/seedance2-api/scripts/seedance_api.py query \
--task-id "TASK_ID_HERE"
自動ポーリング(画像に推奨、間隔10秒、タイムアウト180秒):
python .cursor/skills/seedance2-api/scripts/seedance_api.py poll \
--task-id "TASK_ID_HERE" --interval 10 --timeout 180
</details>
image_sizeの参照
| アスペクト比 | 推奨 image_size | 注 |
|---|---|---|
| 16:9 | landscape_16_9 | 横長 |
| 9:16 | portrait_16_9 | 縦長 |
| 4:3 | landscape_4_3 | 横長 |
| 3:4 | portrait_4_3 | 縦長 |
| 1:1 | square_hd | 正方形 |
| 21:9 | landscape_16_9 | おおよそウルトラワイド |
ステップ5:最終プロンプトの作成
ストーリーボード構造と参照画像を最終プロンプトに統合します。
image_files配列内の画像を参照するには、@image_file_1、@image_file_2などを使用します。video_files配列内の動画を参照するには、@video_file_1などを使用します。audio_files配列内の音声を参照するには、@audio_file_1などを使用します。
参照構文の例:
@image_file_1 をキャラクター参照として、@video_file_1 のカメラの動きに従い、@audio_file_1 をBGMとして使用
重要: image_filesのN番目のURLは@image_file_Nにマッピングされます。video_filesとaudio_filesは独立して番号付けされます。
ステップ6:動画タスクの提出
アセットURLの処理:
- Seedreamで生成された画像:URLは既に利用可能なので、直接使用します。
- ユーザー提供のWeb画像:直接使用します。
- ユーザー提供のローカル画像:まずアップロードしてURLを取得します(以下のアップロード方法を参照)。
ローカル画像のアップロード
<details> <summary><b>MCPメソッド</b></summary>
upload_imageツールを呼び出します:image_urlまたはimage_data
</details>
<details> <summary><b>スクリプトメソッド</b
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Seedance 2.0 Storyboard & Video Generation
End-to-end workflow from concept to final video: Storyboard → Reference images → Submit video task → Get results.
Step 0: Determine Execution Mode (MCP or Script)
Check MCP availability first:
- Check
xskill-aiMCP service status (readmcps/user-xskill-ai/STATUS.md) - If MCP is available → use
submit_task/get_taskand other MCP tools - If MCP is unavailable or returns errors → switch to Script Mode
Script mode prerequisites:
- Verify
XSKILL_API_KEYenvironment variable is set (runecho $XSKILL_API_KEY | head -c 10) - If not set, prompt the user:
export XSKILL_API_KEY=sk-your-api-key Get your API Key: https://www.xskill.ai/#/v2/api-keys - Verify
requestsis installed (pip install requests)
Script path: Located under this skill's directory at scripts/seedance_api.py:
# Find via Glob tool
glob: .cursor/skills/seedance2-api/scripts/seedance_api.py
In the following steps, each API call provides both MCP method and Script method. Choose one based on the Step 0 result.
Step 1: Understand the User's Idea
Collect the following information (proactively ask if anything is missing):
- Story concept: one-sentence summary of the video
- Duration: 4–15 seconds
- Aspect ratio: 16:9 / 9:16 / 1:1 / 21:9 / 4:3 / 3:4
- Visual style: realistic / animation / ink wash / sci-fi / cyberpunk, etc.
- Assets: existing images/videos/audio, or need AI generation
- Function mode: first & last frame control (
first_last_frames) or default omni mode (omni_reference)
Step 2: Deep Dive (5 Dimensions)
Guide the user through each dimension for richer detail:
- Content – Who is the subject? What are they doing? Where?
- Visuals – Lighting, color palette, texture, mood
- Camera – Push in / pull out / pan / tilt / track / orbit / crane
- Motion – Subject actions and pacing
- Audio – Music style, sound effects, dialogue
Step 3: Build Storyboard Structure
Break down shots along the timeline using this formula:
[Style] _____ style, _____ seconds, _____ ratio, _____ mood
0-Xs: [Camera movement] + [Visual content] + [Action description]
X-Ys: [Camera movement] + [Visual content] + [Action description]
...
[Audio] _____ music + _____ SFX + _____ dialogue
[References] @image_file_1 _____, @video_file_1 _____
See reference.md for detailed templates and examples.
Step 4: Generate Reference Images (If Needed)
If the user has no existing assets, use Seedream 4.5 to generate character art, scenes, first/last frames, etc.
Text-to-Image
<details> <summary><b>MCP Method</b></summary>
Call submit_task tool:
- model_id:
fal-ai/bytedance/seedream/v4.5/text-to-image - parameters:
- prompt: detailed image description (English works best)
- image_size: choose based on video aspect ratio
- num_images: number needed (1–6)
</details>
<details> <summary><b>Script Method</b></summary>
python .cursor/skills/seedance2-api/scripts/seedance_api.py submit \
--model "fal-ai/bytedance/seedream/v4.5/text-to-image" \
--params '{"prompt":"An astronaut in a white spacesuit...","image_size":"landscape_16_9","num_images":1}'
</details>
Image Editing (Modify Existing Images)
<details> <summary><b>MCP Method</b></summary>
Call submit_task tool:
- model_id:
fal-ai/bytedance/seedream/v4.5/edit - parameters:
- prompt: editing instructions (use Figure 1/2/3 to reference images)
- image_urls: array of input image URLs
- image_size: output size
</details>
<details> <summary><b>Script Method</b></summary>
python .cursor/skills/seedance2-api/scripts/seedance_api.py submit \
--model "fal-ai/bytedance/seedream/v4.5/edit" \
--params '{"prompt":"Change the background to a forest","image_urls":["https://..."],"image_size":"landscape_16_9"}'
</details>
Poll Image Results
Images typically complete in 1–2 minutes.
<details> <summary><b>MCP Method</b></summary>
Call get_task tool to check status:
- First query after 30 seconds
- Then every 30 seconds
- Extract image URL when status is
completed
</details>
<details> <summary><b>Script Method</b></summary>
Single query:
python .cursor/skills/seedance2-api/scripts/seedance_api.py query \
--task-id "TASK_ID_HERE"
Auto-poll (recommended for images, interval 10s, timeout 180s):
python .cursor/skills/seedance2-api/scripts/seedance_api.py poll \
--task-id "TASK_ID_HERE" --interval 10 --timeout 180
</details>
image_size Reference
| Aspect Ratio | Recommended image_size | Note |
|---|---|---|
| 16:9 | landscape_16_9 | Landscape |
| 9:16 | portrait_16_9 | Portrait |
| 4:3 | landscape_4_3 | Landscape |
| 3:4 | portrait_4_3 | Portrait |
| 1:1 | square_hd | Square |
| 21:9 | landscape_16_9 | Approximate ultrawide |
Step 5: Compose the Final Prompt
Merge the storyboard structure and reference images into the final prompt:
- Use
@image_file_1,@image_file_2, etc. to reference images in the image_files array - Use
@video_file_1, etc. to reference videos in the video_files array - Use
@audio_file_1, etc. to reference audio in the audio_files array
Reference syntax example:
@image_file_1 as character reference, follow @video_file_1 camera movement, with @audio_file_1 as background music
Important: The Nth URL in image_files maps to @image_file_N. video_files and audio_files are independently numbered.
Step 6: Submit Video Task
Handle asset URLs:
- Seedream-generated images: URL already available, use directly
- User-provided web images: use directly
- User-provided local images: upload first to get URL (see upload methods below)
Upload Local Images
<details> <summary><b>MCP Method</b></summary>
Call upload_image tool: image_url or image_data
</details>
<details> <summary><b>Script Method</b></summary>
# Upload from URL
python .cursor/skills/seedance2-api/scripts/seedance_api.py upload \
--image-url "https://example.com/image.png"
# Upload local file
python .cursor/skills/seedance2-api/scripts/seedance_api.py upload \
--image-path "/path/to/local/image.png"
</details>
Submit Seedance 2.0 Task (Omni Reference Mode)
<details> <summary><b>MCP Method</b></summary>
Call submit_task tool:
- model_id:
st-ai/super-seed2 - parameters:
- prompt: the full prompt from Step 5
- functionMode:
omni_reference(default, can be omitted) - image_files: reference image URL array (up to 9, order matches @image_file_1/2/3...)
- video_files: reference video URL array (up to 3, total duration ≤ 15s)
- audio_files: reference audio URL array (up to 3)
- ratio: aspect ratio (
16:9/9:16/1:1/21:9/4:3/3:4) - duration: integer length (
4–15) - model:
seedance_2.0_fast(default, faster) orseedance_2.0(standard quality)
</details>
<details> <summary><b>Script Method</b></summary>
python .cursor/skills/seedance2-api/scripts/seedance_api.py submit \
--model "st-ai/super-seed2" \
--params '{
"prompt": "Cinematic realistic sci-fi style, 15 seconds, 16:9...",
"functionMode": "omni_reference",
"image_files": ["https://img1.png", "https://img2.png"],
"ratio": "16:9",
"duration": 15,
"model": "seedance_2.0_fast"
}'
</details>
Submit Seedance 2.0 Task (First & Last Frames Mode)
<details> <summary><b>MCP Method</b></summary>
Call submit_task tool:
- model_id:
st-ai/super-seed2 - parameters:
- prompt: video description prompt
- functionMode:
first_last_frames - filePaths: image URL array (0 = text-to-video, 1 = first frame, 2 = first & last frames)
- ratio: aspect ratio
- duration: integer length
- model:
seedance_2.0_fastorseedance_2.0
</details>
<details> <summary><b>Script Method</b></summary>
python .cursor/skills/seedance2-api/scripts/seedance_api.py submit \
--model "st-ai/super-seed2" \
--params '{
"prompt": "Camera smoothly transitions from first frame to last frame, fluid motion",
"functionMode": "first_last_frames",
"filePaths": ["https://first-frame.png", "https://last-frame.png"],
"ratio": "16:9",
"duration": 5,
"model": "seedance_2.0_fast"
}'
</details>
Step 7: Poll for Video Results
Video generation takes approximately 10 minutes.
<details> <summary><b>MCP Method</b></summary>
Polling strategy:
- After submission, inform the user: "Video is generating, estimated ~10 minutes"
- First query after 60 seconds via
get_task - Then every 90 seconds
- Report status to the user after each query
</details>
<details> <summary><b>Script Method</b></summary>
Recommended: auto-poll (runs in foreground, interval 30s, timeout 600s):
python .cursor/skills/seedance2-api/scripts/seedance_api.py poll \
--task-id "TASK_ID_HERE" --interval 30 --timeout 600
Progress is printed to stderr; final JSON result is printed to stdout when complete.
Manual single query:
python .cursor/skills/seedance2-api/scripts/seedance_api.py query \
--task-id "TASK_ID_HERE"
</details>
Status reference:
pending→ "Queued..."processing→ "Generating..."completed→ Extract the video URL and present to the userfailed→ Report the error; suggest adjusting the prompt and retrying
Full Workflow Example
User says: "Make a video of an astronaut walking on Mars"
When MCP Is Available
1. Gather info → 15s, 16:9, cinematic sci-fi style, no existing assets
2. Generate astronaut + Mars scene images with Seedream 4.5
submit_task("fal-ai/bytedance/seedream/v4.5/text-to-image", {...})
→ poll get_task → get image URLs
3. Compose prompt → submit video task
submit_task("st-ai/super-seed2", {...})
4. Poll get_task, ~10 min later → get video URL
When MCP Is Unavailable (Script Mode)
1. Gather info → 15s, 16:9, cinematic sci-fi style
2. Generate reference images:
python scripts/seedance_api.py submit \
--model "fal-ai/bytedance/seedream/v4.5/text-to-image" \
--params '{"prompt":"An astronaut in white spacesuit on Mars...","image_size":"landscape_16_9"}'
→ get task_id
3. Poll for image results:
python scripts/seedance_api.py poll --task-id "xxx" --interval 10 --timeout 180
→ get image URL
4. Submit video task:
python scripts/seedance_api.py submit \
--model "st-ai/super-seed2" \
--params '{"prompt":"...storyboard prompt...","functionMode":"omni_reference","image_files":["IMAGE_URL"],"ratio":"16:9","duration":15,"model":"seedance_2.0_fast"}'
→ get task_id
5. Poll for video results:
python scripts/seedance_api.py poll --task-id "xxx" --interval 30 --timeout 600
→ get video URL
Model Parameters Quick Reference
Seedream 4.5 Text-to-Image
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Image description |
| image_size | string | No | auto_2K / auto_4K / square_hd / portrait_4_3 / portrait_16_9 / landscape_4_3 / landscape_16_9 |
| num_images | int | No | 1–6, default 1 |
Seedream 4.5 Image Editing
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Editing instructions, reference images as Figure 1/2/3 |
| image_urls | array | Yes | Input image URL list |
| image_size | string | No | Same as above |
| num_images | int | No | 1–6, default 1 |
Seedance 2.0 Video (Omni Reference Mode)
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Storyboard prompt, use @image_file_N/@video_file_N/@audio_file_N |
| functionMode | string | No | omni_reference (default) |
| image_files | array | No | Reference image URL array (up to 9) |
| video_files | array | No | Reference video URL array (up to 3, total ≤ 15s) |
| audio_files | array | No | Reference audio URL array (up to 3) |
| ratio | string | No | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 |
| duration | integer | No | 4–15, default 5 |
| model | string | No | seedance_2.0_fast (default) / seedance_2.0 |
Seedance 2.0 Video (First & Last Frames Mode)
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | Video description prompt |
| functionMode | string | Yes | first_last_frames |
| filePaths | array | No | Image URL array (0 = text-to-video, 1 = first frame, 2 = first & last) |
| ratio | string | No | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 |
| duration | integer | No | 4–15, default 5 |
| model | string | No | seedance_2.0_fast (default) / seedance_2.0 |
Tools Quick Reference
MCP Tools
| Action | Tool | Key Parameters |
|---|---|---|
| Submit task | submit_task | model_id, parameters |
| Query result | get_task | task_id |
| Upload image | upload_image | image_url or image_data |
| Check balance | get_balance | (none) |
Script Commands (When MCP Is Unavailable)
| Action | Command | Description |
|---|---|---|
| Submit task | python scripts/seedance_api.py submit --model MODEL --params '{...}' |
Returns task_id |
| Single query | python scripts/seedance_api.py query --task-id ID |
Returns current status |
| Auto-poll | python scripts/seedance_api.py poll --task-id ID --interval N --timeout N |
Blocks until done |
| Check balance | python scripts/seedance_api.py balance |
Returns account balance |
| Upload image | python scripts/seedance_api.py upload --image-url URL or --image-path PATH |
Returns image URL |
Script path note: The
scripts/seedance_api.pypath above is relative to.cursor/skills/seedance2-api/. Use the full path.cursor/skills/seedance2-api/scripts/seedance_api.pywhen executing, orcdinto the skill directory first.
Seedance 2.0 Limitations
- Realistic human face uploads are not supported
- Maximum 12 files: images ≤ 9 + videos ≤ 3 + audio ≤ 3
- Total video/audio reference duration ≤ 15 seconds
- Video references consume more credits
More Resources
See reference.md for detailed storyboard templates, full examples, and camera movement glossary.
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (15,024 bytes)
- 📎 scripts/seedance_api.py (7,061 bytes)