AI Website Generation Economics: What Agencies Should Know
TL;DR: We log every AI call in our pipeline to DynamoDB — LLMs, image generation, web search — with per-step, per-provider breakdowns. AI generation costs are a fraction of what most people assume. At agency scale, the margins are excellent. Here’s what drives cost and how model routing keeps quality high without burning money.
Why This Matters for Agencies
If you’re reselling AI-generated websites, you care about two things: quality and margins.
Most AI website builders won’t talk about either in detail. They charge $15–50/month per site and hope you don’t ask hard questions about what’s happening under the hood.
We built a cost tracking system specifically so we could answer those questions for ourselves. The architecture is interesting—and the economics are favorable enough that we’re comfortable sharing how the system works, even if we keep the exact numbers close to the chest.
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.
What Drives Generation Cost
Not all websites cost the same to generate. Three factors create meaningful variation:
1. Model Choice
This is the biggest lever. Running the same pipeline with a budget model vs. a premium model can mean a 5–10x difference in cost. We route different steps to different models based on how much quality matters at that stage:
- Strategy (plans your whole site) → premium model, because everything downstream depends on it
- Content sections → mid-tier model, good prose at reasonable cost
- Headers and footers → budget model, structured output where creativity matters less
This selective routing means you get premium quality where it matters without paying premium prices across the board.
2. Business Complexity
A single-service contractor with a simple site is significantly cheaper to generate than a restaurant with a 50-item menu, three locations, and a catering division. More content = more tokens = more cost. We’ve seen 3–4x variation between the simplest and most complex businesses.
3. Number of Sections and Images
Each content section is an independent LLM call. Photo sections add an image generation call on top. A minimal 4-section site with no generated images costs a fraction of an 8-section site with custom images on every block.
The Economics for Agencies
Without sharing exact numbers, here’s what agencies should know:
AI generation cost is not the line item that will make or break your margins. It’s a small fraction of what you charge per site. Even at the premium quality tier with the best models available, the AI spend per site is low enough that it barely registers against your monthly per-client revenue.
The costs that actually matter for agency economics:
- Hosting and CDN — Bandwidth scales with client traffic
- Custom domains — SSL certificates, DNS management per client
- Support — Clients who need changes after generation
- Sales and marketing — Acquiring the client in the first place
If you’re charging $99–$299/month per client (a typical range for managed website services), your AI generation costs are in the noise. The margins are excellent. The question isn’t whether you can afford to generate sites—it’s whether you can afford to acquire and support clients.
Why We Use OpenAI for Web Search (Not Gemini)
One of our most impactful 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 for your clients.
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 between providers is negligible. 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',
model: 'gpt-5-mini',
}
);
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
AI website generation is cheap. Significantly cheaper than most people assume. The economics work in your favor at virtually any scale—whether you have 10 clients or 1,000.
The hard part of running an AI website agency isn’t generation cost. It’s finding clients, delivering quality, and providing enough ongoing value that they don’t churn. If you solve those problems, the unit economics take care of themselves.
If you’re evaluating AI website builders for agency use, ask them this: “Do you track what it costs to generate each site?” If they can’t answer confidently, they haven’t built the instrumentation to optimize quality and cost together. That matters more than any specific dollar figure.
We track every token. We know our numbers. And the numbers work.
Want to see the quality for yourself? Generate a test site at webzum.com and judge the output.