Cost model

Provider rates and workload assumptions behind the hourly estimate.

v0.2.0Updated September 5, 2026
Download Markdown ↓

Result

Base estimate: $0.894 per aggregate conversation hour, rounded to about $0.90. A planning range across the scenarios below is $0.40–$2.85/hour for combined LLM, STT, and TTS usage. This range describes chosen workloads, not a confidence interval or a maximum spend guarantee.

The base case represents six ten-minute website discovery sessions, each ending in a brief. Total hour: 36 minutes of visitor speech, 12 minutes of Otto speech, and 12 minutes of pauses, thinking, and interaction. We conservatively budget Soniox for the full hour rather than discounting every pause.

This is an aggregate usage unit. The app currently has a 45-minute access cookie, 30-minute Soniox maximum session setting, transcript/payload limits and session quotas. No uninterrupted one-hour-session test was performed. Long single conversations also repeatedly resend more context, making their LLM economics different from six shorter conversations.

Models actually represented

The pinned source defaults to z-ai/glm-5.3-flash for the base/report model. The inspected local configuration on the branch’s checkout also selects that model and simba-3.2 speech. It contains no local overrides for question, analysis, validation, or report routing. Hosted environment overrides have not been inspected.

Work Default OpenRouter route in this estimate
Conversational questions and speculative question preparation GPT-5.6 Luna
Incremental living-agenda analysis GPT-5.6 Luna
Reuse, turn/acceptance and answered-resolution checks GPT-5.6 Luna
Final brief synthesis and deeper report evidence review GLM-5.3 Flash
Streaming transcription Soniox stt-rt-v5
Speech generation Speechify simba-3.2

GLM-5.3 Flash is a separate model from full GLM-5.3. The founder’s stated selection criterion is a good cost/capability balance; this review does not establish comparative intelligence scores. Deeper work here refers to the job and its reasoning budget, not proof that GLM Flash is intrinsically more intelligent than Luna.

Rates used

Provider/model Budget rate Source and qualification
GPT-5.6 Luna $0.20/M input; $1.20/M output tokens OpenAI pricing; also reflected in OpenRouter’s comparison. No cache/temporary discount assumed.
GLM-5.3 Flash $0.15/M input; $0.50/M output tokens Non-promotional provider prices on OpenRouter. Some routes show $0.075/$0.25 promotions, with a banner ending September 9; do not budget ongoing operation around that discount.
Soniox streaming STT Approximately $0.12 per audio hour Soniox pricing. Actual billing is token-based: audio input $2/M, text input/output $4/M; advertised hourly equivalent is an approximation. Context and transcription volume can change it.
Speechify TTS $10/M billable characters Speechify Starter pricing. Whitespace and SSML tags are excluded by its billing FAQ. Applies advertised API pricing as a planning assumption; actual account terms/model eligibility need confirmation.

We use five billable characters per spoken word and 150 words per minute as English speech assumptions. That is 750 billable characters per generated minute. Speechify is charged for text generated into speech, including wasted preparation where billed—not for an entire hour of wall-clock conversation and not solely the seconds the visitor heard.

Base LLM worksheet

All token counts are estimates. Input counts include repeated transcript, system instructions, domain context, and supplied analysis. They are not just the user’s new words. Output estimates cover ordinary generated output; the additional reserve below allows for variability, reasoning, retries, and repairs, but is not a measured or guaranteed upper bound.

Work across six sessions Calls Average input tokens/call Average output tokens/call Cost
Conversation/preparation, Luna 180 3,000 90 $0.12744
Agenda analysis, Luna 120 5,000 1,000 $0.26400
Lightweight checks, Luna 180 3,500 30 $0.13248
Six report drafts + six deeper reviews, GLM Flash 12 8,000 1,500 $0.02340
LLM subtotal $0.54732
20% additional-work reserve $0.109464
Budgeted LLM usage $0.656784

