✓ Verified 🛒 E-commerce ✓ Enhanced Data

Ad Ready Pro

Generate professional advertising images from product URLs.

Rating
4.4 (378 reviews)
Downloads
3,788 downloads
Version
1.0.0

Overview

Generate professional advertising images from product URLs.

Complete Documentation

View Source →

Ad-Ready: AI Advertising Image Generator

Generate professional advertising images from product URLs using a 4-phase AI pipeline on ComfyDeploy.

⚠️ CRITICAL: Required Inputs Checklist

Before running ANY ad generation, the agent MUST ensure ALL of these are provided:

InputRequired?How to Get It
--product-url✅ ALWAYSUser provides the product page URL
--product-image✅ ALWAYSDownload from the product page, or user provides
--logo✅ ALWAYSDownload from brand website or search online. MUST be an image file
--reference✅ RECOMMENDEDAn existing ad whose style we want to clone. Search online or use previously generated images
--brand-profile✅ NEVER EMPTYPick from catalog or run brand-analyzer first. NEVER leave as "No Brand" if a brand is known
--prompt-profile✅ ALWAYSChoose based on campaign objective
--aspect-ratioDefault: 4:5Change if needed for platform
--modelOptionalModel/talent face from catalog or user-provided

🚨 NEVER Skip These Steps:

  • Product image — Download the main product photo from the product URL. The scraper is fragile; always provide a product image explicitly.
  • Brand logo — Download the logo from the brand's official website or search for "{brand name} logo" online. Must be a clean logo image (PNG preferred).
  • Brand profile — If the brand doesn't exist in the catalog, run brand-analyzer skill FIRST to generate one. Never submit with "No Brand" when a brand is known.
  • Reference image — Search for an existing ad or visual with a style that matches what we're generating. Can be from previously generated images, the brand's campaigns, or found online. This dramatically improves output quality.

Auto-Preparation Workflow

When the user asks to generate an ad, follow this workflow:

text
1. User provides: product URL + brand name + objective

2. CHECK brand profile exists:
   → ls ~/clawd/ad-ready/configs/Brands/ | grep -i "{brand}"
   → If not found: run brand-analyzer skill first
   
3. DOWNLOAD product image:
   → Visit the product URL in browser or fetch the page
   → Find and download the main product image
   → Save to /tmp/ad-ready-product.jpg

4. DOWNLOAD brand logo:
   → Search "{brand name} logo PNG" or fetch from brand website
   → Download clean logo image
   → Save to /tmp/ad-ready-logo.png

5. FIND reference image:
   → Search for "{brand name} advertisement" or similar
   → Or use a previously generated ad that has the right style
   → Save to /tmp/ad-ready-reference.jpg

6. SELECT prompt profile based on objective:
   → Awareness: brand discovery, first impressions
   → Interest: engagement, curiosity
   → Consideration: comparison, features
   → Evaluation: deep dive, decision support
   → Conversion: purchase intent, CTAs (most common)
   → Retention: re-engagement
   → Loyalty: brand advocates
   → Advocacy: referral, community

7. RUN the generation with ALL inputs filled

Usage

Full command (recommended):

bash
COMFY_DEPLOY_API_KEY="$KEY" uv run ~/.clawdbot/skills/ad-ready/scripts/generate.py \
  --product-url "https://shop.example.com/product" \
  --product-image "/tmp/product-photo.jpg" \
  --logo "/tmp/brand-logo.png" \
  --reference "/tmp/reference-ad.jpg" \
  --model "models-catalog/catalog/images/model_15.jpg" \
  --brand-profile "Nike" \
  --prompt-profile "Master_prompt_05_Conversion" \
  --aspect-ratio "4:5" \
  --output "ad-output.png"

Auto-fetch mode (downloads product image and logo automatically):

bash
COMFY_DEPLOY_API_KEY="$KEY" uv run ~/.clawdbot/skills/ad-ready/scripts/generate.py \
  --product-url "https://shop.example.com/product" \
  --brand-profile "Nike" \
  --prompt-profile "Master_prompt_05_Conversion" \
  --auto-fetch \
  --output "ad-output.png"

The --auto-fetch flag will:

  • Download the main product image from the product URL
  • Search and download the brand logo
  • Both get uploaded to ComfyDeploy automatically

API Details

Endpoint: https://api.comfydeploy.com/api/run/deployment/queue Deployment ID: e37318e6-ef21-4aab-bc90-8fb29624cd15

ComfyDeploy Input Variables

These are the exact variable names the ComfyDeploy deployment expects:

