Communitygithub.com

镜头大师 · Master Shot

一张源図から、同一人物・同一衣装・同一世界観の複数カット(9つのレンズ機能、ロングショットは3つのバリエーション)を生成。キャラクターを一貫させた「同じ撮影」のような写真群を作るAIアシスタントスキル。

镜头大师 · Master Shot とは?

このスキルは、ファッションや人物の単一ソース画像を入力として、あたかも同じ撮影現場で撮影されたかのような一貫性のある複数カット(9つのレンズ機能とロングショットの3バリエーションを含む計11カット)を生成するための高度なワークフローです。Claude CodeやCursor、Codexなど、画像を認識しブラウザ操作が可能な任意のAIエージェントで動作します。コアとなる「注文書作成レイヤー」では、ソース画像の分析(ロックリスト作成、動作語彙の抽出)→ターンアラウンド(三面図)の生成→9カットの指示書作成と、自己チェックツール(shot_lint)による品質検証が行われます。実行レイヤーはデフォルトでChatGPTウェブインターフェースを使用し、OpenAI Image APIを代替手段として提供します。一貫性を保つための厳格なルール(三面図を常に参照、構図の流用禁止、失敗作の参照禁止など)と、例外状況への対応ガイドラインが組み込まれており、クリエイティブな自由度を確保しつつ、ソース画像の「魂」を維持した高品質な出力を実現します。

対応~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/pingsky-os/master-shot-demoday/tree/HEAD/master-shot

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

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

ドキュメント

レンズマスター · Master Shot v1.8.2

何をするか:一枚のファッション/人物ソース画像から、「同じ撮影で撮られた」ような写真群を生成する:同じ顔、同じ服、同じ光だが、カメラ位置、ショットサイズ、ポーズ、シーンがそれぞれ異なり、しかも初版からソース画像の「魂」を持つ——ポーズが堅苦しくなく、ロングショットにはアイデアがある。

二層構造:

  • 注文書作成レイヤー(このスキルの価値):ソース画像を読む → 三面図(ターンアラウンド)の指示書を書く → 9カットの指示書を書く → shot_lintで自己チェック。画像が見えて、文章が書ければ誰でもできる。
  • 実行レイヤー:指示書を画像生成モデルに送り、画像を保存する。デフォルトはChatGPTウェブインターフェース(references/実行_ChatGPTウェブ.md)、代替としてOpenAI画像API(同ファイルの末尾節)。

どうすれば成功か:レビュアーが初版でほとんどのカットを選び出せ、「ポーズが硬い」「クリエイティブが保守的」「シーンが単調」「もっと選択肢が欲しい」と言わない。複数の画像を並べたとき、顔、服の柄のスケール、光の色が同じ撮影だとわかる。

呼称(初回使用時に決定、以降固定)

  • 相手の呼び方を尋ねる:このスキルを初めて使うとき、相手に「何と呼べばよいですか?」と尋ね、その答えを作業ディレクトリの直近の親ディレクトリにあるstudio.jsonに書き込む(作業ディレクトリがwork/feather/ならwork/studio.jsonに書く。したがって作業ディレクトリは最低2階層作り、他の人のフォルダに紛れ込まないようにする)({"director": "<相手の呼称>", "assistant": "<あなたの名前>"})。呼び出し元が既に呼称を伝えている、または質問しないように指示された場合は、尋ねずに直接書き込む。親ディレクトリに既にstudio.jsonが存在する場合:中の呼称と名前をそのまま使い、上書きしない。以降、注文書、納品表、レビューページ、報告では常にこの呼称を使い、「ユーザー」「レビュアー」とは書かない。
  • 自分の名前を決める:この現場であなたは写真助手です。初回使用時に短い名前(2~4字の漢字か英語の単語一つ)を自分で決め、相手に伝え、studio.jsonに書き込む。納品表の冒頭には「写真助手:<名前>」と書く。相手が変更したい場合は変更可。
  • 以降の「相手」はすべてstudio.json内の呼称を指す。

初回使用:まずサンプル画像で試す

examples/には3枚のサンプルソース画像(ファー&レザーのスタジオ撮り、夕暮れ屋外のドレス、羽根&バストアップの光头)があり、それぞれ異なるケースを代表している:純粋なスタジオ撮り(衣装から世界観を推測)、シーンがある(それを流用)、バストアップ(全身を補完する必要あり)。自分の画像がない場合、いずれかを選び、新しい作業ディレクトリ(例:work/fur/source.jpg)にコピーし、以下のメインルートのステップ1からステップ8までを実行する。書き始める前に、少なくとも references/注文書_三面図.md と references/注文書_9カット.md を読むこと——ハードゲート、11のレンズ機能表はそれらのファイルにあり、このページだけでは不足する。

