Communitygithub.com

master-shot

镜头大师(Master Shot)v1——一张源图 → GPT 角色三视图 → 同一个人、同一身衣服、同一个世界的多张单张照片(九个镜头职能,大景出三解)。本质是分镜,不限时尚。任何能看图、能操作浏览器的 agent 都能用:写单层是核心,执行层默认用 ChatGPT 网页,OpenAI 图像 API 备选。触发词:镜头大师、Master Shot、一图变多图、一张变九镜、源图出分镜、九镜、character turnaround to shots、master-shot。

master-shot 是什么?

master-shot is a Codex agent skill that 镜头大师(Master Shot)v1——一张源图 → GPT 角色三视图 → 同一个人、同一身衣服、同一个世界的多张单张照片(九个镜头职能,大景出三解)。本质是分镜,不限时尚。任何能看图、能操作浏览器的 agent 都能用:写单层是核心,执行层默认用 ChatGPT 网页,OpenAI 图像 API 备选。触发词:镜头大师、Master Shot、一图变多图、一张变九镜、源图出分镜、九镜、character turnaround to shots、master-shot。.

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

镜头大师 · Master Shot v1.8.2

What it does: Given a single fashion / character source image, it produces a set of photos that look like they are from the same photoshoot: the same face, same clothes, same lighting, but with different camera positions, shot sizes, actions, and scenes — and the first version already has the soul of the source image — the poses are not stiff, and wide shots have some creative vision.

