From claude-ads
Generates 5 professional ad photography styles (Studio, Floating, Ingredient, In Use, Lifestyle) from product images or descriptions using banana-claude image generation.
npx claudepluginhub agricidaniel/claude-ads --plugin claude-adsThis skill uses the workspace's default tool permissions.
Transforms a product image or description into professional ad-ready photography
Generates professional product photos using each::sense API for e-commerce, marketing, and catalogs with white backgrounds, lifestyle contexts, and studio lighting.
Generates, edits, and optimizes marketing images like blog heroes, social graphics, product mockups, and banners using AI tools, Figma, Canva, and web optimization techniques.
Fills ad creative prompt templates with brand DNA for products, generating ready-to-use image prompts. Handles single template or all 40, saves to Markdown output.
Share bugs, ideas, or general feedback.
Transforms a product image or description into professional ad-ready photography in 5 distinct visual styles. Each style generates at two sizes: 1:1 (Meta/LinkedIn) and 9:16 (TikTok/Reels/Stories).
| Command | What it does |
|---|---|
/ads photoshoot | Interactive: ask for product + styles |
/ads photoshoot --styles studio floating | Generate only selected styles |
/ads photoshoot --product shoe.jpg | Start with a product image file |
/ads photoshoot --all-platforms | Generate all 5 sizes per style |
Requires banana-claude (v1.4.1+) with nanobanana-mcp configured.
Run /banana setup to configure API key and MCP.
Ask (combine into one message):
"Provide a product image path (e.g. ./product.jpg), a URL, or describe your product"
Check for brand-profile.json in the current directory.
If found, extract for style injection:
colors.primary → inject into backgrounds and accent elementsaesthetic.mood_keywords → inject as atmosphere descriptorstarget_audience → use for Lifestyle and In Use contextimagery.forbidden → exclude from all promptsIf not found, proceed with standard style templates.
Verify banana-claude is installed (run /banana setup to check). If not installed,
display setup instructions and exit.
For each selected style, build the prompt using the template + product description + brand DNA.
Clean, e-commerce style product shot.
Base template:
"[product description], professional product photography, clean white seamless
background, even studio lighting, soft drop shadow, high detail product focus,
ecommerce style, [brand.colors.primary] subtle accent reflections if applicable,
top-down or 3/4 angle, no distractions, catalog quality"
Composition: Centered, slight 3/4 angle or flat lay. Output sizes: 1080×1080, 1080×1920
Dramatic levitation effect.
Base template:
"[product description] floating in mid-air, dramatic floating product shot,
[brand.colors.primary or brand.aesthetic.mood_keywords[0]] gradient background,
atmospheric shadow below product, levitation effect, product defying gravity,
clean modern aesthetic, high contrast, striking visual"
Composition: Product centered vertically, ample space above and below. Output sizes: 1080×1080, 1080×1920
Flat lay with components.
Base template:
"[product description] centered flat lay, surrounded by its key ingredients
or materials artfully arranged, top-down overhead view, clean light background,
natural texture surface, product as hero element, ingredients scattered with
intentional negative space, editorial food photography style"
Composition: Top-down, product in center, ingredients fanning out. Output sizes: 1080×1080 (optimal for this style). Also generate 9:16 vertical for TikTok/Reels/Stories placements.
Authentic usage context.
Base template:
"person's hands using [product description] in natural context, lifestyle
photography, focus on product-hand interaction, shallow depth of field,
warm natural window light, authentic not staged, [brand.target_audience.profession]
implied context, [brand.aesthetic.mood_keywords] atmosphere"
Composition: Hands prominent, product clearly identifiable, background soft-focus. Note: Hands only; no full face (avoids model release complications). Output sizes: 1080×1080, 1080×1920
Aspirational full-context shot.
Base template:
"[product description] in aspirational lifestyle scene, [brand.target_audience.age_range]
demographic implied environment, [brand.target_audience.profession] context,
[brand.aesthetic.mood_keywords] atmosphere, golden hour or clean natural lighting,
editorial photography style, [brand.aesthetic.negative_space] composition,
product clearly visible and prominent"
Composition: Environmental context, product as hero element within the scene. Output sizes: 1080×1080, 1080×1920
For iterative refinement: if initial generation doesn't match brand expectations, adjust the prompt by specifying: lighting direction, color temperature, background texture, or product angle before regenerating.
Domain mode selection per style:
Aspect ratio setup: Use banana MCP set_aspect_ratio before each generation:
For each style x size combination, use /banana generate with the constructed
prompt, selected domain mode, and correct aspect ratio. Save output to
./product-photos/[style]/[product-slug]-[style]-[WxH].png.
Track results. If a generation fails, retry once with a simplified prompt.
Output directory structure:
./product-photos/
studio/
product-studio-1080x1080.png
product-studio-1080x1920.png
floating/
product-floating-1080x1080.png
product-floating-1080x1920.png
ingredient/
product-ingredient-1080x1080.png
product-ingredient-1080x1920.png
in-use/
product-in-use-1080x1080.png
product-in-use-1080x1920.png
lifestyle/
product-lifestyle-1080x1080.png
product-lifestyle-1080x1920.png
Summary:
✓ Product photos generated: [N] images
Studio: ./product-photos/studio/ (2 sizes)
Floating: ./product-photos/floating/ (2 sizes)
Ingredient: ./product-photos/ingredient/ (2 sizes)
In Use: ./product-photos/in-use/ (2 sizes)
Lifestyle: ./product-photos/lifestyle/ (2 sizes)
Cost: see ~/.banana/costs.json for total spend
Best for:
• Meta Feed → Studio (4:5) or Lifestyle (4:5)
• TikTok/Reels → Floating (9:16) or In Use (9:16)
• LinkedIn → Studio (1:1) or Lifestyle (1:1)
• Google PMax → Studio (1:1); crop to 1.91:1 after
Run `/ads generate` to use these in a full campaign.
Before generating, show:
| Style | Best Platforms | Rationale |
|---|---|---|
| Studio | Meta Feed, LinkedIn, Google PMax | Universal, clean, platform-safe |
| Floating | Meta Reels, TikTok, Stories | High visual impact on vertical placements |
| Ingredient | Meta Feed, Pinterest | Works best as square; tells product story |
| In Use | TikTok, Meta Reels, Stories | Authentic, native-feeling content |
| Lifestyle | All platforms | Aspirational, broad audience appeal |
~/.claude/skills/ads/references/image-providers.md: API setup and pricing~/.claude/skills/ads/references/brand-dna-template.md: Brand injection schema~/.claude/skills/ads/references/meta-creative-specs.md: Safe zone for 9:16~/.claude/skills/ads/references/tiktok-creative-specs.md: Safe zone constraints