Branda is a free and open-source AI ad generator that turns a public website domain into square marketing creatives.
Enter your business domain, and the app extracts your site’s logo, color palette, typography when available, homepage content, and product information, then creates three company ads plus one to three product ads.
Most AI design platforms begin with a prompt, template, or uploaded asset library. Branda treats the website itself as the campaign brief.
This workflow is ideal for founders, marketers, and developers who need several brand-aware concepts for LinkedIn, X, campaign planning, or creative review.
Branda does not include a full visual editor, format selector, or campaign workspace. Every hosted run targets 1:1 static ads.
The source code is MIT-licensed and self-hostable, but a private deployment needs Context.dev and Vercel AI Gateway keys.
How Branda Works
Branda divides each ad run into brand research, concept planning, and parallel image generation.
Brand research: 4 Context.dev operations collect brand metadata, homepage text, the website’s visual style guide, and structured product information.
Concept planning: A text model writes three company concepts and one concept for each extracted product. Every concept receives a headline, subheadline, visual direction, and assigned image model.
Parallel rendering: Branda sends each concept to a different image model. Finished ads appear in the gallery as each request completes.
The website content controls much of the result. A clear logo, consistent visual identity, concise homepage copy, and distinct product descriptions give the generator stronger material to work with.
Key Features
- Generates four to six 1:1 ads from one public domain.
- Creates exactly three company ads before product-specific ads.
- Extracts logos, industry data, colors, and typography from the website.
- Uses homepage content as the basis for company headlines and subheadlines.
- Extracts one to three distinct products for product-focused creatives.
- Selects from 12 visual directions, including typography, isometric diagrams, editorial layouts, gradients, collages, and technical blueprints.
- Assigns a different image model to each ad slot.
- Streams completed ads into the gallery as individual models finish.
- Downloads individual images or the complete finished batch.
- Opens an X sharing flow from a completed run.
- Includes MIT-licensed source code for self-hosting and customization.
The 12 Creative Directions
Branda does not generate every ad from one generic image prompt. The planner chooses different visual directions across the batch.
| Direction | Visual Approach | Common Fit |
|---|---|---|
| Product Hero | Studio product photography | Hardware and physical products |
| Isometric | SaaS-style diagrams | APIs, platforms, and developer tools |
| Typographic | Large Swiss-style typography | Abstract products and strong statements |
| Macro Material | Close material details | Food, beauty, fashion, and premium goods |
| Gradient Field | Atmospheric gradients | AI, fintech, and digital services |
| Editorial Spread | Magazine-inspired composition | Travel, food, media, and lifestyle brands |
| Sculptural Object | Abstract 3D forms | Technology products with no physical object |
| Data Visualization | Charts treated as visual art | Analytics and observability products |
| Blueprint | Technical schematic art | Infrastructure, hardware, and engineering |
| Retro Arcade | Neon grids and arcade styling | Games and playful brands |
| Monochrome Crop | Tight single-color details | Luxury and minimalist products |
| Collage | Layered cut-paper composition | Education, agencies, and media |
Branda vs Pomelli
Branda and Google Pomelli both derive marketing assets from a business website, but they serve different working patterns.
| Branda | Pomelli | |
|---|---|---|
| Primary workflow | Instant batch of square ads | Ongoing brand and campaign workspace |
| Starting input | Public website domain | Website, files, photos, product data, or chat |
| Brand context | Rebuilt from the domain for each run | Stored as reusable Business DNA |
| Main outputs | Four to six static 1:1 ads | Campaigns, product photos, animated assets, brand books, and websites |
| Editing | Download, retry, or regenerate | Copy, image, typography, layout, and prompt-based editing |
| Account | No account on the hosted app | Google account required |
| Deployment | Hosted app or MIT-licensed self-hosting | Google-hosted product |
| Developer access | Complete Next.js source code | No self-hosted application |
Branda fits a fast concept pass, a small batch of website-derived ads, or a developer-owned generation pipeline, while Google Pomelli works best for ongoing campaign production that needs saved brand context, broader asset types, and manual refinement.
How to Use Branda
1. Open the Branda hosted app.
2. Enter a public domain such as scriptbyai.com.
3. Click Generate 4–6 Ads.
4. Wait while Branda extracts the brand profile, reads the homepage, identifies products, and plans the creative batch.
5. Review each ad as it appears in the gallery.
6. Retry an individual slot if its generation fails.
7. Download one image or download every completed ad.
8. Use the sharing control when the first finished image should accompany an X post.
Check the extracted brand details before using the images publicly. Websites with multiple logos, conflicting color systems, old product pages, or sparse copy may produce weaker briefs.
Branda also treats the public page as the factual basis for its copy. Update outdated slogans, descriptions, and product claims on the website before starting an ad run.
How to Self-Host Branda
Requirements
- Node.js 20 or newer
- Context.dev API key
- Vercel AI Gateway key
Run the following commands:
git clone https://github.com/context-dot-dev/ad-maker.git
cd ad-maker
npm install
cp .env.example .envAdd the two required variables to .env:
CONTEXT_DEV_API_KEY=your_context_dev_key
AI_GATEWAY_API_KEY=your_vercel_ai_gateway_keyStart the development server:
npm run devOpen:
http://localhost:3000Keep both API keys in server-side environment variables. Do not expose either key through a NEXT_PUBLIC_ variable or commit the .env file.
Public Deployment and Cost Controls
Branda’s /api/brief and /api/ad routes trigger external API and model usage. The browser calls these routes directly, which creates a cost risk on an unrestricted public deployment.
Add these controls before publishing a self-hosted instance:
- User authentication
- Per-user request quotas
- IP-based or account-based rate limiting
- Provider spending alerts
- Request logging that excludes API keys
- Error handling for model and extraction failures
A full uncached run may call Context.dev four times, run one text-model request, and submit as many as six image-generation requests. Shared CDN cache headers reduce repeated work for matching requests, but new domains and new concept URLs can still trigger the complete generation path.
Privacy-sensitive deployments should also review the default Plausible analytics script, Google-hosted font request, and Google favicon service. Replace or remove those requests when the deployment requires tighter control over external connections.
Pros
- One-domain input
- Four to six ads per run
- Real website brand extraction
- Product-specific creative slots
- No hosted login
- Individual and batch downloads
- Multiple image models
- MIT-licensed source code
Cons
- Square images only
- No full design editor
- Website quality affects results
- Self-hosted API costs
Alternatives & Related Resources
- Pomelli: Google’s Free AI Tool for SMB Marketing Campaigns
- Generate Social Image Ads from Product Links for Free Using AI – Create.ad
- 100+ Free AI Creative Tools by Shopify – Tinker
FAQs
Q: Does Branda require an account?
A: The hosted app does not require an account. Enter a public domain and start the generation process from the home page.
Q: Does Branda work on password-protected or gated sites?
A: No. Every extraction step, brand data, homepage Markdown, styleguide, and product extraction, runs against a public domain. Gated pages return thin or empty results.
Q: What happens if Branda can’t load a usable logo?
A: The three primary image models accept a validated raster logo as a reference image. When the logo fails validation or can’t load, generation falls back to text-only prompts.
Q: Can I choose which of the twelve creative directions get used?
A: Not from the hosted interface. The planner’s LLM call picks four to six directions automatically. Changing that selection means forking the repository and editing the catalog in src/lib/generate/directions.ts.
Q: Does self-hosting keep all data on the same server?
A: No. The default app sends website and brand requests to Context.dev and routes text and image generation through Vercel AI Gateway.










