Communitygithub.com

mrvijaykr56/youtubeshorts

YouTube Shorts向け9:16縦型画像を一貫したビジュアルでバッチ生成する特化エージェントスキル。Antigravityのgenerate_imageツールを用いて、キャラクターと世界観の整合性を保ちながらストーリーボードを映画的なプロンプトに変換し、レンダリングパイプラインにアセットを整理します。

youtubeshorts とは?

このスキルは、AIエージェントがAntigravityプラットフォームのネイティブ画像生成機能を用いて、YouTube Shorts向けの一貫性のある9:16縦型画像シーンを生成するための総合的なフレームワークを提供します。特に重要なのは「ビジュアル一貫性フレームワーク」で、キャラクターの特徴や世界観の設定を全シーンにわたって固定するための「キャラクターDNA設計図」「世界観・照明アンカー」「画像パス連鎖」という3つの柱を定義しています。さらに、無駄なトークン消費を防ぐための事前検証とユーザー承認プロセス、重複生成防止のキャッシュチェック、生成後のアセット管理とレンダリングパイプラインへの自動連携、そしてチャンネルブランディング用の資産(コミュニティタブ画像、チャンネルアバター、バナー)の生成までカバーしています。これにより、初心者からプロまで、短時間で高品質なYouTube Shortsのビジュアル制作を実現できます。

対応~Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/mrvijaykr56/youtubeshorts/tree/HEAD/.agents/skills/shorts-image-director

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

YouTube Shorts ビジュアルディレクター&画像生成スキル

このスキルは、Antigravity のネイティブ generate_image 機能を使用して、YouTube Shorts 用の一貫性のある映画的な 9:16 縦型シーンを生成するエージェントをガイドします。


1. ビジュアル一貫性フレームワーク(キャラクター&世界観同期) 👥🌍

ショート動画用に 5 ~ 20 枚の画像を生成する際、スタイルやキャラクターのずれを避けることが重要です。キャラクターの顔、服装、環境がシーン間でランダムに変化すると、動画への没入感が損なわれます。

シーン間同期の3つの柱:

  1. キャラクターDNA設計図:

    • キャラクターが登場するすべてのシーンで、以下の5つの要素からなる正確なキャラクター公式を再現します。 [名前 + 年齢/性別] + [髪型と色] + [顔の特徴] + [正確な衣装と色]
    • 例: 「マヤ、26歳の女性考古学者、乱れた暗いカーリーヘアをポニーテールにまとめ、そばかすがあり、オリーブ色のリネンサファリシャツと真鍮のコンパスネックレスを着用」
    • 「彼女は~のように見える」「その女性は」といった曖昧な表現で代用してはいけません。
  2. 世界観&照明アンカー:

    • すべてのシーンプロンプトの先頭に付加する共通の環境設定を定義します。 [設定] + [主光源と色温度] + [影のスタイル] + [雰囲気]
    • 例: 「地下の古代エジプト砂岩の墓、暖かい琥珀色のたいまつの灯りが深くちらつく影を落とし、浮遊する金色の塵、暗いコバルト色の背景」
  3. 視覚参照連鎖(ImagePaths パラメータ) 🔗:

    • Antigravity の generate_image ツールは、ImagePaths(以前の画像を視覚的条件付け参照として渡すこと)をネイティブサポートしています。
    • ワークフロー:
      1. シーン1を生成します(マスターキャラクターと照明を確定)。
      2. scene_1.jpg を保存します。
      3. シーン2、3、4... では、generate_image に ImagePaths: ["<path_to_scene_1.jpg>"] を渡します。
      4. これにより、シーン1の視覚的な潜在特徴がImagen 3に直接供給され、後続のすべてのシーンで顔の形状、衣服の色、環境のトーンが固定されます!

2. 事前検証とユーザー承認 🛑

重要な要件(トークンの無駄遣いゼロ): generate_image 呼び出しを実行する前に、以下を必ず行うこと:

  1. 事前ストーリーボードバリデータの実行:
    .\backend\venv\Scripts\python.exe backend\scripts\storyboard_validator.py --json "path/to/script.json"
    
    • ブロッキングエラーが0であること(例: 禁止テキストトークンがない、有効な9:16信号がある、60秒のShorts上限内であること)。
  2. 検証済みのストーリーボードとアートスタイルを検証統計情報とともにユーザーに提示します。
  3. 明示的なユーザー承認を求めます:

    「ストーリーボードはすべての事前安全性チェックを通過しました(エラー0件、推定長さ〜X秒)。これらの [N] 枚の9:16画像の生成を続行しますか?それとも、先にシーンやスタイルパラメータを調整しますか?」

  4. ユーザーから明示的な確認が得られるまで、画像を生成してはいけません。

