product-to-adsGenerate professional advertising images from product URLs using the Ad-Ready pipeline on ComfyDeploy. Use when the user wants to create ads for any product by providing a URL, optionally with a brand profile (70+ brands) and funnel stage targeting. Supports model/talent integration, brand-aware creative direction, and multi-format output. Differs from Morpheus (manual fashion photography) ā Ad-Ready is URL-driven, brand-intelligent, and funnel-stage aware.
Install via ClawdBot CLI:
clawdbot install PauldeLavallaz/product-to-adsGenerate professional advertising images from product URLs using a 4-phase AI pipeline on ComfyDeploy.
Source: github.com/PauldeLavallaz/ads_SV
The pipeline runs as a ComfyUI custom node deployed on ComfyDeploy. A single ProductToAds_Manual node executes 4 phases internally:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā ProductToAds_Manual Node ā
ā ā
ā PHASE 1: Product Scraping (Gemini Flash) ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā Scrapes product URL ā extracts title, description, ā
ā features, price, materials, image URLs ā
ā Also scrapes HTML for high-res product images (ā„1000px) ā
ā ā
ā PHASE 2: Campaign Brief Generation (Gemini Flash) ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā Brand Identity + Product Data + References ā ā
ā 10-point Campaign Brief (creative direction) ā
ā ā
ā PHASE 3: Blueprint Generation (Gemini Flash) ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā Master Prompt (funnel stage) + Brief + Keywords ā ā
ā Production-Ready JSON Blueprint ā
ā ā
ā PHASE 4: Image Generation (Nano Banana Pro / Imagen 3) ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā Blueprint + all reference images ā final ad image ā
ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
The Brief Generator is the most critical intermediate step. It acts as a "Senior Art Director" that translates raw data into actionable creative direction using a 10-point framework:
Without the brief, the Master Prompt must guess creative strategy. With it, the Master Prompt only executes.
The brief prompt template is included at {baseDir}/configs/Brief_Generator/brief_prompt.json.
Each funnel stage has a specialized Master Prompt that generates a production-ready JSON Blueprint. All share the same internal simulation:
The Blueprint JSON covers: scene production, talent lock, camera perspective, subject action/pose/wardrobe, lighting, product constraints, layout architecture, typography, CTA engineering, and brand asset placement.
Master prompt files are included at {baseDir}/configs/Product_to_Ads/.
Reference images (referencia) are optional and off by default. The pipeline generates creative direction internally from Brand Identity + Campaign Brief. Only use a reference when the user explicitly asks to clone a specific ad's style.
When used, the reference is analyzed for pose, photographic style, and location cues.
Before running ANY ad generation, ensure these are provided:
| Input | Required? | How to Get It |
|-------|-----------|---------------|
| --product-url | ā
ALWAYS | User provides the product page URL |
| --product-image | ā
ALWAYS | Download from the product page, or user provides |
| --brand-profile | ā
NEVER EMPTY | Pick from catalog or run brand-analyzer first. NEVER leave as "No Brand" if a brand is known |
| --prompt-profile | ā
ALWAYS | Choose based on campaign objective |
| --aspect-ratio | Default: 4:5 | Change if needed for platform |
| --model | š¶ OPTIONAL | Model/talent face. Ads with talent perform much better. Empty = product-only ad (no person). When used, pick from ~/clawd/models-catalog/catalog/images/ (114 models available) |
| --logo | š¶ OPTIONAL | Try to find it. Use if good quality & easy to get. Skip if low-res or hard to find. Empty = bypassed |
| --reference | š¶ OPTIONAL (off) | Only when user explicitly asks to clone a reference ad. Empty = bypassed |
| --creative-brief | š¶ ON-DEMAND | Only when user gives explicit creative direction. Omit to let pipeline auto-generate from brand profile |
| --language | š¶ ON-DEMAND | Only when user requests a specific language. Omit to use default (es) |
brand-analyzer skill FIRST to generate one. Never submit with "No Brand" when a brand is known.When the user asks to generate an ad:
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 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. SELECT prompt profile based on objective:
ā šØ Morfeo_Creative: DEFAULT ā cinematic, narrative-rich, slightly surreal. Best visuals.
ā Awareness: brand discovery, dynamic scenes, world-building, scroll-stoppers
ā Interest: sustained attention, micro-world hinting at use-case
ā Consideration: feature communication, proof cues, informative
ā Evaluation: trust, authority, reviews, certifications
ā Conversion: ā ļø MINIMAL by design ā clean, CTA-dominant, white backgrounds
ā Retention: post-purchase confidence, onboarding
ā Loyalty: editorial, lifestyle, emotional bond
ā Advocacy: share-worthy, community, belonging
DEFAULT SELECTION LOGIC:
- Generic "generate an ad" ā Morfeo_Creative (09)
- "awareness" / "brand discovery" ā Awareness (01)
- "conversion" / "buy now" / CTA-focused ā Conversion (05)
- "creative" / "original" / "surreal" ā Morfeo_Creative (09)
- "lifestyle" / "editorial" ā Loyalty (07)
- When in doubt ā Morfeo_Creative (09), NOT Conversion
5b. SELECT MODEL (optional):
ā If user wants a person in the ad: pick from ~/clawd/models-catalog/catalog/images/model_XX.jpg (114 available)
ā If user wants product-only ad (no person): leave --model empty
ā If user doesn't specify: ASK if they want a model or product-only
ā Catalog preview: catalog.json at ~/clawd/models-catalog/catalog/catalog.json
6. RUN the generation with ALL inputs filled
COMFY_DEPLOY_API_KEY="$KEY" uv run {baseDir}/scripts/generate.py \
--product-url "https://shop.example.com/product" \
--product-image "/tmp/product-photo.jpg" \
--logo "/tmp/brand-logo.png" \
--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"
COMFY_DEPLOY_API_KEY="$KEY" uv run {baseDir}/scripts/generate.py \
--product-url "https://shop.example.com/product" \
--product-image "/tmp/product-photo.jpg" \
--reference "/tmp/reference-ad.jpg" \
--brand-profile "Nike" \
--prompt-profile "Master_prompt_01_Awareness" \
--output "ad-output.png"
COMFY_DEPLOY_API_KEY="$KEY" uv run {baseDir}/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"
uv run {baseDir}/scripts/generate.py --list-brands
Endpoint: https://api.comfydeploy.com/api/run/deployment/queue
Deployment ID: e37318e6-ef21-4aab-bc90-8fb29624cd15
| 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. OPTIONAL ā empty = product-only ad without a person. When used, select from models catalog (~/clawd/models-catalog/catalog/images/model_XX.jpg, 114 available) |
| referencia | image URL | Style reference ad ā OPTIONAL, empty = bypassed. Only when user asks to clone a reference |
| marca | image URL | Brand logo ā OPTIONAL, empty = bypassed. Use if found easily in good quality |
| brand_profile | enum | Brand name from catalog (70+ brands) |
| prompt_profile | enum | Funnel stage master prompt |
| aspect_ratio | enum | Output format (1:1, 4:5, 5:4, 9:16, etc.) |
| language | string | ON-DEMAND ONLY. Output language for ad copy/CTA. Default: es. Only send when the user explicitly requests a different language. Otherwise, DO NOT include this parameter ā let the pipeline use its default. |
| creative_brief | string | ON-DEMAND ONLY. Free-text creative direction override. Only use when the user explicitly asks for a specific creative direction, scene, mood, or concept. Otherwise, DO NOT include this parameter ā let the pipeline generate its own brief from the Brand Identity profile automatically. |
Goal: Scroll-stop, curiosity, brand introduction
Reject: Generic "product on table" concepts
Strategy: Dynamic camera angles, world-building environments, high-concept creativity
CTA: Soft or optional
Visual Hierarchy: Talent ā Product ā Optional CTA
Goal: Sustained attention, introduce value proposition
Reject: Abstract visuals that hide the product
Strategy: One clear visual idea, believable micro-world hinting at use-case
CTA: Learn More, Discover, See Details
Visual Hierarchy: Talent ā Product ā Headline ā CTA
Goal: Informed evaluation, reduce uncertainty
Reject: Pure mood storytelling, vague emotional content
Strategy: Communicate WHAT product does, ONE primary differentiator, ONE proof cue
CTA: Compare, See Details, Explore
Visual Hierarchy: Talent ā Product ā Key Benefit ā Proof Cue ā CTA
New: Adds Brand Identity Manifest to Blueprint JSON
Goal: Validate purchase decision, proof & trust
Reject: Pure mood, unsupportable claims, visual clutter
Strategy: One trust anchor (quality/legitimacy/authority), one proof cue (reviews/certification)
CTA: See Reviews, Verified Quality, Learn More
Visual Hierarchy: Trust Anchor ā Proof Cue ā Product ā Talent ā CTA
Goal: Trigger decisive action, remove friction
Reject: New hesitation-inducing info, complex compositions
Strategy: One hero (product), one action, optional micro-reassurance
CTA: Buy Now, Get Yours, Complete Order (PRIMARY visual element)
Visual Hierarchy: Product ā CTA ā Optional Reassurance ā Brand ā Talent
Goal: Post-purchase confidence, reduce churn
Reject: Hard-sell, urgency, price talk
Strategy: "You made the right choice" + "Here is the next step"
CTA: Start, Set Up, Learn, Track (guidance, not purchase)
Visual Hierarchy: Confirmation ā Next Step ā Product ā Talent
Goal: Strengthen emotional bond over time
Reject: Sales layouts, instructional tone, aggressive CTAs
Strategy: "This brand is part of who you are" ā habitual engagement
CTA: Optional: Explore, Be Part Of, Continue
Visual Hierarchy: Brand World/Mood ā Talent (identity mirror) ā Product ā Brand
Goal: Turn customers into voluntary brand ambassadors
Reject: Sales language, instructional tone, forced testimonials
Strategy: Signal belonging, create share-worthy imagery, enable organic sharing
CTA: Optional or absent: Join the Movement, Part of Us
Visual Hierarchy: Mood ā Talent (identity proxy) ā Product (symbol) ā Brand
Goal: Maximum visual impact, narrative-rich, cinematic quality
Reject: White backgrounds, studio shots, "product on table", generic poses, sterile compositions
Strategy: Build immersive WORLDS, not backgrounds. Talent is a CHARACTER with emotion and action. Subtle surreal/magical elements elevate the mundane. Think movie stills + magical realism + high fashion.
CTA: Present but integrated into scene aesthetics
Visual Hierarchy: Scene ā Talent (as character) ā Product (organic in scene) ā CTA
Creative Philosophy:
To create a new funnel stage or specialized ad type:
{baseDir}/configs/Product_to_Ads/Master_prompt_XX_NewStage.json ā the node auto-discovers new profiles| Aspect | Early (01-02) | Mid (03-05) | Late (06-08) | Morfeo (09) |
|--------|--------------|-------------|--------------|-------------|
| Talent role | Attention anchor | Credibility anchor | Identity mirror | Character in story |
| Product role | Secondary hero | Evaluation hero | Familiar symbol | Organic in world |
| CTA | Soft/exploratory | Proof-led ā Decisive | Guidance ā Optional | Integrated/aesthetic |
| Copy voice | Intriguing | Clarity, proof, action | Supportive ā Proud | Evocative/poetic |
| Visual density | High-concept | Structured, scannable | Editorial, spacious | Cinematic/layered |
| Environment | World-building | Context-rich | Lifestyle | Immersive + surreal |
| Environment | World-building | Context-rich | Lifestyle, intimate |
Reference image input (referencia) is optional. When provided, it's analyzed for:
When empty (default), creative direction comes from Brand Identity + Campaign Brief alone.
ls ~/clawd/ad-ready/configs/Brands/*.json | sed 's/.*\///' | sed 's/\.json//'
Use the brand-analyzer skill:
GEMINI_API_KEY="$KEY" uv run ~/.clawdbot/skills/brand-analyzer/scripts/analyze.py \
--brand "Brand Name" --auto-save
The Brand Analyzer uses a 3-phase methodology:
Output covers: brand_info, brand_values, target_audience, tone_of_voice, visual_identity, photography, campaign_guidelines, brand_behavior, channel_expression, compliance.
| Ratio | Use Case |
|-------|----------|
| 4:5 | Default. Instagram feed, Facebook |
| 9:16 | Stories, Reels, TikTok |
| 1:1 | Square posts |
| 16:9 | YouTube, landscape banners |
| 5:4 | Alternative landscape |
| 2:3 | Pinterest |
| 3:4 | Portrait |
The skill includes reference copies of all pipeline configuration files:
{baseDir}/configs/
āāā Brief_Generator/
ā āāā brief_prompt.json # 10-point campaign brief framework
āāā Product_to_Ads/
ā āāā Master_prompt_01_Awareness.json
ā āāā Master_prompt_02_Interest.json
ā āāā Master_prompt_03_Consideration.json
ā āāā Master_prompt_04_Evaluation.json
ā āāā Master_prompt_05_Conversion.json
ā āāā Master_prompt_06_Retention.json
ā āāā Master_prompt_07_Loyalty.json
ā āāā Master_prompt_08_Advocacy.json
ā āāā Master_prompt_09_Morfeo_Creative.json # šØ DEFAULT ā cinematic, surreal, narrative
āāā Reference_Analyzer/
āāā reference_analysis_prompt.txt # Pose/style/location analysis prompt
These configs are the canonical reference for the pipeline's behavior. The actual live configs are stored in the ComfyUI deployment at ads_SV/configs/.
| Feature | Ad-Ready | Morpheus |
|---------|----------|----------|
| Input | Product URL (auto-scrapes) | Manual product image |
| Brand intelligence | 70+ brand profiles | None |
| Funnel targeting | 8 funnel stages | None |
| Brief generation | Auto (10-point creative direction) | None |
| Creative direction | Objective-driven (brief ā blueprint) | Pack-based (camera, lens, lighting) |
| Best for | Product advertising campaigns | Fashion/lifestyle editorial photography |
| Control level | High-level (strategy-first) | Granular (every visual parameter) |
Uses ComfyDeploy API key. Set via COMFY_DEPLOY_API_KEY environment variable.
ProductToAds_Manual ā Full manual control, single formatProductToAds_Auto ā Auto-downloads images, generates 4 formatsBrandIdentityAnalyzer ā Analyzes brands via Gemini + Google SearchGenerated Mar 1, 2026
An online retailer launching a new product line needs professional ad creatives for social media and display advertising. The pipeline automatically generates brand-coherent images with appropriate funnel stage targeting (awareness for top-of-funnel, conversion-focused for bottom-of-funnel) without requiring photography shoots.
An established brand updating its visual identity needs consistent ad creatives across multiple platforms. The brand-aware creative direction ensures all generated ads maintain brand codes while adapting to different funnel stages and aspect ratios for various advertising channels.
A digital marketing agency needs to rapidly generate multiple ad variations for A/B testing campaigns. The pipeline can produce different creative approaches by adjusting funnel stage targeting, model integration, and aspect ratios to optimize for platform-specific performance metrics.
A consumer goods company needs holiday or seasonal advertising materials quickly. The pipeline generates campaign-ready images with appropriate visual tone (energetic for sales, intimate for gift guides) and integrates product details scraped directly from e-commerce pages.
A brand partnering with influencers needs ads featuring specific talent while maintaining brand consistency. The model integration feature allows using influencer faces while the brand profile ensures all creative elements align with established brand identity and messaging.
Integrate the Ad-Ready pipeline as a white-label service within existing marketing platforms or e-commerce solutions. Offer tiered pricing based on usage volume, with premium features like custom brand profile creation and priority processing.
Marketing agencies can use the pipeline to dramatically reduce creative production time and costs. Offer ad generation as a managed service with human oversight on the campaign brief and final output, charging per campaign or on retainer basis.
Sell enterprise licenses to large brands with multiple product lines. Include features like centralized brand profile management, team collaboration tools, and API access for integration with existing marketing technology stacks and asset management systems.
š¬ Integration Tip
Ensure product URLs are from supported e-commerce platforms for optimal scraping, and always use a specific brand profile rather than 'No Brand' to maintain creative consistency across campaigns.
Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
Capture frames or clips from RTSP/ONVIF cameras.
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Generate images using the internal Google Antigravity API (Gemini 3 Pro Image). High quality, native generation without browser automation.
使ēØå ē½® image_generate.py čę¬ēęå¾ē, åå¤ęø ę°å ·ä½ē `prompt`ć
AI image generation powered by CellCog. Create images, edit photos, consistent characters, product photography, reference-based images, sets of images, style transfer. Professional image creation with AI.