VariableTypeDescription
product_urlstringProduct page URL to scrape
productoimage URLProduct image (uploaded to ComfyDeploy)
modelimage URLModel/talent face reference
referenciaimage URLStyle reference ad image
marcaimage URLBrand logo image
brand_profileenumBrand name from catalog
prompt_profileenumFunnel stage prompt
aspect_ratioenumOutput format

4-Phase Pipeline (How It Works Internally)

Phase 1: Product Scraping

  • Gemini Flash visits the product URL
  • Extracts: title, description, features, price, images
  • ⚠️ Image scraping is the most fragile part — always provide product images manually

Phase 2: Campaign Brief Generation (CRITICAL)

  • Uses Brand Identity JSON + Product Data → 10-point brief
  • Everything downstream depends on brief quality
  • Brief covers: strategic objective, central message, visual tone, product role, photographer, art direction, environment, textures, signature

Phase 3: Blueprint Generation

  • Master Prompt (per funnel stage) + Brief + Product JSON + Keyword Bank + Format
  • Gemini Flash generates complete Blueprint JSON
  • Covers: scene, production, graphic design, lighting, composition, materials, CTA

Phase 4: Image Generation

  • Nano Banana Pro (Imagen 3.0) generates the final image
  • Uses Blueprint JSON + all reference images (product, talent, logo, style ref)

Supporting Reference Nodes

  • pose_ref → enforce a specific pose (replicated exactly)
  • photo_style_ref → replicate photographic style (⚠️ can be too literal, being optimized)
  • location_ref → replicate location and color palette

Brand Profiles

Existing catalog (70+ brands):

