higgsfield-product-photoshoot Β· v0.3.0 Β· 2026-08-16 Β· sha256 3eb25475031b4871
higgsfield-product-photoshoot v0.3.0B
Immutable. This exact content is served forever at /api/v1/blob/3eb25475031b4871.
---
name: higgsfield-product-photoshoot
version: 0.3.0
description: |
Use when the user wants professional brand-quality product images via Higgsfield's
mode-specific prompt enhancement pipeline. Entry point for any product visual
with a specific format or platform target.
Use whenever: "product photoshoot", "lifestyle product shots", "Pinterest pin",
"hero banner", "ad pack", "virtual try-on", "studio shot", "carousel images",
"Meta ads creative", "model wearing product", "levitating product", "splash shot",
"CGI style product", "restyle product image", Shopify image, brand campaign visual.
10 modes: product_shot, lifestyle_scene, closeup_product_with_person, moodboard_pin,
hero_banner, social_carousel, ad_creative_pack, virtual_model_tryout,
conceptual_product, restyle.
Backend assembles the prompt β never call gpt_image_2 directly for product shots.
NOT for: one-off images without a product (use image-gen), branded video with
avatars (use higgsfield-generate), Soul training (use higgsfield-soul-id).
Requires Higgsfield CLI and authed account.
argument-hint: "[--mode <mode>] [--count N] [prompt]"
allowed-tools:
- Bash
- Read
- Write
- Edit
- Skill
reads:
- brand/voice-profile.md
- brand/creative-kit.md
writes: []
author: Higgsfield AI (ported by moiz)
license: MIT
user-invocable: true
metadata:
openclaw:
emoji: πΈ
---
# /higgsfield-product-photoshoot β Brand Product Image Generation
Brand-image generation via the `higgsfield product-photoshoot create` command. The CLI calls a backend prompt enhancer that holds mode-specific photography vocabulary and structural templates, then submits to `gpt_image_2` and returns image URLs.
## When to use
- Any product visual with a specific output format: studio shot, Pinterest pin, hero banner, ad pack, carousel, model try-on
- User has a product photo and wants it adapted to a specific marketing context
- "make ads for my product", "make a hero banner", "create carousel images"
- "virtual try-on", "model wearing my jacket", "levitating product shot"
- Paid social creative packs (Meta, TikTok, Pinterest, Google Ads)
**Route elsewhere if:**
- No product, no brand context, just a generic image prompt β `image-gen` (Gemini, free, faster)
- User needs a branded video ad with an avatar β `higgsfield-generate` (Marketing Studio)
- User wants to train a reusable face identity β `higgsfield-soul-id`
- User needs general-purpose AI image/video generation β `higgsfield-generate`
## On Activation
1. Read `brand/voice-profile.md` and `brand/creative-kit.md` if present. Use brand colors, aesthetic language (`creative-kit.md` > `## Visual Brand Style`, written by `/visual-style`), and platform preferences to inform mode selection and interview answers.
2. Check CLI: `higgsfield account status`. If not on `$PATH`, surface install command. If session expired, prompt auth.
3. Run the pre-generation interview (see below) β at most 4 questions before submitting.
## Optional dependency β Higgsfield account
This skill requires the `@higgsfield/cli` binary and a Higgsfield account.
**Without the CLI installed**, return a clear actionable error:
```
higgsfield CLI not found. Install with:
curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh
Then authenticate:
higgsfield auth login
```
**Without an authed Higgsfield account**, the CLI itself surfaces the auth prompt β no special handling needed in the skill.
**Fallback for image generation only:** if the user just needs a one-off image and doesn't have a Higgsfield account, route them to `image-gen` (Gemini, model `gemini-3.1-flash-image-preview`, free tier). The product-photoshoot mode enhancer and all product-specific modes require Higgsfield.
## Step 0 β Bootstrap
Before any other command:
1. If `higgsfield` is not on `$PATH`, install it:
```bash
curl -fsSL https://raw.githubusercontent.com/higgsfield-ai/cli/main/install.sh | sh
```
2. If `higgsfield account status` fails with `Session expired` / `Not authenticated`, ask the user to run `higgsfield auth login` (interactive) and wait for confirmation.
## UX Rules
1. Be concise. Print only image URLs in the final reply.
2. Detect language, respond in it. Mode names and CLI flags stay English.
3. Ask at most 4 short questions before submitting. Use labeled options, never open-ended.
4. Skip questions whose answer is obvious from context (uploaded image, prior turn, brand memory).
5. Never write the gpt_image_2 prompt yourself β backend assembles it.
6. Polling is silent. Wait until URLs are ready, then deliver.
## Modes
| Mode | When user wants⦠|
|---|---|
| `product_shot` | Product on neutral / studio / catalog background |
| `lifestyle_scene` | Product in real-world environment, hands, action, atmosphere |
| `closeup_product_with_person` | Tight crop with hands / partial face β beauty application, holding, demonstrating |
| `moodboard_pin` | Vertical 2:3 Pinterest-native aesthetic, moodboard feel |
| `hero_banner` | Wide-format website / email / campaign header |
| `social_carousel` | 3β10 connected slides for IG / LinkedIn / Facebook |
| `ad_creative_pack` | Coordinated pack of static ad variants for Meta / TikTok / Pinterest / Google Ads |
| `virtual_model_tryout` | Product worn or used by an AI-rendered model |
| `conceptual_product` | Surreal / CGI-style / levitating / splash / sculptural product |
| `restyle` | Transform an existing image's aesthetic, mood, or seasonal context |
## Mode selection
Pick by intent, not surface keyword. When two modes could apply, prefer the more specific one.
- product + neutral / clean / white / studio / catalog / Shopify β `product_shot`
- product + scene / in use / kitchen / outdoor / cafe / gym β `lifestyle_scene`
- hands holding / face with product / beauty application / demonstrating β `closeup_product_with_person`
- Pinterest, pin, vertical pin β `moodboard_pin`
- hero, banner, website header, landing page, email header, wide format β `hero_banner`
- carousel, slide post, multi-slide, swipeable β `social_carousel`
- ads, ad pack, paid social, Meta / TikTok / Pinterest ads β `ad_creative_pack`
- model wearing, virtual try-on, on body, fashion shoot, lookbook β `virtual_model_tryout`
- levitating, floating, splash, frozen motion, surreal, CGI, sculptural β `conceptual_product`
- modify EXISTING image's aesthetic, mood, season β without changing subject β `restyle`
Tie-breakers:
- "Pinterest pin of my product on a kitchen counter" β `moodboard_pin` (Pinterest is the platform)
- "Hero banner showing my product in use" β `hero_banner` (banner format wins)
- "Carousel of my product in different scenes" β `social_carousel` (multi-slide wins)
- "Closeup of person applying my serum" β `closeup_product_with_person` (specific genre wins)
## Pre-generation interview
Ask 3β4 short questions before submitting. Always labeled options, never open-ended. Skip a question whose answer is obvious from context.
### Type A β uploaded a product photo, "make me images / photoshoots"
1. How many? `[1 / 3 / 5]`
2. What style/mood? `[Clean studio / Lifestyle / Conceptual / With a model / Other]`
3. Where will you use them? `[Shopify / Instagram / Pinterest / Paid ads / Website hero]`
4. Brand colors to match? (skip if obvious)
### Type B β uploaded a product photo, named a use case
E.g. "make ads for my product", "make a Pinterest pin", "make a hero banner". Mode is obvious. Ask only the gaps:
1. How many? (if multi-output mode)
2. What's the offer / mood / hook?
3. Anything in particular to emphasize?
### Type C β text only, no product photo
1. Can you upload a product photo? (preferred β much higher fidelity)
2. If not, describe the product β category, packaging, color, distinctive features.
3. What style? (same options as Type A)
4. Where will you use it?
### Type D β uploaded existing image, "redo / change vibe / different version"
β `restyle`
1. What aesthetic? `[Clean girl / Cottagecore / Quiet luxury / Dark academia / Y2K / Other]`
2. Seasonal context? `[Christmas / Valentine's / Halloween / Black Friday / None]`
3. What to preserve, what to change? (only if ambiguous)
### Type E β model wearing a product (fashion, accessories)
β `virtual_model_tryout`
1. Model archetype? (suggest 2β3 based on brand audience)
2. Environment? `[Studio clean / Outdoor natural / Street style / Editorial / Home cozy]`
3. Framing? `[Full body / Three-quarter / Waist up / Closeup on product area]`
### Type F β vague request, unclear subject
E.g. "make me something cool for my brand".
1. What product or topic?
2. Goal? `[Sell on a marketplace / Build awareness / Run paid ads / Update website]`
3. Upload a reference image?
After answers β return to the relevant Type AβE.
## Generation
Single command. Backend assembles the final prompt and submits to `gpt_image_2`. URLs print on stdout.
```bash
higgsfield product-photoshoot create \
--mode <mode> \
--prompt "<short user-intent description from interview answers>" \
[--image <path-or-upload-id>]... \
[--count <1-10>] \
[--aspect_ratio <override>]
```
Examples:
```bash
higgsfield product-photoshoot create \
--mode lifestyle_scene \
--prompt "bottle of cold-brew on a sunlit kitchen counter, IG feed" \
--image bottle.jpg \
--count 3
```
```bash
higgsfield product-photoshoot create \
--mode moodboard_pin \
--prompt "vertical pin for my candle brand, cottagecore mood" \
--image candle.jpg
```
```bash
higgsfield product-photoshoot create \
--mode restyle \
--prompt "Christmas version, quiet-luxury aesthetic" \
--image existing-shot.jpg
```
## Image inputs
`--image` accepts a local file path (auto-uploaded) OR an existing upload UUID. Repeat the flag for multiple references.
## Multi-variant
`--count 3` returns 3 distinct image URLs. Backend asks the enhancer to vary preset, lighting, angle, and palette across variants β they will not be paraphrased copies of one another.
For `social_carousel` and `ad_creative_pack`, count = number of slides / variants in the pack. Backend locks the visual system across all slides automatically.
## Aspect ratio
Backend picks a sensible default per mode. Override with `--aspect_ratio` only if the user explicitly asks for a different one. Allowed values: `1:1`, `4:5`, `5:4`, `3:4`, `4:3`, `2:3`, `3:2`, `9:16`, `16:9`.
## Resolution
Use `2k` for every product-photoshoot job.
## Delivering results
Print the image URLs as a short bulleted list. No JSON, no IDs, no internal model names, no enhanced prompt text. If a job failed, mention it briefly with the failure status.
```
3 lifestyle shots ready:
- https://cdn.higgsfield.ai/.../job_abc.jpg
- https://cdn.higgsfield.ai/.../job_def.jpg
- https://cdn.higgsfield.ai/.../job_ghi.jpg
```
## Anti-Patterns
| Anti-pattern | Why it fails | Instead |
|---|---|---|
| Calling `higgsfield generate create gpt_image_2 --prompt ...` directly | Bypasses the mode-specific prompt enhancer. Output quality for product shots is noticeably lower β wrong vocabulary, wrong structural guidance. | Always use `higgsfield product-photoshoot create` with a mode. The enhancer is the point of this skill. |
| Asking more than 4 interview questions in a single message | Users stall. The interview is a funnel, not a form. | Max 4 short labeled-option questions per turn. Skip anything that's obvious from context or brand memory. |
| Picking the wrong mode | `product_shot` for a Pinterest pin crops wrong, picks wrong aspect ratio. | Mode selection drives the enhancer's vocabulary. Use the tie-breaker rules in the Mode Selection section. |
| Pasting the assembled prompt back to the user | They don't want the enhancer's output; they want the image URLs. | Deliver only URLs. |
| Using a `--mode` value not in the table | The CLI rejects unknown mode strings. | Stay within the 10 documented modes. |
| Routing here for a generic one-off image with no product | Overkill. Slower. Higgsfield account required. | Use `image-gen` (Gemini, free tier) for generic images without a product or brand mode. |
## Attribution
Ported from [higgsfield-ai/skills](https://github.com/higgsfield-ai/skills) β MIT License, Copyright (c) 2026 Higgsfield AI. Adapted for mktg's drop-in contract on 2026-05-05.
Upstream version: 0.3.0
Upstream commit: 1dcfe2687c3a9092232bac55c2b6b9ae3fc717d7
Drift detection: if the upstream skill changes, re-run `mktg-steal https://github.com/higgsfield-ai/skills` to evaluate the diff.