ad-ready
Generate 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.
- License 许可
- MIT
- 最近更新
- 2026-08-23
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- ad-ready
- description
- Generate 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.
02 资源文件 12
- 参考文档_meta.json806 B
- 参考文档configs/Brief_Generator/brief_prompt.json7.6 KB
- 参考文档configs/Product_to_Ads/Master_prompt_01_Awareness.json13.8 KB
- 参考文档configs/Product_to_Ads/Master_prompt_02_Interest.json15.7 KB
- 参考文档configs/Product_to_Ads/Master_prompt_03_Consideration.json12.2 KB
- 参考文档configs/Product_to_Ads/Master_prompt_04_Evaluation.json10.9 KB
- 参考文档configs/Product_to_Ads/Master_prompt_05_Conversion.json11.0 KB
- 参考文档configs/Product_to_Ads/Master_prompt_06_Retention.json11.4 KB
- 参考文档configs/Product_to_Ads/Master_prompt_07_Loyalty.json11.7 KB
- 参考文档configs/Product_to_Ads/Master_prompt_08_Advocacy.json12.1 KB
- 参考文档configs/Reference_Analyzer/reference_analysis_prompt.txt2.0 KB
- 脚本scripts/generate.py19.4 KB
03 SKILL.md 正文
Ad-Ready: AI Advertising Image Generator
Generate professional advertising images from product URLs using a 4-phase AI pipeline on ComfyDeploy.
Source: github.com/PauldeLavallaz/ads_SV
Pipeline Architecture
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 │
│ │
└─────────────────────────────────────────────────────────────┘
Phase 2: Campaign Brief (The Creative Brain)
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:
- ROUND -1: Brand Identity Forensics (stages 03+) — Unified Brand Style Manifest
- ROUND 0: Fidelity Lock — Product geometry & talent identity are IMMUTABLE
- ROUND 1: Stage Strategy — Strategic approach specific to funnel position
- ROUND 2: Graphic Design — UI, typography, CTA engineering
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
When reference images (pose, style, location) are provided, they're analyzed with forensic precision:
- POSE_REF → Body position, limbs, weight, gaze, micro-gestures → replicated EXACTLY
- PHOTO_STYLE_REF → Camera, lens, lighting, grading, grain → derived parameters
- LOCATION_REF → Setting, materials, colors, mood → similar but creatively enhanced
The reference analysis prompt is at {baseDir}/configs/Reference_Analyzer/reference_analysis_prompt.txt.
⚠️ CRITICAL: Required Inputs Checklist
Before running ANY ad generation, ensure ALL of 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 |
--logo |
✅ ALWAYS | Download from brand website or search online. MUST be an image file |
--reference |
✅ RECOMMENDED | An existing ad whose style we want to clone. Search online or use previously generated images |
--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 |
✅ RECOMMENDED | Model/talent face. Ads with talent perform much better |
? 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-analyzerskill 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. This dramatically improves output quality.
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. 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, trust, proof
→ Conversion: purchase intent, CTAs (most common)
→ Retention: post-purchase confidence
→ Loyalty: emotional bond, lifestyle
→ Advocacy: social amplification, community
7. RUN the generation with ALL inputs filled
Usage
Full command (recommended):
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" \
--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):
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"
List available brands:
uv run {baseDir}/scripts/generate.py --list-brands
API Details
Endpoint: https://api.comfydeploy.com/api/run/deployment/queue
Deployment ID: e37318e6-ef21-4aab-bc90-8fb29624cd15
ComfyDeploy Input Variables
| 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 (used for both pose + location) |
marca |
image URL | Brand logo image |
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.) |
Funnel Stages — Strategic Detail
01 — Awareness
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
02 — Interest
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
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) |
|---|---|---|---|
| Talent role | Attention anchor | Credibility anchor | Identity mirror |
| Product role | Secondary hero | Evaluation hero | Familiar symbol |
| CTA | Soft/exploratory | Proof-led → Decisive | Guidance → Optional |
| Copy voice | Intriguing | Clarity, proof, action | Supportive → Proud |
| Visual density | High-concept | Structured, scannable | Editorial, spacious |
| 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
- product_1-4: Shape, label text, material, proportions preserved 1:1
- brand_logo: UI/button style derived from logo geometry
Soft References (creative guidance)
- pose_ref: Body position replicated EXACTLY (spine, limbs, weight, gaze, micro-gestures)
- photo_style_ref: Camera/lighting/grading/grain derived (can be too literal)
- location_ref: Environment inspired but creatively enhanced
In the live deployment, the same reference image feeds both pose_ref and location_ref.
Brand Profiles
Catalog (70+ brands):
ls ~/clawd/ad-ready/configs/Brands/*.json | sed 's/.*\///' | sed 's/\.json//'
Creating new brand profiles:
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:
- Phase 1: Official research via Google Search (canonical data: name, founding, positioning, vision, mission, tagline)
- Phase 1.1: Independent campaign research (10+ distinct campaigns via Google Images/Pinterest)
- Phase 2-3: Visual analysis → JSON profile following the standard template
Output covers: brand_info, brand_values, target_audience, tone_of_voice, visual_identity, photography, campaign_guidelines, brand_behavior, channel_expression, compliance.
Aspect Ratios
| 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 |
|
3:4 |
Portrait |
Config Files Reference
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
└── 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/.
Known Limitations
- Product image scraping is fragile — always provide product images manually
- photo_style_ref can be too literal — style reference may be replicated too closely
- Some websites block scraping — provide product data manually when scraping fails
- Single reference = pose + location — live deployment uses one image for both
- Gemini hallucinations — occasional issues in complex reasoning steps
- No brief editing — brief is generated automatically; manual override not yet supported
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.
Source Repository
- GitHub: PauldeLavallaz/ads_SV
- Architecture: ComfyUI custom node package with 3 nodes:
ProductToAds_Manual— Full manual control, single formatProductToAds_Auto— Auto-downloads images, generates 4 formatsBrandIdentityAnalyzer— Analyzes brands via Gemini + Google Search
04 同仓库更多 Skills
crowd-prompting
A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.
dilemm-ai
Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
arxiv-paper-reviews
Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.