a set08 / 14
Product shoot
One product, several angles, one budget — with the object identical in every frame.
apipod-product-shootSKILL.md on GitHub
When to use it, and when not to
when to use it
- The user supplies a product photo or a description and wants marketing shots that obviously show the same object.
- A listing or campaign needs hero, detail, lifestyle and scale shots.
- The product must survive the set: same material, same cap, same logo placement.
not for
- apipod-generate-image — A single picture with no continuity to keep.
- apipod-ad-variations — The base image is already approved and the goal is testing hooks or crops.
procedure
6 skillsWhat the skill does, in order.
- 01
Write a continuity spec before any prompt
What it is, material, colour, and the distinguishing details — logo placement, cap shape, seam. One short paragraph. This becomes the anchor restated in every shot; a fresh prompt without it will drift.
- 02
Settle the shot list — default to four
Hero (clean studio, 1:1), detail (macro on the material), lifestyle (in use), scale (held or beside a known object). Say which ones you are doing.
- 03
One quote for the set, not four surprises
estimate_cost per shot, then present the total before generating anything. The user is buying a set, so the number they need is the set's.
- 04
Hero first, alone
Get one image the user approves. Everything after this reuses it as image_urls, which is what keeps the object identical.
- 05
Describe only the delta
New angle, new surface, new light — plus the invariant details from the spec. Never two products in one shot, never text or logos the user did not ask for.
- 06
Approve shot by shot
If shot 2 drifts, fix it before spending on shots 3 and 4. check_job every 3–5 s. State plainly if any shot drifted — do not call a set consistent you cannot verify.
try it
Send it from here
example request
Here's our product photo — use APIPod to build a four-shot set around it: hero, detail, lifestyle and scale, same bottle in every frame.
The buttons open a new chat with this prompt prefilled. If APIPod is not connected yet, the prompt tells your assistant to stop and help you connect first. In Claude Code or a terminal, copy the prompt instead.
Not set up yet? Wiring guides for Claude, ChatGPT, Codex and more →
call trace
estimate_cost (4 shots)
→ $— total, before generating
generate_image (hero · 1:1)
→ img_a1 · waits for approval
generate_image (detail/lifestyle/scale ← image_urls[hero])
→ 3 jobs · prompts state only the delta
check_job (per shot)
→ 4 · completed · $—
Illustrative: the tools this skill runs, in order, for the request on the left. Prices appear the way estimate_cost returns them live — this page itself quotes nothing.
what it will not do
The rules it holds itself to.
01
One quote before generating, one total at delivery. The total comes from the jobs, not from the estimate.
02
One revision per shot, and generating a replacement costs again — ask first.
03
Continuity is a claim about the images you can actually see. If you cannot verify it, say so.