mcpField
G
generate-video

generate-video

github.com/b-open-ioクリエイティブ・メディア948 回インストール5 週間前に更新
リポジトリ

generate-video について

generate-videoは、Veo 3.1などの対応プロバイダーで短い動画を作るスキルです。プロンプトの調整、スタイル選択、テキストや画像からの生成を案内します。

主な機能

  1. 01テキストからの動画生成と画像アニメーション
  2. 02スタイルライブラリからの選択
  3. 03プロンプト調整ガイド
  4. 04参照画像とフレーム補間
  5. 05解像度・長さ・画角の指定

活用シーン

  1. 01説明文から動画を作成
  2. 02既存画像に動きを付与
  3. 03参照画像で被写体の一貫性を維持
  4. 04スタイル付き開始画像から動画を生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/b-open-io/gemskills --skill generate-video

インストール後、Claude Code で/generate-videoを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.clawnet/
unsigned-skill.json
references/
veo-prompt-guide.md
scripts/
generate.ts

詳細

動画を生成する

ネイティブオーディオ、720p/1080p/4K 解像度、4~8 秒のクリップに対応した Veo 3.1(veo-3.1-generate-preview)を使用して動画を生成します。

使用する場面

ユーザーから次のような依頼があったときに、このスキルを使用します。

  • テキストプロンプトから動画を生成する(テキストから動画)
  • 既存の画像をアニメーション化する(画像から動画)
  • アートスタイルライブラリを使って、スタイルを適用した動画クリップを作成する
  • 開始フレームを自動生成する画像から動画へのパイプラインを構築する

重要:バックグラウンドタスクとして実行する

Veo による動画生成には、11 秒から 6 分かかります。スクリプトは内部でポーリングを処理し、完了するとファイルパスのみを出力します。

会話をブロックしたり、ポーリング出力でコンテキストを肥大化させたりしないよう、必ず生成スクリプトをバックグラウンドタスクとして実行してください。

# CORRECT: background task
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "prompt" --output video.mp4
# Run with run_in_background: true in the Bash tool

バックグラウンドタスクが完了したら、出力の最後の行(ファイルパス)のみを読み取ってください。出力全体は読み取らないでください。標準エラー出力には進行状況を示すドットしか含まれていません。

スタイルの選択

ユーザーがスタイルを指定していない場合は、処理を進める前に複数選択式の質問を提示してください。

アートスタイルをどのように扱いますか?

  1. スタイルを選ぶ - 169 種類のスタイルを見て選ぶ
  2. 選んでもらう - プロンプトに基づいてスタイルを提案する
  3. スタイルなし - 特定のアートスタイルを指定せずに生成する

この選択肢の提示には AskUserQuestion ツールを使用してください。

ユーザーが「スタイルを選ぶ」を選んだ場合は、対話型のスタイル選択ツールを起動してください。

STYLE_JSON=$(bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/browsing-styles/scripts/preview_server.ts --pick --port=3456)

選択したスタイルは、生成コマンドに --style <id> を渡して指定します。

ユーザーがすでにスタイルを指定している場合は、この手順を省略し、--style を直接使用してください。

プロンプトの書き換え

動画を生成する前に、必ずユーザーのプロンプトを書き換えてください。references/veo-prompt-guide.md のガイドに従います。

次の要素を加えてプロンプトを調整してください。

  1. 被写体の詳細 - 具体的な外観、位置、スケール
  2. アクション/動き - 何が、どの速さで、どの方向に動くか
  3. スタイル/美的表現 - 視覚的な表現、カラーパレット
  4. カメラの動き - パン、ドリー、オービット、固定
  5. 構図 - フレーミング、奥行き、フォーカス
  6. 雰囲気/オーディオ - 照明の雰囲気、音の手がかり(Veo はネイティブオーディオを生成します)
書き換え例

ユーザーの入力:「海の波」 書き換え後:「黄金色に輝く時間帯、暗い火山岩に打ち寄せる海の波をドラマチックなスローモーションで描写します。しぶきが暖かな日差しを受け、虹色の霧を生み出します。ローアングルのショットで、カメラがゆっくり前方へドリー移動します。遠くにカモメの鳴き声が聞こえる、低く響く波の音。」

使用方法

bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "prompt" [options]
オプション
  • --input <path> - 開始フレームの画像(画像から動画モード)
  • --ref <path> - 被写体の一貫性を保つための参照画像(最大 3 枚。複数回指定できます)。モデルは自動的に replicate-veo に選択されます。
  • --last-frame <path> - 補間に使用する終了フレーム。モデルは自動的に replicate-veo に選択されます。
  • --style <id> - スタイルライブラリのスタイルを適用します(generate-image と同じ)
  • --aspect <ratio> - 16:9(デフォルト)または 9:16
  • --resolution <res> - 720p(Gemini のデフォルト)、1080p(Replicate のデフォルト)、4k(Gemini API のみ)
  • --duration <sec> - 4、6、8(デフォルト:8)
  • --negative <text> - ネガティブプロンプト(避ける内容)
  • --seed <n> - 再現性を確保するための乱数シード
  • --output <path> - 出力先の .mp4 パス
  • --provider <name> - gemini(Veo)または xai(Grok Imagine)。利用可能なキーに基づいて自動選択する場合は省略してください。--model はレガシーエイリアスです(veo/replicate-veo→gemini、grok→xai)。
  • --oneshot - xAI のみ:デフォルトの自動フレーム生成 → grok-imagine-video-1.5 の画像から動画への方式ではなく、grok-imagine-video(v1)でテキストから動画を直接生成します
  • --no-audio - オーディオ生成を無効にします(Replicate Veo のみ)
  • --auto-image - --style と併用すると、最初にスタイルを適用した開始フレームを自動生成します(Veo)
例
# Text-to-video (Gemini API, default)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "Ocean waves crashing on volcanic rocks at sunset" --output waves.mp4

# Image-to-video (animate an existing image)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "The lion slowly turns its head, dots shimmer" --input lion.png --output lion.mp4

# Subject-consistent video with reference images (auto-selects Replicate Veo)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "Two warriors face off in a wheat field, dramatic standoff" \
  --ref warrior1.png --ref warrior2.png --ref scene.png --output standoff.mp4

# Image-to-video with last frame interpolation (auto-selects Replicate Veo)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "Camera slowly pans across the landscape" \
  --input start.png --last-frame end.png --output pan.mp4

# With art style
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "Mountain landscape comes alive with wind" --style impr --output mountain.mp4

# Full pipeline: auto-generate styled image, then animate
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "A lion turns majestically" --style kusm --auto-image --output lion.mp4

# Vertical video for social
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "Waterfall in lush forest" --aspect 9:16 --resolution 1080p --output waterfall.mp4

# High resolution (Gemini API)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "City skyline timelapse" --resolution 4k --duration 8 --output city.mp4

# xAI Grok Imagine — default path: auto-generate a frame, then animate with grok-imagine-video-1.5
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "neon koi swimming in a dark pond" --provider xai --resolution 720p --output koi.mp4

# xAI one-shot text-to-video (grok-imagine-video v1) — faster/cheaper, lower quality
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "a paper crane rotating" --provider xai --oneshot --output crane.mp4

# xAI image-to-video from your own frame (grok-imagine-video-1.5, up to 1080p)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "the scene comes alive with wind" --provider xai --input frame.png --resolution 1080p --output alive.mp4

参照画像(被写体の一貫性)

--ref を使って1〜3枚の参照画像を渡すと、被写体の一貫性を保った動画生成(R2V)ができます。この場合、Replicate Veo 3.1が自動的に使用されます。

制約:

  • --ref と --input は併用できません(Replicate APIの制限です)
  • 参照画像は16:9のアスペクト比、動画は8秒である必要があります
  • 参照画像を指定すると、最終フレームは無視されます

最適な用途: カメラアングルが変わってもキャラクターの外見を維持する場合や、生成動画で特定の人物や物体を再現する場合に適しています。

