brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
generating-product-photosALWAYS read this skill before generating a product photography — before writing any prompt or calling image_generate. Turns a product photo or URL into commercial photography - packshots, lifestyle and campaign frames, on-model, macro detail, flat lays, seasonal staging, infographics, concepts and floating shots. Reads the real product first and holds it id…
Independent GitHub snapshot · Automated classification · Original documentation governs
Turn a product into commercial imagery via the image_generate tool.
Marketplace listing galleries are out of scope, and a finished advertisement — one built on a headline, an offer, a call to action, or a promotional before/after or comparison — belongs to generating-image-ads, not here. Anything whose subject isn't a product should not be created with this skill.
analyzing-products, and take four things
back: what the product is; how a person physically uses it — sprayed, pumped,
worn, etc.; which parts open or move, and in what order; and the details that have to stay identical wherever it appears.image_analysis and ask it for
everything this shoot needs that the product facts leave out — how the surfaces take light, and
whatever else the frame you end up building will have to describe.Skip this entirely when the brief already makes the shot obvious — a clear subject, a clear use, and nothing load-bearing missing. The interview exists to close real gaps, not to confirm what you were already told.
Otherwise ask once, bundled into a single message, at most four questions. Always leave a free-text way out so the user can answer off-menu. Anything this skill already settles is not a question.
Do ask, when the answer is genuinely missing:
| Ask | When |
|---|---|
| The product — what it is, and whatever else identifies it: packaging, colour, distinguishing features | No image and no URL. Offer to wait for an upload first; a photographed product beats a described one. |
| Brand guidelines, if they have any — the color palette, the art direction they shoot to, anything they never put in frame, the typeface where text is drawn, and the register they want the frame to read at | The brief mentions none and the packaging doesn't imply them. Treat as optional: plenty of brands have none, so take what they give and move on. |
| Who the buyer is | The frame has to speak to a particular buyer — like which features an infographic calls out, whose home a lifestyle scene is set in, who gets cast on-model, etc. |
| How many frames, and where they run | The brief doesn't say, and the destination changes the crop. |
When the user waives questions and the product is already in hand, go straight to generating. Take studio, since that is where an unrouted request lands anyway; take the tool's default ratio. Say in a sentence which settings you took, then keep going. It is a statement, not a checkpoint.
A missing product image is the one thing still worth raising.
| The ask is about… | Mode | Reference |
|---|---|---|
| The product on its own against a clean, controlled background | studio | references/mode-studio.md |
| The product somewhere real, being used or lived with | lifestyle | references/mode-lifestyle.md |
| One polished frame leading a campaign — the product made to look desirable | hero | references/mode-hero.md |
| Worn, held, or applied to skin | on-model | references/mode-on-model.md |
| Texture, material, craft, a tight crop on the thing itself | close-up | references/mode-close-up.md |
| Arranged on a surface, shot from directly above | flat-lay | references/mode-flat-lay.md |
| Tied to a holiday, season or buying moment | seasonal | references/mode-seasonal.md |
| Feature labels, callouts, specs or dimensions drawn onto the image — an informational before-and-after or comparison | infographic | references/mode-infographic.md |
| Breaking the pattern to stop a scroll — unexpected, impossible, or unlike how this product is normally shown | creative | references/mode-creative.md |
| Suspended mid-air, defying gravity | floating | references/mode-floating.md |
Route on what the image is for, not on a matched word.
Where two rows both fit, these win:
You read the mode guide in Step 3, so you know what this shot has to show. Write one description of the product, and reuse it unchanged in every prompt you send.
How much to write depends on whether a photo is going with the call. With a reference attached, the photo carries identity and the description covers only what it cannot: the angle you want, the state the moving parts are in, the action being performed. With no reference, the description is all the model has, so it carries the product in full from the list below.
The mode guide decides how much of this the prompt carries — the whole product for some, a single property for a close crop, one description per item where several share the frame.
Don't transcribe what the label says. Spelling out the printing invites the model to redraw it, and redrawn text comes back warped.
| Model | Use it when | How it wants the prompt written |
|---|---|---|
nano-banana-pro | everything, by default | connected sentences in one narrative paragraph, never a string of keywords |
gpt-image-2 | words or graphics are drawn onto the image, or the layout is a designed one. Not for the product's own printed label — that comes from the reference | short labelled segments on separate lines, not a paragraph |
seedream-5 | another model refused, or keeps failing | a description rather than keywords, leading with whatever matters most |
If the user has explicitly named a model, then use that first.
references/photographic-craft.md before writing. It carries the language for light, shadow,
colour, material and optics; the style anchor to pick before the first sentence; and the two fixed
blocks that close every prompt.references/photographic-craft.md gives them.Call image_generate with a requests list (one object per image):
prompt; model; aspect_ratio; resolution; reference_images.resolution is 1k unless the user asked for a higher tier.reference_images every time. It holds identity; the prompt alone
will not.list_image_models for accepted aspect_ratio values, resolution tiers and per-model
reference_images limits rather than guessing — a wrong enum fails a billed call.Images are polled for you, but a heavy one can come back as {status: "pending", …}. That is a job handle, not a failure. Pass that exact handle to job_status to retrieve the finished image, and if it comes back pending again, call job_status again with the same handle. Never re-run a pending image through image_generate: that abandons the job you are already paying for and starts a second, separately billed one.
Requests generate independently, so build the continuity in:
seedream-5; on a third, say which element is blocked rather than retrying blind.reference_images rejected on count → the error states the limit; drop to it.error: "no_provider_configured" → relay the tool's hint (the user must set their key).Mode guides — read the one you routed to; each ends with a checklist to read your prompt against:
references/mode-studio.md — the background and its brightness, true colour, sharpness, shadow.references/mode-lifestyle.md — place, hour, motivated light, and what keeps the product the subject.references/mode-hero.md — the open side for copy, the graded key, surviving every delivery crop.references/mode-on-model.md — casting, styling condition, hands, where the crop cuts the body.references/mode-close-up.md — the one property, raking light, apparent source size, the scale cue.references/mode-flat-lay.md — camera plane, arrangement register, the open surface.references/mode-seasonal.md — the single carrier, whose palette it is, props that read as included.references/mode-infographic.md — callout copy, anchors, leader lines, the exposing angle.references/mode-creative.md — the concept, the one departure, coloured sources, what is held dark.references/mode-floating.md — the underside, the displaced shadow, the gap that reads as height.Shared craft — read on every job:
references/photographic-craft.md — the two fixed blocks that close every prompt; the style
anchor; light, shadow, colour, material, optics and on-image text; what changes for paid media.