Two layers:

  • Writing layer (this skill's value): Reads the source image → writes the turnaround sheet → writes the nine-shot script → runs shot_lint for self-check. Any agent that can see images and write text can do this.
  • Execution layer: Sends the scripts to an image generation model and saves the results. Defaults to ChatGPT web (references/执行_ChatGPT网页.md), with OpenAI image API as a fallback (same file, last section).

How to know it's done right: The reviewer can select most shots from the first version without saying "poses are stiff," "creative is too conservative," "scenes are monotonous," or "give me more options"; when placed together, the face, clothing pattern scale, and light color all look like the same shoot.

Addressing (Decide on first use, use consistently)

  • Ask how they want to be addressed: The first time you use this skill, ask "What should I call you?" and write the answer into studio.json in the immediate parent directory of the working directory (e.g., if the working directory is work/feather/, write to work/studio.json; so create a working directory at least two levels deep to avoid writing into someone else's folder) ({"director": "<their name>", "assistant": "<your name>"}). If the caller has already told you how to address them, or said not to ask questions, don't ask, just write it. If the parent directory already has studio.json: use the names inside, do not overwrite. Use this address in all subsequent scripts, delivery tables, review pages, and reports; do not write "user" or "reviewer."
  • Give yourself a name: You are the photography assistant on this set. The first time you use this skill, give yourself a short name (two to four characters Chinese, or one English word), tell the person, and write it into studio.json; the delivery table starts with "Photography Assistant: ." The person can change it if they like.
  • In the following, "the person" refers to the address in studio.json.

First time use: Try with example images first

examples/ contains three example source images (fur/leather studio shoot, dusk outdoor gown, feather bald close-up), each representing a scenario: pure studio requires inferring a world from the clothes, scenes should be reused when available, half-body close-ups need the full body filled in. If you don't have your own image, pick one, copy it to a new working directory (e.g., work/fur/source.jpg), and proceed from Step 1 to Step 8 of the main path below. Before writing, at least read references/写单_三视图.md and references/写单_九镜.md — the hard gate and the eleven shot function table are in those two files; just reading this page will miss them.

Pre-work check (one minute)

  • Can you see images?: Use your image-viewing tool on the source image and say "What's in this image?" If it fails, switch to another model channel that can see images; if none work, stop and tell the person, do not guess based on the file name. Many image viewers only work with absolute paths.
  • Can you run Python 3?: python scripts/shot_lint.py --help should print usage (uses only the standard library). Use the absolute path to the skill directory to call it, so it doesn't get lost when changing working directories.
  • Only writing scripts, not generating images is also a valid delivery: complete Step 5, and write the yes/no questions from Step 3 as pending items at the end of the script (see "Structure Check (Hard Gate)" in 写单_三视图.md).

Main Path (GPT only)

  1. Read the source image (first, follow the "Reading Procedure" at the start of references/写单_三视图.md: full image once + cropped sections, write left/right of the image, for contradictions ask yes/no questions), write two things (template at the beginning of references/写单_三视图.md):
    • Lockdown list: Person (face shape, skin tone, hairstyle, makeup), clothes (silhouette, pattern, pattern scale, structural designs like wings/spikes/sleeves), shoes, accessories, lighting, color. Only write what is visible; for unseen parts write "not visible," the turnaround sheet will fill them uniformly.
    • Motion vocabulary three to five sentences: What the body is doing in the source image (off-balance, twisted, asymmetrical limbs...), how close the camera is and how it crops, where the visual tension comes from; optionally write hand gestures (for macro shots) and frozen moments (for face/back shots). All nine shot actions derive from these sentences.
  2. Turnaround: Following references/写单_三视图.md, write three messages (front/side/back 3:2, three-pose face card 3:2, close-up 2:3), start a new conversation, one image per message.
  3. Structure Check (Hard Gate): Following the "Structure Check (Hard Gate)" in references/写单_三视图.md, place the source image and the turnaround side by side, answer 4–6 yes/no questions (pattern scale, number of layers, which side of the image a one-sided structural part is on, number of accessories, etc.). If any one is "No," redo the turnaround first, do not write the nine-shot script. The turnaround often "beautifies" the source image: fine plaid becomes large diamond check, translucent fan wings become full-feathered angel wings, patterns become lace.
  4. Nine-Shot Script: Following references/写单_三视图.md, write the plan strip + eleven shot descriptions (for wide shots S3, the first batch already outputs S3a S3b S3c as three different concepts, not reusing the S3 routine from the previous group), start a new conversation, each shot description includes source image / face card / front-side-back (fixed order). The rules for writing shot segments are in references/动作与创意.md. The specific examples in the references come from other source images—they only demonstrate the writing method, do not copy the objects and poses directly; the world building and actions must grow from this source image (if the source is a pure studio shoot, infer the world from the fabric, color, silhouette, and emotion of the clothes).
  5. Pre-delivery self-check: python scripts/shot_lint.py <nine-shot_script.md> (uses only Python standard library). ✗ must be fixed; ⚠ check each one before deciding (⚠ is a reminder, not a gate). lint only checks format (frame size, tables, body mechanics vocabulary, example copy-paste); "S3 three solutions are mutually different", "emotions not repeated", "each shot has three images attached" are only managed by the self-check table at the end of the script. ✗0 ⚠0 does not mean the script is problem-free.
  6. Execution: Following references/执行_ChatGPT网页.md. Write the delivery table immediately after generation and report back, don't wait for the person to ask; when delegating to another agent to generate images, the delegating agent monitors the output directory. Delivery table: each shot's success status, what it looks like, Action column (what the body is doing, whether it's stiffer than the source, whether it repeats any other shot), and deviations from the turnaround (face/hair/accessories/pattern and pattern scale/shoes/lighting/color).
  7. Review and Rework: Let the person choose—after completing the turnaround and after each batch of nine shots, use review/serve.py to open a local review page (references/审片页.md), the person clicks ♥ / ✗, writes comments, clicks "Reply done," you read review_feedback.json; shots with ♥ go into final/, then write a rework script based on the review comments:
    • Start a new conversation, attach only the source image and turnaround; do not use the failed version as a reference, and do not use any liked good shots as a reference either—just describe what you want in text (tried using good shots to borrow composition, but the results didn't surpass the original).
    • Change poses: Write new actions specifically + use NOT … sentences to exclude the previous version's poses.
    • When the reviewer asks for "more options": provide 3 different solutions in the same direction (change camera angle / change lighting / change shadows), not 3 outputs of the same solution.
    • Once you find a composition concept that amazes the person, don't replace it anymore, only add refinement.
  8. Export Package: After collecting all ♥ shots, run python scripts/export_pack.py <working directory> (references/成品包.md): crop to Instagram 4:5, 1:1, vertical 9:16, arrange posting order, generate a nine-grid preview and a one-line caption template. Check each crop—for images with the subject cut off, rerun that image with --focus. Do not auto-post; publishing is done by the person.

Consistency relies on these (verified, don't change for creativity)

  • Turnaround first, then each subsequent shot includes source image + face card + front/side/back;
  • The first message only sends the plan, not images; then one image per message, do not let the model generate a combined layout to later split (splitting is redrawing, which distorts the image);
  • Each shot segment ends with frame size (Portrait 2:3.), otherwise the model will choose its own;
  • Clothing structure and pattern scale take priority over creativity: creativity goes into action, camera position, lighting, and scene.

Situations not covered by this skill (two people, no one, platform only gives one reference slot, review comments conflict with template...)

Don't force the template: first ask "What is the purpose of this step in the whole group, and how do we know it's done right?", then follow the eight rules in references/判断_没写到的情况.md. Shortest version: Explicit changes from the caller are the new source; if practice and purpose conflict, clearly state the cost, give a compromise, follow their decision; identity lock is non-negotiable, creativity goes into action/camera/lighting/scene; only write things that can be traced to a source; scope is what the caller says; don't use failed images as references; don't change already-approved practices; give comparable options and recommend one, if no one reviews, filter based on "same photoshoot" yourself. Only ask the caller when the identity lock cannot be fulfilled, or when the scope is unclear and it would cost credits; for everything else, proceed with the default and note in the delivery table "I assumed this."

Advanced (optional)

  • Midjourney image washing for composition: references/进阶_MJ洗图.md. Not needed for the main path.

Files

FileWhat it is
references/写单_三视图.mdLockdown list + motion vocabulary template, three-view turnaround three-message template
references/写单_九镜.mdNine-shot plan strip + eleven-shot description template, how to write each shot
references/动作与创意.mdTen rules for writing shot segments with positive and negative examples
references/执行_ChatGPT网页.mdAgent steps for operating ChatGPT web; OpenAI API fallback
references/进阶_MJ洗图.mdOptional MJ path
references/判断_没写到的情况.mdEight rules for unscripted situations + four self-test questions
scripts/shot_lint.pyPre-delivery self-check for the nine-shot script
review/serve.py, review/review.htmlLocal review page: view images, ♥ / ✗, comments, results saved to review_feedback.json in the working directory
references/审片页.mdWhen to open the review page, how to read results
scripts/export_pack.py, references/成品包.mdStep 8 export package: crop by platform frame size, sort, preview, caption template
examples/Three example source images for first-time trial
CHANGELOG.mdVersion history
references/本机执行_*.md (if any)Local machine paths, review page addresses, worker division; not distributed with the skill, excluded during distribution

相关技能