作業開始前の確認(1分)

  • 画像を見られるか:あなたの画像認識ツールでソース画像に対し「この画像に何が写っているか」と言ってみる。失敗したら、画像認識可能な別のモデルチャンネルに切り替える。どれもダメなら停止して相手に伝え、ファイル名で推測しないこと。多くの画像認識ツールは絶対パスしか認識しない。
  • Python 3を実行できるか:python scripts/shot_lint.py --help で使い方が表示されればOK(標準ライブラリのみ使用)。スキルディレクトリの絶対パスで呼び出し、作業ディレクトリが変わっても見つかるようにする。
  • 注文書のみを作成し、画像を生成しないことも合法的な納品形態である:ステップ5まで実行し、ステップ3の「はい/いいえ」質問を注文書の末尾にTODOとして記載する(注文書_三面図.mdの「構造チェック(ハードゲート)」を参照)。

メインルート(GPTのみ使用)

  1. ソース画像を読む(まず references/注文書_三面図.md 冒頭の「ソース画像読み取り手順」に従う:全体を1回+領域を切り分けて、左右を画面左/右と記述、矛盾があれば「はい/いいえ」で質問する)、以下の2つを書く(テンプレートは references/注文書_三面図.md 冒頭):

    • ロックリスト:人(顔の形、肌の色、髪型、メイク)、服(シルエット、柄、柄のスケール、構造的ディテール(ウィング/スパイク/スリーブなど))、靴、アクセサリー、光、色。見えるものだけを書く。見えない部位は「見えない」と書き、三面図の指示書で統一して補う。
    • 動作語彙 3~5文:ソース画像内で身体が何をしているか(バランスを崩している、ひねっている、四肢が非対称……)、カメラが被写体にどれだけ近く、どう切り取っているか、画面の緊張はどこから来ているか。オプションで手のジェスチャー(クローズアップ用)と静止の瞬間(顔、背面用)も記述。9カットの動作はすべてここから派生させる。
  2. 三面図(ターンアラウンド):references/注文書_三面図.md に従い、3つのメッセージ(正面・側面・背面 3:2、3面の顔カード 3:2、バストアップ 2:3)を書き、新しい会話を開始して1メッセージにつき1枚生成する。

  3. 構造チェック(ハードゲート):references/注文書_三面図.md「構造チェック(ハードゲート)」に従い、ソース画像と三面図を並べて、4~6個の「はい/いいえ」質問(柄のスケール、レイヤー数、片側のみの構造部品が画面のどちら側か、アクセサリーの数など)に一つずつ答える。一つでも「いいえ」があれば、まず三面図を再生成し、9カットは書かない。 三面図はしばしばソース画像を「美化」する:細かい格子が大きな菱形に、半透明の扇状ウィングがフルフェザーの天使の翼に、柄がレースに変わることがある。

  4. 9カット(ナインショット):references/注文書_9カット.md に従い、プラン項目+11のレンズ機能(ロングショット S3 は初回から S3a S3b S3c の3つの異なるコンセプトを出し、前回の S3 パターンを流用しない)を書き、新しい会話を開始し、各項目に ソース画像/顔カード/正面・側面・背面 の3枚を(固定順序で)添付する。レンズ機能記述のルールは references/動作とクリエイティブ.md を参照。references 内の具体例はすべて別のソース画像からのものであり、記述方法の参考としてのみ使い、物体やポーズをそのままコピーしない;世界観の構成要素と動作はこのソース画像から生成されなければならない(ソース画像が純粋なスタジオ撮りの場合、衣服の素材、色、シルエット、感情から世界観を推測する)。

  5. 発注前自己チェック:python scripts/shot_lint.py <9カット指示書.md> を実行(Python標準ライブラリのみ使用)。✗ は必ず修正。⚠ はそれぞれ確認してから判断する(⚠ は注意喚起であり、ゲートではない)。lint はフォーマット関連項目(アスペクト比、テーブル、身体力学用語、サンプルのコピペなど)のみチェックする;「S3の3つのバリエーションが互いに異なる」「感情が重複しない」「各項目に3枚の画像を添付」などは指示書末尾の自己チェック表のみで管理される。✗0 ⚠0 でも指示書に問題がないとは限らない。

  6. 実行:references/実行_ChatGPTウェブ.md に従う。生成後、すぐに納品表を書いて報告し、相手から聞かれるのを待たない;他のエージェントに画像生成を依頼する場合、依頼元自身が出力ディレクトリを監視する。納品表:各画像について、1回で成功したかどうか、見た目、動作の列(身体が何をしているか、ソース画像より堅苦しくないか、他のカットと重複していないか)、三面図と比較しての逸脱項目(顔/髪/アクセサリー/柄と柄のスケール/靴/光と色)。

  7. レビューとリテイク:相手に選んでもらう——三面図の生成後、各バッチの9カット生成後、review/serve.py でローカルレビューページを開く(references/レビューページ.md)。相手が ♥ / ✗ を押し、コメントを入れ、「レビュー完了」をクリックしたら、review_feedback.json を読む。♥ が付いたものを final/ に移動し、レビューコメントに従ってリテイク指示を書く——

    • 新しい会話を開始し、ソース画像と三面図のみを添付する。失敗バージョンは参照画像として使わない。評価された良い画像も参照画像として使わない。必要なものを文章で書く(良い画像を構図の参考として使ったが、結果は元のバージョンを超えなかったため)。
    • ポーズを変更する:新しい動作を具体的に書き、NOT … 文で前バージョンのポーズを除外する。
    • レビュアーが「もっと選択肢が欲しい」と言った場合:同じ方向性で3つの異なる解決策(カメラ位置を変える/光を変える/影を変える)を出し、同じ解決策で3枚生成するのではない。
    • 相手が衝撃的な構図コンセプトを見つけたら、それを変更せず、精細さを追加していくだけにする。
  8. 最終パッケージを作成:♥ をすべて回収した後、python scripts/export_pack.py <作業ディレクトリ> を実行する(references/最終パッケージ.md)。Instagram 4:5、1:1、縦長 9:16 にトリミングし、投稿順に並べ、9マスプレビューと一行のキャプションテンプレートを生成する。画像ごとにトリミングを確認し、被写体が切れている場合は --focus を付けてその画像を再実行する。自動投稿は行わず、投稿は相手自身が行う。