3. Antigravity generate_image による画像生成

ストーリーボードの各シーンについて(ユーザー承認後):

  1. 生成前の重複/キャッシュチェック 🛑:

    • 出力先フォルダ(backend/output/<job_id>/)に scene_{X}.jpg または scene_{X}.png が既に存在し、有効(10 KB超)かどうかを確認します。
    • 既に存在する場合は、ユーザーが明示的にそのシーンの再生成/リロールを要求しない限り、再生成をスキップし、トークンの無駄を防ぎます。
  2. 最終プロンプトの合成(明確なカメラフレーミングの確保):

    [世界観アンカー] + [キャラクターアンカー] + [シーンのアクションと明確なカメラアングル] + [グローバルアートスタイルテンプレート] + [9:16縦型構図]
    
    • 前のシーンと視覚的に同一の静止画が生成されるのを避けるため、カメラショット(例: ワイド vs マクロ vs リアクション)が異なるようにします。
  3. ツールの呼び出し: generate_image を以下のパラメータで呼び出します:

    • AspectRatio: "9:16"
    • ImageName: scene_1, scene_2, scene_3 など(シーンごとに厳密に一意)。
    • Prompt: 合成されたプロンプト。
    • ImagePaths: シーン 2..N では、視覚的条件付けのために ["<path_to_scene_1.jpg>"] を渡します。
  4. バッチ生成: シーンを順次、またはシーンのグループ単位(ショート動画あたり最大20シーン)で生成します。


4. YTShortsパイプラインへのアセット展開

Antigravity によって画像が生成されたら:

  1. Antigravity は生成された画像を会話アーティファクトディレクトリに保存します: C:\Users\<user>\.gemini\antigravity-ide\brain\<conversation-id>\*.png

  2. 画像を YTShorts の出力/ジョブディレクトリにコピーまたはリンクします: d:\WorkSpace\YTShorts\backend\output\<job_id>\ バックエンドに必要な標準的な命名規則:

    • scene_1.png
    • scene_2.png
    • scene_3.png
    • ...
  3. ストーリーボード JSON とペアリング: script.json を同じディレクトリに保存します: d:\WorkSpace\YTShorts\backend\output\<job_id>\script.json


5. 動画レンダリングのトリガー 🚀

画像と script.json が backend/output/<job_id>/ にステージングされたら、スタンドアロンアセンブリツールを実行します:

.\backend\venv\Scripts\python.exe backend\scripts\assemble_short.py --job_dir "backend/output/<job_id>" --voice in_female --caption_style tiktok --music lofi --resolution 1080p --transition dynamic

この単一コマンドは自動的に以下を実行します:

  1. 高品質 TTS ナレーション(Edge-TTS / KittenTTS)を合成。
  2. Whisper を介して、単語レベルの同期された ASS 字幕を生成。
  3. 光学トランジション(xfade)、Ken Burns パン/ズームモーション、オーディオダッキング付きの背景音楽、字幕の焼き込みをすべて一度に行い、最終的な 1080p/4K .mp4 ビデオをレンダリング!

6. チャンネルブランディングとコミュニティアセット生成 🎨📊

9:16 縦型ストーリーシーンに加えて、ビジュアルディレクターは Antigravity のネイティブ generate_image ツールを使用してマーケティングアセットも生成します:

  1. コミュニティタブ画像投票(1:1 スクエア):

    • キャラクターを 1024x1024 のスクエアカードに生成するか、中央クロップします。
    • カードを backend/output/community_poll_assets/ にステージングします(例: poll_1_character.jpg)。
    • 画像投票は、新しいチャンネルでのリーチを標準のテキスト投稿よりも 3~5 倍向上させます。
  2. チャンネルアバター マスコット(1:1 スクエア):

    • 表現力豊かでつややかな目を持ち、輝くストーリーブックを抱えた、中央配置の 1024x1024 3D ピクサー風キャラクターポートレートを生成します。
    • backend/output/channel_branding/channel_avatar_1024x1024.jpg に保存します。
  3. パノラマチャンネルバナー(16:9 ランドスケープ):

    • チャンネルの繰り返し登場する世界の、16:9 パノラマシネマティック風景を生成します。
    • Lanczos フィルタで 2560x1440 にアップスケールします。
    • backend/output/channel_branding/channel_banner_2560x1440.jpg に保存します。
  4. ゼロ外部API義務:

    • 常に Antigravity のネイティブ generate_image ツールを優先します。未検証の無料外部画像 API に決してフォールバックしてはいけません。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル