ads-photoshoot

Product photography enhancement for ad creatives using banana-claude image generation. Takes a product image and generates 5 professional photography styles…

INSTALLATION
npx skills add https://github.com/agricidaniel/claude-ads --skill ads-photoshoot
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Ads Photoshoot: AI Product Photography

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).

Quick Reference

CommandWhat it does
/ads photoshootInteractive: ask for product + styles
/ads photoshoot --styles studio floatingGenerate only selected styles
/ads photoshoot --product shoe.jpgStart with a product image file
/ads photoshoot --all-platformsGenerate all 5 sizes per style

Environment Setup

Requires banana-claude (v1.4.1+) with nanobanana-mcp configured.

Run /banana setup to configure API key and MCP.

Process

Step 1: Collect Product Information

Ask (combine into one message):

  • Product image: Path to product image file (local) OR product URL OR text description

"Provide a product image path (e.g. ./product.jpg), a URL, or describe your product"

  • Product description: What is it? Key features to highlight? (helps prompt quality)
  • Styles to generate: Which of the 5 styles? (default: all 5)
  • Studio, Floating, Ingredient, In Use, Lifestyle
  • Target platforms: Which platforms will these run on?
  • Determines output sizes (default: Meta + TikTok → 1:1 + 9:16)

Step 2: Load Brand Profile (Optional)

Check for brand-profile.json in the current directory.

If found, extract for style injection:

  • colors.primary → inject into backgrounds and accent elements
  • aesthetic.mood_keywords → inject as atmosphere descriptors
  • target_audience → use for Lifestyle and In Use context
  • imagery.forbidden → exclude from all prompts

If not found, proceed with standard style templates.

Step 3: Verify banana-claude

Verify banana-claude is installed (run /banana setup to check). If not installed,

display setup instructions and exit.

Step 4: Construct Prompts per Style

For each selected style, build the prompt using the template + product description + brand DNA.

#### Style 1: Studio

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

#### Style 2: Floating

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

#### Style 3: Ingredient

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.

#### Style 4: In Use

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

#### Style 5: Lifestyle

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

Iterative Refinement

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.

Step 5: Generate Images

Domain mode selection per style:

  • Use banana Product mode for Studio, Floating, and Ingredient styles
  • Use banana Editorial mode for In Use and Lifestyle styles
  • Set resolution to 2K (default) for all generations

Aspect ratio setup: Use banana MCP set_aspect_ratio before each generation:

  • For 1080x1080: set ratio to 1:1
  • For 1080x1920: set ratio to 9:16

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.

Step 6: Organize and Report

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.

Cost Estimate

Before generating, show:

  • Number of styles selected x 2 sizes = total images
  • Estimated cost based on banana pricing tiers
  • If >$0.50, ask for confirmation

Platform Recommendations

StyleBest PlatformsRationale
StudioMeta Feed, LinkedIn, Google PMaxUniversal, clean, platform-safe
FloatingMeta Reels, TikTok, StoriesHigh visual impact on vertical placements
IngredientMeta Feed, PinterestWorks best as square; tells product story
In UseTikTok, Meta Reels, StoriesAuthentic, native-feeling content
LifestyleAll platformsAspirational, broad audience appeal

Reference Files

  • ~/.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
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card