bash
ls ~/clawd/ad-ready/configs/Brands/*.json | sed 's/.*\///' | sed 's/\.json//'

Creating new brand profiles:

Use the brand-analyzer skill:
bash
GEMINI_API_KEY="$KEY" uv run ~/.clawdbot/skills/brand-analyzer/scripts/analyze.py \
  --brand "Brand Name" --auto-save

This generates a full Brand Identity JSON and saves it to the catalog automatically.

Prompt Profiles (Funnel Stages)

ProfileStageBest For
Master_prompt_01_AwarenessAwarenessBrand discovery, first impressions
Master_prompt_02_InterestInterestEngagement, curiosity
Master_prompt_03_ConsiderationConsiderationComparison, features
Master_prompt_04_EvaluationEvaluationDeep dive, decision support
Master_prompt_05_ConversionConversionPurchase intent, CTAs
Master_prompt_06_RetentionRetentionRe-engagement, loyalty
Master_prompt_07_LoyaltyLoyaltyBrand advocates
Master_prompt_08_AdvocacyAdvocacyReferral, community
How to choose:
  • Most ads → Conversion (purchase intent)
  • New product launches → Awareness
  • Retargeting → Consideration or Evaluation
  • Existing customers → Retention or Loyalty

Aspect Ratios

RatioUse Case
4:5Default. Instagram feed, Facebook
9:16Stories, Reels, TikTok
1:1Square posts
16:9YouTube, landscape banners
5:4Alternative landscape

Model Catalog

Models for talent/face reference: ~/clawd/models-catalog/catalog/

Priority: User-provided model > Catalog selection > No model (product-only ad)

Known Limitations

  • Product image scraping is fragile — always provide product images manually when possible
  • photo_style_ref can be too literal — the style reference may be replicated too closely
  • Some websites block scraping — Armani works well, others may return incorrect data
  • Auto 4-Format is alpha — bugs and edge cases exist
  • Gemini hallucinations — occasional issues in complex reasoning steps

Ad-Ready vs Morpheus

FeatureAd-ReadyMorpheus
InputProduct URL (auto-scrapes)Manual product image
Brand intelligence70+ brand profilesNone
Funnel targeting8 funnel stagesNone
Creative directionAuto-generated from briefPack-based (camera, lens, etc.)
Best forProduct advertising campaignsFashion/lifestyle editorial photography
Control levelHigh-level (objective-driven)Granular (every visual parameter)

Source Repository

  • GitHub: https://github.com/PauldeLavallaz/ads_SV
  • Local clone: ~/clawd/ad-ready/
  • Patreon docs: https://www.patreon.com/posts/from-product-to-149933468

API Key

Uses ComfyDeploy API key. Set via COMFY_DEPLOY_API_KEY environment variable.

Installation

Terminal bash

openclaw install ad-ready-pro
    
Copied!

💻Code Examples

7. RUN the generation with ALL inputs filled

7-run-the-generation-with-all-inputs-filled.txt
## Usage

### Full command (recommended):

--output "ad-output.png"

---output-ad-outputpng.txt
The `--auto-fetch` flag will:
- Download the main product image from the product URL
- Search and download the brand logo
- Both get uploaded to ComfyDeploy automatically

## API Details

**Endpoint:** `https://api.comfydeploy.com/api/run/deployment/queue`
**Deployment ID:** `e37318e6-ef21-4aab-bc90-8fb29624cd15`

## ComfyDeploy Input Variables

These are the exact variable names the ComfyDeploy deployment expects:

| Variable | Type | Description |
|----------|------|-------------|
| `product_url` | string | Product page URL to scrape |
| `producto` | image URL | Product image (uploaded to ComfyDeploy) |
| `model` | image URL | Model/talent face reference |
| `referencia` | image URL | Style reference ad image |
| `marca` | image URL | Brand logo image |
| `brand_profile` | enum | Brand name from catalog |
| `prompt_profile` | enum | Funnel stage prompt |
| `aspect_ratio` | enum | Output format |

## 4-Phase Pipeline (How It Works Internally)

### Phase 1: Product Scraping
- Gemini Flash visits the product URL
- Extracts: title, description, features, price, images
- ⚠️ Image scraping is the most fragile part — always provide product images manually

### Phase 2: Campaign Brief Generation (CRITICAL)
- Uses Brand Identity JSON + Product Data → 10-point brief
- **Everything downstream depends on brief quality**
- Brief covers: strategic objective, central message, visual tone, product role, photographer, art direction, environment, textures, signature

### Phase 3: Blueprint Generation
- Master Prompt (per funnel stage) + Brief + Product JSON + Keyword Bank + Format
- Gemini Flash generates complete Blueprint JSON
- Covers: scene, production, graphic design, lighting, composition, materials, CTA

### Phase 4: Image Generation
- Nano Banana Pro (Imagen 3.0) generates the final image
- Uses Blueprint JSON + all reference images (product, talent, logo, style ref)

### Supporting Reference Nodes
- `pose_ref` → enforce a specific pose (replicated exactly)
- `photo_style_ref` → replicate photographic style (⚠️ can be too literal, being optimized)
- `location_ref` → replicate location and color palette

## Brand Profiles

### Existing catalog (70+ brands):

ls ~/clawd/ad-ready/configs/Brands/*.json | sed 's/.*\///' | sed 's/\.json//'

ls-clawdad-readyconfigsbrandsjson--sed-s--sed-sjson.txt
### Creating new brand profiles:
Use the `brand-analyzer` skill:
example.txt
1. User provides: product URL + brand name + objective

2. CHECK brand profile exists:
   → ls ~/clawd/ad-ready/configs/Brands/ | grep -i "{brand}"
   → If not found: run brand-analyzer skill first
   
3. DOWNLOAD product image:
   → Visit the product URL in browser or fetch the page
   → Find and download the main product image
   → Save to /tmp/ad-ready-product.jpg

4. DOWNLOAD brand logo:
   → Search "{brand name} logo PNG" or fetch from brand website
   → Download clean logo image
   → Save to /tmp/ad-ready-logo.png

5. FIND reference image:
   → Search for "{brand name} advertisement" or similar
   → Or use a previously generated ad that has the right style
   → Save to /tmp/ad-ready-reference.jpg

6. SELECT prompt profile based on objective:
   → Awareness: brand discovery, first impressions
   → Interest: engagement, curiosity
   → Consideration: comparison, features
   → Evaluation: deep dive, decision support
   → Conversion: purchase intent, CTAs (most common)
   → Retention: re-engagement
   → Loyalty: brand advocates
   → Advocacy: referral, community

7. RUN the generation with ALL inputs filled
example.sh
COMFY_DEPLOY_API_KEY="$KEY" uv run ~/.clawdbot/skills/ad-ready/scripts/generate.py \
  --product-url "https://shop.example.com/product" \
  --product-image "/tmp/product-photo.jpg" \
  --logo "/tmp/brand-logo.png" \
  --reference "/tmp/reference-ad.jpg" \
  --model "models-catalog/catalog/images/model_15.jpg" \
  --brand-profile "Nike" \
  --prompt-profile "Master_prompt_05_Conversion" \
  --aspect-ratio "4:5" \
  --output "ad-output.png"
example.sh
COMFY_DEPLOY_API_KEY="$KEY" uv run ~/.clawdbot/skills/ad-ready/scripts/generate.py \
  --product-url "https://shop.example.com/product" \
  --brand-profile "Nike" \
  --prompt-profile "Master_prompt_05_Conversion" \
  --auto-fetch \
  --output "ad-output.png"

Tags

#marketing_and-sales

Quick Info

Category E-commerce
Model Claude 3.5
Complexity One-Click
Author pauldelavallaz
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install ad-ready-pro