product-shots-multi-angle skill
Generates 9 consistent multi-angle fashion-editorial portraits from a single reference image, with locked identity (face/skin/eyes), preserved hairstyle structure, faithful outfit/accessories, and a unified photography style across all frames. Use when the user says "multi-angle", "multi-angle shots", "九连拍", "多角度九连拍", "9-angle portraits", "fashion lookbook", "model consistency series", "consistent portraits from one photo", "generate 9 angles of this model", or "e-commerce model multi-angle pack". Part of the product-shots ecosystem for cross-border e-commerce apparel and accessory listings.
Is the product-shots-multi-angle skill safe?
Clean: nothing in its files matched our rules. We read 6 files in the folder on 2026-09-28.
No findings.
Install the product-shots-multi-angle skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/motiful/product-shots.git /tmp/product-shots mkdir -p ~/.claude/skills cp -r /tmp/product-shots/skills/product-shots-multi-angle ~/.claude/skills/product-shots-multi-angle
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Multi-Angle
Persona — You are a fashion editorial director specializing in multi-image model campaigns.
Produces a 9-image fashion-editorial series (the "Model Consistency Series") from a single user-uploaded reference photo. The skill extracts 14 controllable variables from the reference, presents 3 photography-style presets (Retro Analog Flash / Soft Muted Film / Hard Flash Editorial), then renders 9 task-prompt templates (one per image) with strict crop, pose, hairstyle, and style continuity rules so all 9 frames read as a single shoot.
This skill is part of the product-shots ecosystem — designed for cross-border e-commerce apparel, footwear, and accessory listings that need a coherent multi-angle lookbook from a single reference shot.
Engagement Principles
These rules apply across every Section. Read before acting.
- Reference image is mandatory — every image-generation call MUST pass REFERENCE_IMAGE as image input. Pure text descriptions are not allowed; identity consistency cannot be guaranteed without it.
- Analyse before generate — extract all 14 variables from the reference image before filling any prompt. Never guess defaults, never skip extraction.
- Hairstyle structure is non-negotiable — every prompt MUST include {HAIRSTYLE} intact, NO loose hair, NO reinterpretation. A tied / pinned / braided hairstyle in the reference must remain so across all 9 angles.
- Crop boundaries are hard constraints — "framed to mid-thigh" means knees/lower legs/feet are forbidden in frame; "framed to chest" forbids the abdomen; "framed to hip line" forbids thighs. Treat each frame's crop as a verifiable rule, not a hint.
- Style is global — the same {PHOTOGRAPHY_STYLE} block is repeated verbatim in every one of the 9 prompts. No image may look cleaner / more digital / higher-contrast than the others.
- Accessories follow the reference — if the reference has accessories AND the crop reveals them → keep them; if the reference has none → never add them; if the crop excludes them → annotate with where possible or No accessories — frame doesn't reach them.
- Pause for style selection — if the user has not specified a style and has not uploaded a style reference image, present the 3 presets via chips (do not auto-pick a default).
- Batch generate by default — produce all 9 images in a single batch unless the user explicitly asks for stepwise review (avoids inter-call model drift).
- Match the user's language — respond in the language the user writes in. Never switch unprompted.
Execution Procedure
generate_multi_angle_series(user_request) → 9_images
# Step 0 — Pin hard constraints (MUST, before any decision)
load references/hard-constraints.md
→ Reference Image / Analyse-Before-Generate / Hairstyle Intact /
Accessory Fidelity / Crop Boundaries / Style Unity / Override / Batch
keep these in working context for Steps 1-4 — violations break identity / hairstyle /
crop integrity which the validation views (Image 4 back, Image 8 side) cannot recover.
# Step 1 — Reference image gate + constraint pre-check
if user did NOT upload REFERENCE_IMAGE:
abort with: "This skill requires a reference image to guarantee identity consistency.
Please upload a photo and retry."
# NEVER fall back to text-only description.
# Pre-check RULE_001 + RULE_002 setup before extraction proceeds (extracted_vars
# + prompts + outputs are empty at this stage — call gates the workflow entry).
enforce_constraints(extracted_vars={}, prompts=[], outputs=[])
→ see references/hard-constraints.md §Execution Procedure (RULE_001 reference-image
presence; later re-invoked at Step 5 with full payload).
# Step 2 — Extract 14 variables from reference (Vision pass)
extracted_TOC of Module Files
- references/hard-constraints.md — The 8 Rules (RULE_001-008) covering reference image, analysis-first, hairstyle intact, accessory fidelity, crop boundaries, style unity, override handling, batch generation. Loaded at EP Step 0, re-validated at EP Step 5.
- references/variables-and-workflow.md — Section 1 (14 input variables + extraction specs for HAIRSTYLE / OUTFIT / SKIN_TONE) + Section 3 (Workflow) + variable-override re-render logic.
- references/photography-style-presets.md — Section 2: the 3 presets (Retro Analog Flash / Soft Muted Film / Hard Flash Editorial) with verbatim lighting / shadow / film / colour / material specs, plus the style-selection output format (3 preset images + 5 chips).
- references/task-prompts.md — Section 4.1-4.5: Image 1 Three-Quarter Fashion Portrait through Image 5 Extreme Facial Close-Up. Each prompt template uses {VARIABLE} placeholders.
- references/task-prompts-6-9.md — Section 4.6-4.9: Image 6 Over-Right-Shoulder Glance through Image 9 Opposing Torso Twist. Split from task-prompts.md to keep both files under the 300-line cap.
Section Index
1. Variables → references/variables-and-workflow.md §Variables
14 variables: REFERENCE_IMAGE, HAIR_COLOR, HAIRSTYLE, HAIR_ACCESSORIES,
SKIN_TONE, EYE_COLOR, FACE_SHAPE, OUTFIT, BAG, JEWELRY, OTHER_ACCESSORIES,
BACKGROUND_COLOR, PHOTOGRAPHY_STYLE, ASPECT_RATIO
2. Photography Style Presets → references/photography-style-presets.md
2.1 Preset A — Retro Analog Flash
2.2 Preset B — Soft Muted Film
2.3 Preset C — Hard Flash Editorial
3. Workflow → references/variables-and-workflow.md §Workflow
4. Task Prompts → references/task-prompts.md (images 1-5)
+ references/task-prompts-6-9.md (images 6-9)
4.1 Image 1 — Three-Quarter Fashion Portrait → task-prompts.md
4.2 Image 2 — High-Angle Bird's-Eye View → task-prompts.md
4.3 Image 3 — Over-the-Shoulder Close-Up → task-prompts.md
4.4 Image 4 — Back View with Hairstyle Visible → task-prompts.md
4.5 Image 5 — Extreme Facial Close-Up Cross-Skill Notes
- This skill is invoked only when the user explicitly requests multi-angle / 9-angle / model-consistency portraits, typically for apparel, footwear, or accessory listings. Routed from product-shots when asset_type ∈ {multi-angle, lookbook, model-series}.
- REFERENCE_IMAGE-anchored identity locking is a pattern shared conceptually with product-shots-main-image and product-shots-detail-page (which anchor on the main product image instead of a model reference), but the three skills do not call each other.
- Photography-style preset images (3 hard-coded CDN URLs) are owned by this skill.
- Image generation is delegated to product-shots-image-gen (the product-shots image-gen engine) — this skill produces prompts and reference_image inputs; product-shots-image-gen calls the actual API.
Tooling
The skill emits prompts + reference image binding. Actual image generation is invoked through product-shots-image-gen (the product-shots image-gen engine), or by any image-to-image–capable tool the host platform exposes. Vision-based variable extraction (Step 2) is invoked by the parent agent (Planner) using the rules and prompt templates produced here. The 9-image batch is rendered by passing REFERENCE_IMAGE as the reference input to the image-generation model and the filled task templates as text prompts.
More skills from motiful/product-shots
- Aproduct-shotsFront-door router for the product-shots ecosystem. Clarifies underspecified visual creation requests through a 4-stage state machine, injects platform visual DNA (Amazon + 7 social platforms) and industry visual DNA (7 industries), enforces a unified Negative Constraints prompt patch, then routes to one of five downstream business skills (product-shots-main-image / product-shots-detail-page / product-shots-multi-angle / product-shots-ad-creative / product-shots-social-post). Use when the user says "I need a product image", "design something for my listing", "I need content for Instagram", "make an ad for me", "make a cover image", "create a post", "做一个商品图", "帮我做个详情页", "帮我做个广告图", "做一个社媒图", "做一张图", "帮我设计", "做个封面" — i.e. any underspecified visual creation request that needs clarification before generation. This is the intent-routing hub of the product-shots ecosystem.
- Aproduct-shots-ad-creativeDesigns high-performing ad creatives across Instagram, Facebook, TikTok, LinkedIn, Google (Display / Demand Gen), YouTube, Pinterest, and X/Twitter — locking platform dimensions, safe zones, text overlay policy, character limits, industry visual DNA, ad objective hierarchy, composition patterns, CTA strategy, and prompt sanitation. Use when the user says "create an ad", "design an ad creative", "make an ad", "广告创意", "帮我做个广告图", "Instagram ad", "TikTok ad", "Facebook ad", "Google Display ad", "LinkedIn ad", "YouTube ad", "Pinterest ad", "promotional image", "campaign creative", "ad banner", "投放图", or any platform-specific ad request. Routed from `product-shots` when `asset_type == "ad"` or `is_promotion == True`.
- Aproduct-shots-detail-pageDesigns Amazon A+ Content (formerly Enhanced Brand Content) — the 8 module suite that appears below the standard product carousel for Brand Registered sellers. Covers Hero Banner (21:9 / 2388×1024), Pain Points / Selling Points / Technology / Data / How-to-Use / Variants (3:2 / 1536×1024), and Endorsement (21:9), with mobile safe-area rule, 30pt text floor, and cross-module consistency anchored to the main image URL. Use when the user says "A+ page", "A+ content", "Amazon A+", "Brand Content", "Enhanced Brand Content", "亚马逊详情页", "A+ 详情页", "21:9 banner", "Hero Banner", "Amazon detail page module", or any request for the brand-registered detail-page module suite. For the 1:1 main image and carousel secondary images, see the `product-shots-main-image` skill.
- Aproduct-shots-image-genUnified image-generation engine for the product-shots ecosystem. Dispatches to the right model family (OpenAI gpt-image-2 / Gemini gemini-3-pro-image-preview Nano Banana Pro) with one parameterised script for text-to-image and image-to-image. Primary backend: OmniMaaS / Cloubic gateway (https://api.omnimaas.com/v1); also supports any OpenAI-SDK-compatible gateway via fallback env vars. Auto-resizes oversized reference images to prevent edge-proxy timeouts. Use when the user says "generate an image", "make a picture", "create a visual", "render this", "edit this image", "做一张图", "生成图片", "改这张图" — or when invoked as the image-generation backend by another product-shots skill (main-image / detail-page / ad-creative / social-post / multi-angle). NOT a creative-direction skill: takes a prompt + optional reference images, returns a file path.
- Aproduct-shots-main-imageDesigns Amazon-compliant main product images and the 7 secondary image types (Infographic / Multi-angle / Detail Shot / Lifestyle / Variants / What''s in Box / Size Reference) — with platform-mandatory main-image rules, conversion-rate-tuned secondary types per product category, and multi-image consistency anchored to the main image URL. Use when the user says "Amazon main image", "亚马逊主图", "product main image", "white background product image", "Amazon listing image", "亚马逊副图", "secondary images", "product carousel images", or any request for the 1:1 product image suite that lives on the Amazon detail page carousel. For A+ Content / detail-page modules (21:9 Hero Banner and 3:2 module layouts), see the `product-shots-detail-page` skill.
- Aproduct-shots-social-postDesigns social-platform-native visuals (Feed, Story, Reel, Carousel formats) for Instagram, TikTok, Facebook, Pinterest, RedNote, LinkedIn, X/Twitter and other social platforms — with platform-correct dimensions, safe zones, industry visual DNA, engagement hooks, and cross-slide consistency. Use when the user says "social post", "Instagram post", "IG post", "TikTok post", "Facebook post", "Pinterest pin", "social carousel", "feed post", "story post", "make a post", "design a social visual", "社媒帖", "做一个社媒图", or any underspecified social-media visual request. Routed from `product-shots` for the organic-social branch (non-ad).