What each client costs to serve. Rates read live from /Users/jeffreed/dev/christchurch-digital/costs/rates.json; attribution from hdr/data/costs.json. Nothing here is estimated — an unknown is an em dash.
| Month | Credits used | $ / credit | vs plan | Christchurch Miami |
|---|---|---|---|---|
| 2026-08 | 1,668 | $0.0624 | 133% | $104.00 · 1,668 cr |
| 2026-07 | 735 | $0.1415 | 59% | $104.00 · 735 cr |
| 2026-06 | 634 | $0.1640 | 50% | $104.00 · 634 cr |
| 2026-05 | 854 | $0.1218 | 68% | $104.00 · 854 cr |
| 2026-04 | 1,543 | $0.0674 | 123% | $104.00 · 1,543 cr |
Not billing yet: CCM Students, thechurch.digital installations. Their columns appear the week they render anything.
| Deliverable | Credits / min | Credits | At plan | Effective at 2026-08 volume |
|---|---|---|---|---|
| Spanish sermon dub Christchurch Miami · translate_speed · 40 min as 30 + 10 | 6 | 210 | $17.39 | $13.09 |
| Chaplain America Christchurch Miami · avatar_iv_photo_looks · 5 min as 3 + 2 | 16 | 80 | $6.62 | $4.99 |
| Deliverable | Web, allocated | API, per week | Multiple |
|---|---|---|---|
| Spanish sermon dub translate_precision · $4.00/min × 40 min | $17.39 | $160.00 | 9× |
| Chaplain America avatar_iv_photo · $3.50/min × 5 min | $6.62 | $17.50 | 3× |
| Per week | $24.01 | $177.50 | 7× |
| Per month | $104.00 | $249.17 – $769.17 | 2–7× |
The monthly range is the sermon priced at Speed ($1.00/min, audio only) through Precision ($4.00/min, lip sync). Which one is the fair comparison is open — see below.
| Split of a 40-min sermon | Credits | vs best |
|---|---|---|
| 40 — one render | 150 | untested |
| 30 + 10 | 210 | cap-first |
| 20 + 20 | 240 | +30 |
| 15 + 15 + 10 | 240 | +30 |
Blocks: Every capacity answer — is the standing weekly plan sustainable, and is the $75 add-on optional or load-bearing?
Claude's autofill suggested 1,500. HeyGen's own AI assistant said 600. The UI showed neither. Jeff: 'I can't validate 1,500 credits anywhere.' Observed ceiling is between 1,600 and 2,100 — August's 1,668 credits triggered $130 of top-ups, which brackets it.
Resolve by: An invoice or HeyGen support. Not an assistant.
Blocks: Whether the standing 30+10 split is actually the cheapest one.
The 150-credit cap bites at 25 min for translate_speed (150 credits / 6 per min), not 30 — yet renders of 30 to 35 min are observed in the billing export, all billing exactly 150. If a 35-minute render is accepted, splitting 35+5 costs 180 credits where 30+10 costs 210: 30 credits a week, the same size as the even-split mistake.
Resolve by: Upload one 35-minute part and watch whether it is accepted and what it bills.
Blocks: Nothing outright, but it is the weakest link in every dollar on this page.
Renewals of exactly $104.00 on Jun 25, Jul 25 and Aug 25 2026, and a $29 base confirmed by HeyGen, leave $75 for the add-on. That $75 was inferred from a -$62 proration on day 0 of a cycle, not read off an invoice line.
Resolve by: One invoice with the line items shown.
Blocks: Only the avoided-cost figure, which moves 4x between the two. No money on this page depends on it.
The web render bills 6 credits/min, which is translate_speed's rate (audio only, no lip sync) — verified by a 923s part billing 92 credits. But tools/heygen_cost.py argues Precision is the fair comparison because the Spanish uploads carry a YouTube AI-disclosure flag precisely because they are lip-synced. Both cannot be true of the same output. Speed prices a 40-min sermon at $40 on the API; Precision at $160.
Resolve by: Watch one finished Spanish dub: if the mouth matches the Spanish, the web job is doing lip sync at Speed's credit rate and Precision is the right comparison.
| Vendor | Status | $ / month |
|---|---|---|
| HeyGen | measured | $104.00 |
| Cloudflare (Workers, Pages, R2 egress) | unmeasured | — |
| Recraft | unmeasured | — |
| Unsplash | unmeasured | — |
| Claude usage | unmeasured | — |
| Domains | unmeasured | — |
The web path costs Jeff TIME, not money: each dub is a manual _Inbox CCM handoff — upload a part, wait, download, return it. A dashboard that shows only dollars makes the cheap path look free when it is actually paid for on a Sunday afternoon. Fill these two numbers in and the dashboard will price it; until then it says so out loud. Rate on file: —/hr · — hrs/week.