What It Actually Costs to Generate an AI Website (Real Numbers for Agencies)
TL;DR: We log every AI call in our pipeline to DynamoDB — LLMs, image generation, web search — with per-step, per-provider cost breakdowns. A complete AI-generated website costs between $0.25 and $0.95 in AI spend. At agency scale, that’s $25–90/month for 100 client sites. Here are the real numbers.
Why This Matters for Agencies
If you’re reselling AI-generated websites, your margins depend on one number: cost per site.
Most AI website builders won’t tell you this number. They charge $15–50/month per site and hope you don’t ask what it costs them to generate one. We built a cost tracking system specifically so we could answer this question — for ourselves, and now for you.
Our Cost Tracking Architecture
Every AI call in our generation pipeline writes a cost record to DynamoDB. The logger is fire-and-forget — it never blocks website generation. If DynamoDB is slow, generation continues and the cost record is dropped silently.
logCost({
businessId: 'acme-plumbing',
stepId: 'strategy',
provider: 'anthropic',
model: 'claude-opus-4-5',
usage: { type: 'token', inputTokens: 11250, outputTokens: 8500 },
durationMs: 28000,
});
Each record captures:
- Which business — cost per client
- Which step — cost per pipeline stage
- Which provider and model — cost per vendor
- Token counts or image dimensions — raw usage data
- Duration — performance tracking
Records are queryable by date (via a DynamoDB GSI) and auto-expire after 90 days in dev environments.
The Pricing Table
We maintain a versioned pricing table covering four cost models:
Token-Based (LLMs)
| Model | Input / 1M tokens | Output / 1M tokens | Notes |
|---|---|---|---|
| DeepSeek Chat | $0.28 | $0.42 | Cheapest. Good for bulk. |
| GPT-4o Mini | $0.15 | $0.60 | Fast and cheap |
| GPT-5 Mini | $0.25 | $2.00 | Best value for quality |
| Claude Haiku 4.5 | $1.00 | $5.00 | Our default workhorse |
| Claude Sonnet 4.5 | $3.00 | $15.00 | Premium quality |
| Claude Opus 4.5 | $5.00 | $25.00 | Best quality, highest cost |
Image Generation
| Model | Pricing | Notes |
|---|---|---|
| GPT Image 1.5 | $0.02/image | Newest, fastest |
| GPT Image 1 | $0.04/image | Legacy |
| Flux 2 Turbo | $0.008/megapixel | Cheapest for bulk |
| Flux 2 | $0.012/megapixel | Good balance |
| Flux 2 Pro | $0.03/megapixel | Higher quality |
Web Search
| Provider | Cost | Notes |
|---|---|---|
| Google Custom Search | $0.005/query | Standard web results |
| OpenAI Web Search | ~$0.01/query | Finds non-Google sources (Yelp, Tripadvisor) |
Cost Per Website: Step by Step
Here’s what each stage of our pipeline costs, based on real production data:
| Step | What It Does | AI Calls | Cost Range |
|---|---|---|---|
| Research | Extracts business data | 1 LLM call | $0.003–0.010 |
| Enrichment | Web search + synthesis | 2 calls (search + LLM) | $0.015–0.040 |
| Web Analysis | Online presence analysis | 1–2 calls | $0.010–0.035 |
| Strategy | Full page/section plan | 1 large LLM call (16K tokens) | $0.05–0.30 |
| Brand | Colors, fonts, theme | 1 LLM call | $0.015–0.050 |
| Logo | AI-generated logo | 1 image | $0.008–0.040 |
| Hero Image | Full-width banner | 1 image (1792x1024) | $0.015–0.070 |
| Header | Navigation HTML | 1 LLM call | $0.005–0.015 |
| Footer | Footer HTML | 1 LLM call | $0.005–0.010 |
| Sections | 4–8 content sections | 1 LLM + 0–1 image each | $0.040–0.200 |
| Assembly | Final compilation | Minimal | ~$0.001 |
| Total | $0.25–0.95 |
The strategy step is the most expensive single call — it plans the entire website structure, page hierarchy, and section content. Everything downstream depends on it, so it’s worth spending more here.
What Drives Cost Variation?
The range from $0.25 to $0.95 depends on three factors:
1. Model Choice
Running the same pipeline with different models:
| Configuration | Cost per Site |
|---|---|
| DeepSeek Chat + Flux Turbo | ~$0.25 |
| Claude Haiku + Flux | ~$0.45 |
| Claude Sonnet + GPT Image | ~$0.70 |
| Claude Opus + Flux Pro | ~$0.95 |
We let you override the model per step. Use Opus for strategy (where quality matters most) and DeepSeek for footer generation (where it doesn’t).
2. Number of Sections
A simple 4-section site costs less than an 8-section site with photos on every section. Each section is an independent LLM call, and photo sections add an image generation call.
3. Business Complexity
Restaurants with long menus, multi-location businesses, and service companies with 15 service categories require more tokens in the strategy step. A single-service contractor is cheaper to generate than a full-service law firm.
Agency Economics at Scale
Here’s the math that matters:
100 Sites Per Month
| Tier | Cost per Site | Monthly AI Spend | Revenue at $15/site/mo | Monthly Margin |
|---|---|---|---|---|
| Budget | $0.25 | $25 | $1,500 | $1,475 (98%) |
| Standard | $0.45 | $45 | $1,500 | $1,455 (97%) |
| Premium | $0.95 | $95 | $1,500 | $1,405 (94%) |
AI costs are a rounding error on your margins. Even at the premium tier, you’re looking at sub-$1 per site in generation costs.
The Real Costs Are Elsewhere
For agencies, the expensive parts are:
- Hosting and CDN — We serve sites from CloudFront/S3, but bandwidth scales with traffic
- Custom domains — SSL certificates, DNS management
- Support — Clients who need changes after generation
- Sales — Acquiring the client in the first place
AI generation costs? That’s the cheapest line item on your P&L.
Why We Use OpenAI for Web Search (Not Gemini)
One of our biggest cost/quality decisions: we use OpenAI’s web search for the enrichment step, not Gemini.
Why? Gemini uses Google’s own index. Everything it finds, Google already knows. Zero incremental SEO value.
OpenAI’s web search finds data from non-Google sources — Yelp, OpenTable, Tripadvisor, industry directories. When we pull reviews from Yelp and weave them into site content, that’s a unique content signal Google hasn’t seen presented that way.
The cost difference is minimal ($0.01 vs $0.005 per query). The SEO value difference is significant.
How Model Override Works
Our system lets agencies (and our own team) override the AI model at any step:
const strategy = await generateStructuredData<WebsiteStrategy>(
systemPrompt,
prompt,
{
stepId: 'strategy',
businessId: 'acme-plumbing',
maxTokens: 16000,
providerOverride: 'openai', // Override provider
model: 'gpt-5-mini', // Override model
}
);
This means you can:
- A/B test models — Run the same business through Claude and GPT, compare output quality
- Optimize cost — Use premium models for strategy, budget models for sections
- Future-proof — When a cheaper model launches, swap it in without changing code
Every call still gets cost-logged regardless of which model you pick.
The Bottom Line for Agencies
| Question | Answer |
|---|---|
| What does it cost to generate one site? | $0.25–0.95 |
| What’s the biggest cost driver? | Strategy step (model choice) |
| Can I reduce costs? | Yes — use DeepSeek for non-critical steps |
| What’s 100 sites/month? | $25–95 in AI costs |
| Do I need to track this myself? | No — we log everything to DynamoDB |
| Can I see per-client costs? | Yes — queryable by businessId |
If you’re evaluating AI website builders for agency use, ask them this question: “What does it cost you to generate one site?” If they can’t answer with real numbers, they haven’t built the instrumentation to know.
We have. And the answer is: less than a dollar.
Want to see the cost breakdown for your specific use case? Generate a test site at webzum.com and we’ll share the per-step cost data.