Generate advertising images automatically from a product URL + brand profile.
✅ USE WHEN:
- User provides a product URL (e-commerce link)
- Want automated product scraping + image generation
- Have a brand profile to apply (70+ brands available)
- Need funnel-stage targeting (awareness/consideration/conversion)
- Want AI to auto-select model, scene, lighting based on brand
❌ DON'T USE WHEN:
- User provides local product image file → use morpheus-fashion-design
- Don't need a person in the image → use nano-banana-pro
- Want manual control over model, scene, packs → use morpheus-fashion-design
- Already have hero image, need variations → use multishot-ugc
- Need video output → use veed-ugc after image generation
INPUT: Product URL + brand name (optional) + funnel stage (optional)
OUTPUT: PNG advertising image with product + model
Generate advertising images automatically from a product URL + brand profile.
✅ USE WHEN:
- User provides a product URL (e-commerce link)
- Want automated product scraping + image generation
- Have a brand profile to apply (70+ brands available)
- Need funnel-stage targeting (awareness/consideration/conversion)
- Want AI to auto-select model, scene, lighting based on brand
❌ DON'T USE WHEN:
- User provides local product image file → use morpheus-fashion-design
- Don't need a person in the image → use nano-banana-pro
- Want manual control over model, scene, packs → use morpheus-fashion-design
- Already have hero image, need variations → use multishot-ugc
- Need video output → use veed-ugc after image generation
INPUT: Product URL + brand name (optional) + funnel stage (optional)
OUTPUT: PNG advertising image with product + model
Ad-Ready: AI Advertising Image Generator
Generate professional advertising images from product URLs using a 4-phase AI pipeline on ComfyDeploy.
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:
Strategic Objective — Why this campaign exists (awareness/positioning/launch)
Central Message — One idea perceivable without text
Visual Tone of Voice — Register: calm/energetic/intimate/monumental
Product Role — Hero vs co-protagonist vs implicit presence
Visual Language & Brand Coherence — Non-negotiable brand codes
Photographer & Equipment — Photography as concept, not execution
Extended Art Direction — Styling, casting, poses, hair/makeup, layout
Environment & Context — Where and why (conceptual, never decorative)
Texture, Material & Product Render — How surfaces are perceived
Final Image Signature — Finish, grain, temporal positioning
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.
Phase 3: Master Prompts (8 Funnel Stages)
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 Analyzer
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.
⚠️ CRITICAL: Required Inputs Checklist
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)
🚨 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 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.
Brand logo — TRY to find it (Clearbit, logo.dev, brand website). Use if good quality. If not found or low-res, skip it — the variable accepts empty string (bypassed server-side).
Reference — Do NOT search for references by default. Only provide when the user explicitly asks to clone a specific ad or says "find a good ad to clone".
Auto-Preparation Workflow
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
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: 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
03 — Consideration
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
04 — Evaluation
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
05 — Conversion
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
06 — Retention
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
07 — Loyalty
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
08 — Advocacy
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
09 — Morfeo Creative 🎨 (DEFAULT)
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:
NEVER a white background or studio
Every image has depth (foreground/midground/background layers)
Lighting is narrative (golden hour, practicals, colored atmosphere)
One subtle surreal element per scene (impossible beauty, dream-logic detail)
Wardrobe is costume design, not "simple clothes"
Camera has personality (specific film stocks, intentional imperfections)
Creating New Ad Types
To create a new funnel stage or specialized ad type:
Copy the closest existing Master Prompt from {baseDir}/configs/Product_to_Ads/
Redefine ROUND 1 with the new strategic objective
Adjust ROUND 2 UI hierarchy accordingly
Shift talent/product narrative roles
Modify CTA philosophy and copy voice
Keep the JSON output structure identical for pipeline compatibility
Maintain the Fidelity Lock (ROUND 0) — product and talent are always immutable
Save as Master_prompt_XX_NewStage.json — the node auto-discovers new profiles
Key Evolution Pattern Across Stages:
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
Image Input Types
Binding Images (strict fidelity — immutable)
talent: Face/body locked, no deviation in facial structure, ethnicity, proportions
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/.
Known Limitations
Product image scraping is fragile — always provide product images manually
Some websites block scraping — provide product data manually when scraping fails
Gemini hallucinations — occasional issues in complex reasoning steps
No brief editing — brief is generated automatically; manual override not yet supported
Logo & reference are optional — both use server-side bypass; empty string = not used. Logo: use if good quality. Reference: only on explicit request
Ad-Ready vs Morpheus
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)
API Key
Uses ComfyDeploy API key. Set via COMFY_DEPLOY_API_KEY environment variable.