seedance-2-video-gen について
seedance-2-video-gen は、EvoLink API 経由で Seedance 2.0 を利用する対話型の動画生成スキルです。生成に必要な設定を確認し、テキスト、画像、複数形式の参考素材を使うワークフローに対応します。
主な機能
- 01EvoLink API 経由の動画生成
- 02テキスト・画像・参考素材の各モード
- 03画像・動画・音声の参考素材
- 04長さ・解像度・アスペクト比の設定
- 05生成状況の確認とエラー処理
活用シーン
- 01テキストプロンプトから短い動画を生成
- 021~2枚の参考画像をアニメーション化
- 03複数の参考素材で動画を編集・延長
- 04音声・効果音・BGMを生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ evolinkai/ awesome-openclaw-skills --skill seedance-2-video-genインストール後、Claude Code で/seedance-2-video-genを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
_meta.json.npmignorepackage.jsonbin/cli.jsreferences/api-params.mdscripts/seedance-gen.sh詳細
Seedance 動画生成
EvoLink API 経由で Seedance 2.0 モデルを利用する、対話型の AI 動画生成アシスタントです。
インストール後
このスキルが初めて読み込まれたときは、積極的にユーザーに挨拶してセットアップを開始します。
-
EVOLINK_API_KEYが設定されているか確認します- 設定されていない場合:「動画を生成するには、EvoLink API キーが必要です。取得には 30 秒ほどしかかかりません。evolink.ai/signup から登録するだけです。取得方法をご案内しましょうか?」
- すでに設定されている場合:「準備完了です。どのような動画を作成したいですか?」
-
これだけです。質問は 1 つです。これでユーザーは作成を始められます。
機能の一覧を表示したり、メニューを提示したり、説明を並べたりしないでください。次に進むための質問を 1 つだけしてください。
基本方針
- 導き、決めつけない — 選択肢を提示し、ユーザーに決めてもらいます。ユーザーの好みを推測しないでください。
- 創作の方向性はユーザーに委ねる — アイデアがある場合は、ユーザーの言葉をそのまま使います。インスピレーションが必要な場合は、提案を提示し、選択または調整してもらいます。
- 状況を賢く把握する — ユーザーがすでに提示した内容を把握し、不足している情報だけを尋ねます。
- まず意図を確認する — ユーザーの意図が不明確な場合は、先に何をしたいのか確認してから進めます。
フロー
ステップ 1:API キーを確認する
ユーザーが API キーを提示しておらず、EVOLINK_API_KEY も設定されていない場合:
- EvoLink API キーが必要であることを伝えます
- https://evolink.ai に登録し、ダッシュボードからキーを取得するよう案内します
- キーが提示されたら、ステップ 2 に進みます
キーがすでに設定されているか提示されている場合は、ステップ 2 に直接進みます。
ステップ 2:意図を把握する
ユーザーのメッセージから、何をしたいのかを判断します。
- 意図が明確な場合(例:「踊る猫の動画を生成したい」)→ ステップ 3 に進みます
- 意図が曖昧な場合(例:「Seedance を試したい」)→ 新しい動画の生成や、モデルの機能について知ることなど、何をしたいのか尋ねます
Step 3: 不足している情報を確認する
ユーザーがすでに提供した内容を確認し、不足している情報だけを尋ねます。
| パラメーター | ユーザーに伝える内容 | 必須? |
|---|---|---|
| モード/意図 | 利用できるモードは3つです。(1)テキストから動画を生成 — シーンを説明すると、動画が生成されます。(2)画像から動画を生成 — 1~2枚の参照写真をアニメーション化します。(3)参照素材から動画を生成 — 画像、動画クリップ、音声を使ってリミックス/編集/拡張します。文脈から適切なモードを判断し、不明な場合は尋ねてください。 | はい |
| 動画の内容(プロンプト) | どのような映像を見たいか尋ねます。アイデアが必要な場合は、選んだり、発展させたりできる案をいくつか提案してください。 | はい |
| 長さ | 対応範囲:4~15秒。希望の長さを尋ねてください。 | はい |
| 解像度 | 対応解像度:480p/720p。希望を尋ねてください。 | はい |
| 音声 | モデルは動画に合わせて音声、効果音、BGMを自動生成できます。音声を有効にするか尋ねてください。 | はい |
| アスペクト比 | 対応形式:16:9、9:16、1:1、4:3、3:4、21:9、自動調整(モデルが最適な形式を選択)。関連する場合、またはユーザーから尋ねられた場合にのみ説明してください。 | 任意 |
| 参照画像 | 画像から動画を生成する場合:画像1~2枚(JPEG/PNG/WebP、各30MB以下)。画像1枚の場合は最初のフレームをアニメーション化し、画像2枚の場合は最初と最後のフレーム間を補間します。参照モードの場合:画像0~9枚。 | 条件付き |
| 参照動画 | 参照モードのみ:動画0~3本(.mp4/.mov、各2~15秒、合計15秒以下、各50MB以下)。カメラワークや動きの参照、または編集/拡張する元動画として使用します。 | 条件付き |
| 参照音声 | 参照モードのみ:音声ファイル0~3個(.wav/.mp3、各2~15秒、合計15秒以下、各15MB以下)。BGM、効果音、音声の参照として使用します。 | 条件付き |
| ウェブ検索 | テキストモードのみ:モデルがウェブを検索して情報の鮮度を高められます(例:現在の天気、話題のトピック)。ユーザーのプロンプトに時事性のある内容が含まれる場合にのみ説明してください。 | 任意 |
情報収集の厳守ルール:
- 不足しているパラメーターはすべて、1回のメッセージで尋ねてください。 質問を複数回に分けてはいけません。
- 同じ質問を2回してはいけません。 ユーザーがすでに回答したパラメーターは確定済みです。再度尋ねないでください。
- あらかじめデフォルト値を提示し、「デフォルトでよい」と回答できるようにしてください:
5s / 720p / audio on / 16:9。ユーザーが「デフォルト」または「そのまま進めて」と言った場合は、すぐにこれらの値を使用してください。 - ユーザーがすべての情報を一度に提供した場合 → 確認して、追加質問をせずにすぐ生成します。
- ユーザーが一部の情報を提供した場合 → 残りの必須項目だけを、まとめて一度に尋ねます。
- ユーザーが画像/動画/音声を提供した場合は、適切なモードを自動判定してください。モードを明示的に尋ねる必要はありません。
- 長さ、解像度、音声には妥当なデフォルト値があります。ユーザーが指定しなかった場合は、デフォルト値を使用して進めてください。
Step 4: 生成する
必要な情報がすべて確認できたら:
- スクリプトを実行する前に、ユーザーにすぐ次のメッセージを送信します:「了解しました!動画の生成を開始します。通常1~3分かかります。生成中も進捗をお知らせします 🎬」
- 生成スクリプトは1回だけ実行します。ユーザーから明示的に再試行を求められない限り、2回目を実行してはいけません。
- スクリプトの実行中は、進捗を積極的にユーザーに伝えます。
TASK_SUBMITTED:が表示されたら → 「✅ タスクを送信しました!生成を開始しました。」と送信します。STATUS_UPDATE:の各行が表示されたら → すぐに自然なメッセージとしてユーザーに送信します。例:「まだ生成中です……残り約45秒です。もう少しお待ちください!」最後まで保留してはいけません。ユーザーを30秒以上、状況を知らせずに待たせてはいけません。- 行単位でストリーミングできない場合は、約30秒ごとに安心できるメッセージを送信します:「引き続き処理中です。もうすぐ完了します……」
- 完了したら、動画URL(24時間有効)と生成にかかった時間を共有します。
スクリプトの使用方法
# Set API key
export EVOLINK_API_KEY=your_key_here
# Text-to-video (basic)
./scripts/seedance-gen.sh "A serene sunset over ocean waves" --duration 5 --quality 720p
# Text-to-video with web search (time-sensitive content)
./scripts/seedance-gen.sh "Today's weather in Tokyo with animated forecast" --duration 8 --quality 720p --web-search
# Image-to-video: 1 image (animate from first frame)
./scripts/seedance-gen.sh "The camera slowly zooms in, the scene comes to life" --image "https://example.com/scene.jpg" --duration 6 --quality 720p
# Image-to-video: 2 images (first + last frame interpolation)
./scripts/seedance-gen.sh "A smooth transition between day and night" --image "https://example.com/day.jpg,https://example.com/night.jpg" --duration 8 --quality 720p
# Reference-to-video: edit a video clip
./scripts/seedance-gen.sh "Replace the item in the box with the product from image 1" --image "https://example.com/product.jpg" --video "https://example.com/original.mp4" --duration 5 --quality 720p
# Reference-to-video: extend/remix with audio
./scripts/seedance-gen.sh "Continue the scene with this background music" --video "https://example.com/clip.mp4" --audio "https://example.com/bgm.mp3" --duration 10 --quality 720p
# Adaptive aspect ratio (model chooses best fit)
./scripts/seedance-gen.sh "A tall waterfall in a narrow canyon" --aspect-ratio adaptive --duration 5 --quality 720p
# Without audio
./scripts/seedance-gen.sh "Abstract art animation" --duration 6 --quality 720p --no-audio
# Force specific mode
./scripts/seedance-gen.sh "Remix these elements" --mode reference --image "url1" --video "url2" --duration 8 --quality 720p
スクリプトの出力プロトコル
スクリプトは stdout に構造化された行を書き込みます。これを解析して対応してください。
| 行の形式 | タイミング | 対応 |
|---|---|---|
TASK_SUBMITTED: task_id=<id> estimated=<Ns> | 送信直後 | 生成が開始されたことをユーザーに伝えます。 これは API 呼び出しが成功したことを意味します。再試行しないでください。 |
STATUS_UPDATE: <message> | 生成中、約30秒ごと | ユーザーに状況を伝えます。例:「動画を作成中です。完了まであと約45秒です……」 |
VIDEO_URL=<url> | 成功時 | URL を抽出し、動画をユーザーに提示します |
ELAPSED=<Ns> | 成功時 | 所要時間を伝えてもかまいません |
POLL_TIMEOUT: task_id=<id> | ポーリングが10分を超えた場合 | ユーザーに次のように伝えます。「動画はすでに完成している可能性があります。https://evolink.ai/dashboard を確認してください(タスク:<id>)」 |
WARNING: ... | タイムアウト時(10分超) | 生成がまだ続いている可能性を伝え、しばらくしてから再確認するよう提案します |
ERROR: ...(stderr) | 失敗時 | エラーメッセージをユーザーに伝えます |
重要:TASK_SUBMITTED: を確認したら、タスクはサーバーに送信されています。スクリプトを再実行しないでください。 再試行すると、ユーザーの API クレジットが無駄になります。スクリプトがローカルでタイムアウトしても動画の生成は完了する場合があります。ユーザーには https://evolink.ai/dashboard で確認するよう伝えてください。
エラー処理
親しみやすく、次の行動がわかるメッセージを提示してください。
| エラー | ユーザーへの案内 |
|---|---|
| 無効または未設定のキー(401) | 「API キーが機能していないようです。https://evolink.ai/dashboard?utm_source=github&utm_medium=readme&utm_campaign=awesome-openclaw-skills で確認できます」 |
| 残高不足(402) | 「アカウントの残高が不足しています。https://evolink.ai/dashboard?utm_source=github&utm_medium=readme&utm_campaign=awesome-openclaw-skills でクレジットを追加できます」 |
| レート制限(429) | 「リクエストが多すぎます。少し待ってから、もう一度試しましょう」 |
| コンテンツがブロックされた(400) | 「このプロンプトはフラグが付けられました(人間のリアルな顔は制限されています)。説明を調整してみてください」 |
| 動画ファイルが大きすぎる(400) | 「動画ファイルのいずれかが大きすぎます。各動画は50MB以下、動画の合計時間は15秒以下にしてください」 |
| 画像ファイルが大きすぎる(400) | 「画像のいずれかが大きすぎます。各画像は30MB以下にしてください」 |
| サービスを利用できない(503) | 「サービスが一時的に混み合っています。1分ほど待ってから、もう一度試しましょう」 |
モデル機能の概要
ユーザーからモデルでできることを尋ねられた場合は、次の情報を使用してください。
- テキストから動画を生成(
seedance-2.0-text-to-video):シーンを説明すると、動画が生成されます。時事的なコンテンツには、ウェブ検索を任意で利用できます。 - 画像から動画を生成(
seedance-2.0-image-to-video):画像が1枚の場合は最初のフレームからアニメーションを生成します。画像が2枚の場合は、最初と最後のフレームを補間します。 - 参照素材から動画を生成(
seedance-2.0-reference-to-video):マルチモーダルです。画像(0~9枚)、動画クリップ(0~3本)、音声(0~3個)とテキストプロンプトを組み合わせて、動画を作成、編集、または延長できます。プロンプトでは、自然言語を使って番号で入力素材を参照してください。 - 音声生成:同期した音声、効果音、BGM を自動生成します(デフォルトで有効)。
- 長さ:4~15秒
- 解像度:480p、720p
- アスペクト比:16:9、9:16、1:1、4:3、3:4、21:9、適応
- 制限:人間のリアルな顔は制限されています
参考資料
references/api-params.md:3つのモデルすべてを対象とした API パラメーターの完全なリファレンスscripts/seedance-gen.sh:モデルの自動選択、ポーリング、エラー処理に対応した生成スクリプト