jpskill.com
🎬 動画AI コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して seedance2-api.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → seedance2-api フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
2

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] seedance2-api

Seedance 2.0 ストーリーボードと動画生成

コンセプトから最終動画までのエンドツーエンドのワークフロー:ストーリーボード → 参考画像 → 動画タスクの提出 → 結果の取得。

ステップ0:実行モードの決定(MCPまたはスクリプト)

まずMCPの可用性を確認します。

  1. xskill-ai MCPサービスのステータスを確認します(mcps/user-xskill-ai/STATUS.mdを読みます)。
  2. MCPが利用可能な場合 → submit_task / get_task およびその他のMCPツールを使用します。
  3. MCPが利用できない、またはエラーを返す場合 → スクリプトモードに切り替えます。

スクリプトモードの前提条件:

  1. XSKILL_API_KEY環境変数が設定されていることを確認します(echo $XSKILL_API_KEY | head -c 10を実行します)。
  2. 設定されていない場合、ユーザーにプロンプトを表示します。
    export XSKILL_API_KEY=sk-your-api-key
    Get your API Key: https://www.xskill.ai/#/v2/api-keys
  3. 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つの次元)

ユーザーを各次元に沿ってガイドし、より豊かな詳細を引き出します。

  1. コンテンツ – 主題は誰か?何をしているか?どこで?
  2. ビジュアル – 照明、カラーパレット、テクスチャ、ムード
  3. カメラ – プッシュイン / プルアウト / パン / ティルト / トラック / オービット / クレーン
  4. モーション – 被写体のアクションとペース
  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_filesaudio_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:

  1. Check xskill-ai MCP service status (read mcps/user-xskill-ai/STATUS.md)
  2. If MCP is available → use submit_task / get_task and other MCP tools
  3. If MCP is unavailable or returns errors → switch to Script Mode

Script mode prerequisites:

  1. Verify XSKILL_API_KEY environment variable is set (run echo $XSKILL_API_KEY | head -c 10)
  2. 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
  3. Verify requests is 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:

  1. Content – Who is the subject? What are they doing? Where?
  2. Visuals – Lighting, color palette, texture, mood
  3. Camera – Push in / pull out / pan / tilt / track / orbit / crane
  4. Motion – Subject actions and pacing
  5. 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 (415)
    • model: seedance_2.0_fast (default, faster) or seedance_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_fast or seedance_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:

  1. After submission, inform the user: "Video is generating, estimated ~10 minutes"
  2. First query after 60 seconds via get_task
  3. Then every 90 seconds
  4. 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 user
  • failed → 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.py path above is relative to .cursor/skills/seedance2-api/. Use the full path .cursor/skills/seedance2-api/scripts/seedance_api.py when executing, or cd into 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` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。