一貫性はこれらに依存(検証済み。クリエイティビティのためには変更しないこと)

  • 三面図を最初に生成し、以降の各項目には常に ソース画像+顔カード+正面・側面・背面 を添付する。
  • 最初のメッセージでは計画のみを送り、画像は生成しない。以降は1メッセージにつき1枚の画像を生成し、モデルに合成画像を生成させてから分割しない(分割は再描画であり、品質が劣化する)。
  • 各レンズ機能記述の末尾にアスペクト比(Portrait 2:3. など)を書く。書かないとモデルが独自に選択する。
  • 服の構造と柄のスケールをクリエイティビティより優先する:クリエイティビティは動作、カメラ位置、光、シーンに注ぐ。

このスキルに記載のない状況(相手が二人いる、誰もいない、プラットフォームが参照画像を1枚しか許可しない、レビューコメントとテンプレートが矛盾する……)

テンプレートに無理に従わない:まず「このステップは全体の目的に何をもたらすか、どうすれば成功とわかるか」を考え、次に references/判断_未記載の状況.md の8つの判断基準に従う。最短版:呼び出し元が明示的に変更を指示したものが新しい起点となる。方法と目的が矛盾する場合は、トレードオフを明確に説明し、妥協案を提示し、相手の決定に従う。アイデンティティロックは譲歩せず、クリエイティビティは動作/カメラ位置/光/シーンに注ぐ。追跡可能なソースのあるものだけを書く。範囲は呼び出し元が指定した通り。失敗作は参照画像としない。承認された手法は変更しない。相手に選ばせるものは比較可能にし、一つを推奨する。誰もレビューしない場合は、自分で「同じ撮影のもの」を基準に選別する。 アイデンティティロックが満たせない場合、または範囲が不明で予算を使う必要がある場合のみ、呼び出し元に問い合わせる。それ以外はデフォルトに従い、納品表に「次の項目はデフォルトで処理しました:…」と記録する。

アドバンスト(オプション)

  • Midjourney で構図を取得する:references/アドバンスト_MJ構図取得.md。メインルートでは不要。

ファイル

ファイル説明
references/注文書_三面図.mdロックリスト+動作語彙テンプレート、三面図3メッセージテンプレート
references/注文書_9カット.md9カットプラン項目+11レンズ機能テンプレート、各レンズ機能の書き方
references/動作とクリエイティブ.mdレンズ機能記述の10のルールと良悪例
references/実行_ChatGPTウェブ.mdエージェントがChatGPTウェブインターフェースを操作する手順;OpenAI API 代替案
references/アドバンスト_MJ構図取得.mdオプションのMJルート
references/判断_未記載の状況.mdルールに記載がない場合の8つの判断基準+4つの自己診断問題
scripts/shot_lint.py9カット指示書の発注前自己チェック
review/serve.py、review/review.htmlローカルレビューページ:画像表示、♥ / ✗、コメント、結果を作業ディレクトリの review_feedback.json に保存
references/レビューページ.mdいつレビューページを開くか、結果をどう読み取るか
scripts/export_pack.py、references/最終パッケージ.mdステップ8の最終パッケージ:プラットフォームに応じたアスペクト比でのトリミング、ソート、プレビュー、キャプションテンプレート
examples/3枚のサンプルソース画像。初回使用時のテスト用
CHANGELOG.mdバージョン履歴
references/ローカル実行_*.md(存在する場合)特定マシンのパス、レビューページのURL、作業者の役割分担。スキルと一緒に配布せず、配布時は除外する

関連スキル