アスペクト比の一致(画像から動画への変換では重要)

--input を使用する場合、入力画像は目標の動画のアスペクト比と一致している必要があります。正方形の画像を16:9の動画に入力すると、両端が切り取られた黒い帯が表示されます。

  • 開始フレームは --aspect 16:9(動画のデフォルト)または --aspect 9:16(縦型動画)で生成してください
  • --auto-image フラグを使うと、この処理が自動で行われます

2段階のパイプライン(画像、次に動画)

最大限に制御するには、開始フレームを別途生成してください。アスペクト比は必ず一致させてください。

# Step 1: Generate styled image at 16:9 (matches default video aspect)
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-image/scripts/generate.ts "majestic lion portrait" --style kusm --aspect 16:9 --size 2K --output lion.png

# Step 2: Animate the image
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/generate-video/scripts/generate.ts "The lion turns its head slowly, dots shimmer in the light" --input lion.png --output lion.mp4

コンテキストの適切な管理

  • 生成した .mp4 ファイルをコンテキストに読み戻さないでください — open <file>.mp4 を使って再生するようユーザーに案内してください
  • バックグラウンドタスクとして実行してください — スクリプトはファイルパスのみを標準出力に出力します
  • 自動生成された開始フレーム(--auto-image 経由)は、参照用にPNGファイルとして保存されます

モデルとプロバイダー

--provider でプロバイダーを選択できます。省略した場合は自動選択されます (動画の優先順位は xai > gemini です)。--ref または --last-frame を使用すると、 リクエストは自動的にGemini/Veoにルーティングされます(これらの機能はVeo専用です)。

プロバイダーに合わせてプロンプトを調整してください — プロバイダーが決定した後、該当する ガイドを読みます:providers/prompts/video.gemini.md または providers/prompts/video.xai.md。

gemini — Veo 3.1(GEMINI_API_KEY)
  • Gemini API(デフォルト):veo-3.1-generate-preview。テキストから動画への生成、 画像から動画への生成、720p/1080p/4K、ネイティブ音声、ネガティブプロンプトに対応しています。GEMINI_VIDEO_MODEL で上書きできます。
  • Replicate Veo(高度な機能。REPLICATE_API_TOKEN が必要で、 --ref/--last-frame を指定すると自動選択されます):被写体の一貫性を保つための参照画像(R2V)、 最終フレームの補間、720p/1080pに対応しています。
xai — Grok Imagine Video(XAI_API_KEY)
  • デフォルト(テキストプロンプト):開始フレームを生成し(Geminiが利用可能ならGemini、そうでなければ Grok Imagine imageを使用)、その後 grok-imagine-video-1.5 でアニメーション化します — 最新かつ最高品質のモデルです(画像から動画への変換のみ、最大1080p、ネイティブ音声)。
  • --oneshot:grok-imagine-video(v1)でテキストから動画へ直接生成します — より高速で 低コストですが、品質は低くなります。
  • --input <frame>:独自の開始フレームを使用し、grok-imagine-video-1.5 に直接渡します。
  • 低い利用枠では約1 req/sにレート制限されます(プロバイダーが自動的に再試行します)。
  • クリップごとにコストが報告されます(xAI cost_in_usd_ticks)。

モデルの最新の稼働状況は2026年6月に確認済みです(veo-3.1-generate-preview、grok-imagine-video、grok-imagine-video-1.5)。grok-imagine-video-1.5 は画像から動画への変換専用です — このモデルでテキストから動画への生成を試みると、APIに拒否されます。より新しい世代が存在する場合は、作業を中止し、b-open-io/gemskills へのPRを提案してください。

参照ファイル

動画プロンプトの詳しい作成方法については、以下を参照してください。

  • references/veo-prompt-guide.md - Veoのプロンプト要素、音声の指示、ネガティブプロンプト、画像から動画への変換のヒント
  • ask-geminiスキルの references/gemini-api.md - 現行のGemini/VeoモデルとSDKの情報

コメント