byted-seedance-video-generate について
byted-seedance-video-generateは、Doubao Seedanceモデルで動画を生成するスキルです。テキストや参照メディアを使う制作者向けで、フレーム指定、複数形式の参照素材、出力設定に対応します。
主な機能
- 01テキストから動画を生成
- 02最初・最後のフレーム指定
- 03画像・動画・音声の参照
- 04比率・長さ・解像度の設定
- 05Seedance 1.5の音声生成
- 06一括リクエストとタスク照会
活用シーン
- 01プロンプトから短い動画を作成
- 02始点と終点のフレームで遷移動画を生成
- 03参照メディアを使った動画制作
- 04複数の動画生成リクエストを送信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bytedance/ agentkit-samples --skill byted-seedance-video-generateインストール後、Claude Code で/byted-seedance-video-generateを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txtscripts/video_generate.py
詳細
動画生成スキル
このスキルでは、Doubao Seedance 1.0/1.5 モデルを使用して動画を生成します。
トリガー条件
- テキストの説明から動画を生成したい場合
- 画像(最初/最後のフレーム)に基づいて動画を作成したい場合
- 参照素材(画像、動画、音声)を使用して動画を作成したい場合
- 動画生成機能について尋ねられた場合
使用方法
環境変数
このスキルを使用する前に、次の環境変数が設定されていることを確認してください。
ARK_API_KEYまたはMODEL_VIDEO_API_KEYまたはMODEL_AGENT_API_KEY:動画生成サービスの API キーMODEL_VIDEO_API_BASE:API のベース URL(任意、デフォルト値あり)MODEL_VIDEO_NAME:モデル名(任意、デフォルト値あり)
関数シグネチャ
async def video_generate(
params: list,
batch_size: int = 10,
max_wait_seconds: int = 1200,
model_name: str = None,
) -> Dict:
パラメーター
params (list[dict])
動画生成リクエストのリストです。各項目は、次のフィールドを持つ dict です。
各項目で必須:
video_name(str):出力動画ファイルの名前/識別子prompt(str):生成する動画を説明するテキストです。中国語と英語に対応しています。
各項目で任意 — 入力素材:
first_frame(str):最初のフレーム画像の URLlast_frame(str):最後のフレーム画像の URLreference_images(list[str]):スタイルや内容の参考にする画像 URL(1〜4 件)reference_videos(list[str]):参照動画の URL(0〜3 件、mp4/mov、各2〜15秒、合計15秒以下)reference_audios(list[str]):参照音声の URL(0〜3 件、mp3/wav、各2〜15秒、合計15秒以下)
各項目で任意 — 動画出力パラメーター:
ratio(str):アスペクト比。選択肢:"16:9"(デフォルト)、"9:16"、"4:3"、"3:4"、"1:1"、"2:1"、"21:9"、"adaptive"duration(int):動画の長さ(秒)。モデルに応じて2〜12秒resolution(str):動画の解像度。選択肢:"480p"、"720p"、"1080p"frames(int):フレームの合計数。[29, 289] の範囲内で、25 + 4n の形式にする必要がありますcamera_fixed(bool):カメラの動きを固定するかどうか。デフォルト:falseseed(int):再現性のためのランダムシード。範囲:[-1, 2^32-1]watermark(bool):ウォーターマークを追加するかどうか。デフォルト:falsegenerate_audio(bool):音声を生成するかどうか。Seedance 1.5 のみ対応していますtools(list[dict]):ツール設定の例:[{"type": "web_search"}]
入力モード
- テキストから動画を生成:prompt のみを指定し、画像や動画は指定しません
- 最初のフレームを指定:開始画像として first_frame を指定します
- 最初と最後のフレームを指定:遷移動画を作成するため、両方を指定します
- 参照画像:スタイルや内容の参考として reference_images を指定します
- マルチモーダル参照:reference_images、reference_videos、reference_audios を組み合わせます
戻り値
スクリプトの戻り値情報
video_generate.py スクリプトは、次の情報を返します。
{
"status": "success" | "partial_success" | "error",
"success_list": [{"video_name": "video_url"}],
"error_list": ["video_name"],
"error_details": [{"video_name": "...", "error": {...}}],
"pending_list": [{"video_name": "...", "task_id": "cgt-xxx", ...}]
}
スクリプトの戻り値情報に基づき、ユーザーへの最終応答には、動画生成タスクの説明と動画 URL が含まれます。URL から動画をダウンロードしてもかまいませんが、ユーザーが動画を視聴・ダウンロードできるよう、動画 URL も必ず提供してください。
注:URL は、スクリプトの戻り値情報にある success_list の 'url' です。 URL は次の2通りで返す必要があります。
最終戻り値情報
OpenClaw の場合
-
まず、生成した動画を許可されたディレクトリに保存/ダウンロードします:
- 推奨:
~/.openclaw/workspace/
- 推奨:
-
message toolを使用して、次のパラメーターで動画を送信します:{ "action": "send", "message": "Optional text description", "media": "/root/.openclaw/workspace/generated-video.mp4" }- このツールは、ローカルファイルを読み込み、チャンネルサーバーにウェブ URL としてアップロードし、動画メッセージとして送信します
-
送信の成功を確認します:ツールが
{"ok": true}を返すことを確認してください。これにより、動画が正常に送信されたことを確認できます -
message tool ではなく通常のテキストの場合:生成後、次のように動画の一覧を Markdown 形式で表示します。
<video src="https://example.com/video1.mp4" width="640" controls>video-1</video>非常に重要: 動画 URL は
https://で始まる元のオンラインリソースへのリンクである必要があります。ダウンロードしたローカル動画のアドレスは使用しないでください。
通常の場合
次の3種類の情報を返してください。
- ファイル形式、動画ファイルを送信できるほかの方法がある場合は動画ファイル、動画のローカルパス。例: local_path: /root/.openclaw/workspace/skills/video-generate/xxx.mp4
- 生成後、動画の一覧を Markdown 形式で表示します。例:
<video src="https://example.com/video1.mp4" width="640" controls>video-1</video>
<video src="https://example.com/video2.mp4" width="640" controls>video-2</video>
コードの実装
完全な実装については、scripts/video_generate.py を参照してください。
使用例
# Text-to-Video
python scripts/video_generate.py -p "小猫骑着滑板穿过公园" -n cat_park -r 16:9 -d 5 --resolution 720p
# First Frame Guidance
python scripts/video_generate.py -p "小猫跳起来" -n cat_jump -f "https://example.com/cat.png" -r adaptive -d 5
# First + Last Frame Guidance
python scripts/video_generate.py -p "平滑过渡动画" -n transition \
-f "https://example.com/start.png" \
-l "https://example.com/end.png" \
-d 6
# Reference Images (style/content guidance)
python scripts/video_generate.py -p "[图1]戴着眼镜的男生和[图2]柯基小狗坐在草坪上" -n styled \
--ref-images "https://example.com/boy.png" "https://example.com/dog.png" \
-r 16:9 -d 5
# Multimodal Reference (video + audio)
python scripts/video_generate.py -p "将视频中的人物换成[图1]中的男孩" -n multimodal \
--ref-images "https://example.com/boy.png" \
--ref-videos "https://example.com/source.mp4" \
--ref-audios "https://example.com/voice.wav" \
-d 5
# With Audio Generation (Seedance 1.5 only)
python scripts/video_generate.py -p "女孩抱着狐狸,可以听到风声和树叶沙沙声" -n with_audio \
-f "https://example.com/girl_fox.png" \
--generate-audio \
-m doubao-seedance-1-5-pro-251215 \
-d 6 --resolution 1080p
# Query task status
python scripts/video_generate.py -q "cgt-20260222165751-wsnw8"
# Use specific model
python scripts/video_generate.py -p "A futuristic city" -m doubao-seedance-2-5-260628
# No watermark
python scripts/video_generate.py -p "A beautiful landscape" --no-watermark
コマンドラインオプション
| オプション | 短縮形 | 説明 |
|---|---|---|
--prompt | -p | 動画のテキスト説明(必須) |
--name | -n | 動画名の識別子(デフォルト:video) |
--model | -m | モデル名(デフォルト:doubao-seedance-2-5-260628) |
--ratio | -r | アスペクト比(デフォルト:16:9) |
--duration | -d | 動画の長さ(秒)(2~12) |
--resolution | 動画の解像度:480p、720p、1080p | |
--first-frame | -f | 最初のフレームの画像 URL |
--last-frame | -l | 最後のフレームの画像 URL |
--ref-images | 参照画像の URL(スペース区切り、1~4枚) | |
--ref-videos | 参照動画の URL(スペース区切り、0~3本) | |
--ref-audios | 参照音声の URL(スペース区切り、0~3件) | |
--generate-audio | 音声を生成します(Seedance 1.5 のみ) | |
--seed | 再現性を確保するための乱数シード | |
--no-watermark | ウォーターマークを無効にします | |
--timeout | -t | 最大待機時間(秒)(デフォルト:1200) |
--query-task | -q | task_id でタスクのステータスを照会します |
モデルのフォールバック
モデル関連のエラー(ModelNotOpen など)が発生した場合は、次のモデルにダウングレードできます。
doubao-seedance-1-5-pro-251215doubao-seedance-1-0-pro-250528
エラー処理
- スクリプトがエラー「PermissionError: ARK_API_KEY or MODEL_VIDEO_API_KEY or MODEL_AGENT_API_KEY not found in environment variables」を返した場合は、
ARK_API_KEY、MODEL_VIDEO_API_KEY、またはMODEL_AGENT_API_KEY環境変数を設定する必要があることをユーザーに伝えてください。ワークスペース内の環境変数ファイルに書き込んでください。ファイルがすでに存在する場合は、末尾に追記してください。環境変数の形式が正しいことを確認し、環境変数を有効にしたうえで、直前に失敗した動画生成タスクを再試行してください。
注意事項
- プロンプトは簡潔にしてください(推奨:500文字以下)
- 最初と最後のフレームは、選択したアスペクト比に合わせてください
- 参照画像:1~4枚、形式:jpeg/png/webp/bmp/tiff/gif
- 参照動画:0~3本、形式:mp4/mov、合計時間:15秒以下
- 参照音声:0~3件、形式:mp3/wav、合計時間:15秒以下
- マルチモーダルには画像または動画が少なくとも1つ必要です(音声のみはサポートされていません)
- 音声生成は Seedance 1.5 pro のみサポートされています
- ポーリングがタイムアウトした場合は、返された task_id を指定して
--query-taskを使用してください