Assume about twenty committed visitor turns per ten-minute session. The 180 conversational generations budget 120 useful responses plus sixty extra speculative/replacement generations. Exact reuse can avoid some work; failed or outdated preparation can add it. The 180 checks pool answered-resolution verification, changed-answer reuse, ambiguous turns, and acceptance checks. Internal model calls are not equivalent to HTTP request counts.

The independent analyst budget is a maximum, not a predicted usage rate: this example uses two analyses per minute, well below its ten-start browser ceiling. Raising that rate raises costs. The full transcript remains input to multiple calls; the architecture does not make background analysis free.

Add speech

STT = 1 hour × approximately $0.12/hour
    = $0.12

TTS = 12 spoken minutes × 150 words/minute × 5 billable characters/word
      × 1.30 preparation/waste allowance × $10 / 1,000,000
    = 11,700 billable characters × $10 / 1,000,000
    = $0.117

Total = $0.656784 LLM + $0.12 STT + $0.117 TTS
      = $0.893784 ≈ $0.90 per aggregate conversation hour

The 30% TTS allowance includes speculative speech that does not get used, interrupted output generated beyond playback, and other variation. It is an assumption to replace with actual billed characters. We do not count routine prerecorded fillers: this branch no longer plays them.

Sensitivity

Scenario LLM including reserve STT TTS including waste Combined/hour
Lighter prompts/work $0.216 $0.120 $0.069 $0.405
Base $0.657 $0.120 $0.117 $0.894
More analysis, longer context, more regeneration $2.492 $0.120 $0.240 $2.852

Lighter scenario: conversation 90 × 2,000 input / 70 output; analysis 60 × 3,000 / 600; checks 90 × 2,200 / 25; reports/reviews 12 × 5,000 / 1,000; 20% LLM reserve; eight minutes of speech with 15% TTS waste.

Heavier scenario: conversation 300 × 6,000 / 120; analysis 240 × 9,000 / 1,600; checks 360 × 6,500 / 50; report/review/repair calls 18 × 14,000 / 2,500; 35% LLM reserve; twenty minutes of speech with 60% TTS waste. This assumes larger supplied context as well as more requests. It is a workload scenario, not what the current compact prompts necessarily consume.

If full GLM-5.3 were intended instead, its reviewed standard listings show $1.40/M input and $4.40/M output—different economics. Replacing only the base report/review rows would raise the base combined estimate to about $1.12/hour. Replacing both incremental analysis and report/review with full GLM would make it about $2.45/hour under the same request/token assumptions. Those are hypothetical routing changes, not the current implementation. Full GLM-5.3 pricing

What this excludes

Hosting, storage, bandwidth, monitoring, human review, implementation and maintenance, taxes, payment/credit-purchase fees, and account-specific minimums or contract terms are outside this API usage estimate. No telephony is used. No cache savings, free credits, or negotiated rates are assumed.

Speechify Starter has a $10 monthly price with an included allowance. At low traffic, the allocated monthly invoice can materially exceed the $0.117 TTS usage equivalent. Allocate the actual monthly plan/overage invoice across usage; do not add the entire plan price and charge included characters again. Shared allowances used by other products also affect allocation.

Do not compare this directly with a managed platform’s all-in per-minute price and call the difference profit. Such a comparison must include hosting, operational features, support, engineering ownership, and comparable behavior.

The platform comparison applies this workload to published ElevenLabs, Vapi, Retell, Speechify, and OpenAI pricing, separating platform charges, provider usage, and incomplete native-audio estimates.

Replace estimates with billing evidence

The current model adapter consumes streamed content but does not retain complete provider token usage/cost records. The project has latency diagnostics, not a complete unit-economics ledger.

Instrument model purpose/provider/actual model, input/cached/output/reasoning tokens, billed cost, retry/repair counts, and prepared-work reuse. Meter generated TTS characters and STT usage from provider records, including canceled attempts when billed. Associate metadata with a session without logging the private transcript. Reconcile against invoices.

Report API cost per aggregate minute, per completed useful brief, and per started session so abandoned sessions remain in the economics. Measure actual conversation outcomes and real-audio latency alongside cost before putting a measured cost/performance claim in the article.