product

EmberKiln — Brand + Rollout Plan

Locked in 2026-05-24. The Audiobook Creator Suite ships as EmberKiln, the creator-facing production side of the existing Graphene listener network.

Brand decision

Name: EmberKiln URL: TBD — most likely graphene.fm/studio (path) or studio.graphene.fm (subdomain). Decision deferred to launch.

Why not DreamPro:

  • "DreamPro" reads creative / consumer / aspirational. Authors picking a tool to publish to Audible want trustworthy / professional — same mental category as ACX, Findaway, Reedsy.
  • Audience for the DreamPro Chrome extension + Open Energy template framework doesn't overlap with audiobook publishers; bolting the suites under one brand dilutes both.
  • DreamPro keeps its existing scope; the audiobook suite was the wrong fit.

Why EmberKiln:

  • The Graphene listener network gives natural distribution — listeners discover Studio when they want to publish their own work.
  • "Studio" is the standard naming pattern for the production-side counterpart of a media network (YouTube Studio, Spotify for Artists, Apple Podcasts Connect). Authors recognize the convention.
  • Same domain = shared auth, shared payments, shared brand equity. Cheap.

Naming convention:

  • User-facing surfaces (marketing pages, modals, ads, support copy): "EmberKiln"
  • Internal code + technical docs: keep audiobook-* filenames and docs/ai/features/audiobook-suite.md — the brand is a marketing layer over the existing technical naming.

7 features shipped (Phase 0 internal-ready)

All under SuperAdminPanel on /seasons/[id], novel-mode only:

#FeaturePR
1Manuscript ingest (EPUB / DOCX / PDF + cover)(pre-session)
2Pronunciation lexicon + 🪄 auto-suggest#86
3Character voices + ✨ auto-cast#85
4ACX / M4B export(pre-session)
5🎧 Pre-flight audio preview#84
6🎬 Bulk chapter render with live progress#87
7🎙 Audiobook status overview card#88

End-to-end flow: upload manuscript → bible bootstrap → auto-cast voices → auto-suggest lexicon → preview → bulk render → export M4B.

Rollout phases

Phase 0 — Dogfood (now, ~1-2 weeks)

  • Run 2-3 real manuscripts through the full pipeline yourself
  • Use Project Gutenberg public-domain books (no licensing friction)
  • Goals:
    • Catch wild-state bugs before customers see them
    • Generate demo audiobooks for marketing
    • Lock down real unit economics ($ per book in LLM + TTS + storage)

Exit criteria: 2-3 complete .m4b files we'd ship; documented cost-per-book for a typical 60k-word novel.

Phase 1 — Closed beta, 5-10 authors (4-6 weeks)

  • Hand-recruit from Graphene listeners, writing Twitter, NaNoWriMo finishers
  • Concierge onboarding — Sandon walks each author through personally
  • Free; we eat the TTS cost
  • Goal is NOT revenue. Goal is 5 finished audiobooks shipped to Audible from beta users — those become the case studies for Phase 2.

Exit criteria: 5+ beta-user audiobooks live on Audible; testimonials captured.

Phase 2 — Public beta with pricing (3-6 months out)

  • Self-serve onboarding via public /studio/new (or final URL)
  • Pricing model: superseded — the revenue-share / flat-per-book sketch below was replaced by the $5/mo Graphene+ bundle + one-time credit packs that actually shipped. See TTS unit economics + pricing decision for the live model, the margin math, and why we landed there.
    • Default: Revenue share on Audible royalties
    • Option: Flat per-book fee ($N TBD)
    • AVOID pure subscription — reversed: bundling creation into the existing $5/mo listener subscription gave the simpler marketing story ("$5/mo: listen to everything + make your own") and the lumpy-usage problem is handled by credit packs on top of a small included allotment.

Exit criteria: Steady-state of 5-10 new books/week through the system; positive unit economics on the flat-fee tier.

Phase 3 — Scale (post-validation)

  • Genre voice templates (memoir / romance / thriller defaults)
  • Affiliate/partnership program (Reedsy, Scrivener, writing community sites)
  • ACX-fulfillment partnership (we handle Audible submission for the author)
  • API for power users

Phase 1 progress

  • Beta signup funnel — public landing page at /studio with the Audiobook Creator Suite pitch + qualifying form. Captures intake to studio_beta_signups (migration 288) for admin review + outreach. Honeypot-protected. Companion to the existing /studio/welcome 90-second tour for already-granted creators. (PR landed 2026-05-24.)
  • Beta-signup admin + one-click Creator grant/dashboard/admin/studio-signups closes the loop: super-admins triage the signup queue (status filter + per-status counts), advance status (pending → reviewed → invited → onboarded), and grant Creator access in one click via POST /api/studio/beta-signups/:id/grant-creator. Granting flips is_creator=true on the user's profile — the existing requireSuperAdmin middleware already accepts is_creator, so every audiobook-suite route is unlocked without further middleware changes. User-not-found case (signup email has no HiveJournal account yet) surfaces a "share a signup link first" hint inline. (PR landed 2026-05-24.)
  • Transactional invite email on grant — when admin clicks 🎁 Grant Creator, the new creator gets a personalized "you're in" email (sendStudioGrantEmail) with links to /studio/new, /studio/welcome, and /login. Best-effort send: failure falls through, the grant still lands. Admin UI surfaces email-send status inline. (PR landed 2026-05-24.)
  • Public /studio/new manuscript upload — mirror of /dashboard/admin/manuscripts/new mounted at the Studio-branded URL so granted creators never see admin paths. Both routes share ManuscriptUploadClient with an optional seasonRouteFor redirect prop. (PR landed 2026-05-24.)
  • 🔄 TTS cost trackingtts_call_log schema + per-call logging + per-season rollup on AudiobookOverviewCard. PR #90 awaiting merge + migration 286 apply. Required before pricing / quota.
  • Per-user TTS quota enforcement — hard rolling-30-day char cap per creator. Migration 289 adds profiles.tts_monthly_char_limit (default 500k for is_creator users). Preflight check in ttsSegment throws on over-cap; route handlers translate to a structured 429; preview modal renders a "🚦 Monthly TTS limit reached" panel with usage bar. Grant flow stamps the default limit on new beta grants. (PR landed 2026-05-24.)
  • Pricing + Terms + Privacy pages + acceptance gates — three new public pages (/studio/pricing, /studio/terms, /studio/privacy) sharing a new StudioChrome header + footer. Beta signup form requires a TOS+Privacy+rights-covenant checkbox; /studio/new requires a per-book rights-attestation checkbox. (PR landed 2026-05-24.)
  • Customer support surface/studio/help with FAQ + contact form + Discord placeholder. POST /api/studio/support-request routes to sandon@hivejournal.com via Resend with topic-prefixed subjects; reply_to set so the human can hit reply directly. Help link added to footer + SuperAdminPanel + welcome email. No DB queue — Phase 1 volume routes through email. (PR landed 2026-05-24.)
  • Creator home dashboard/studio/dashboard gives granted creators a real Studio home: greeting + + New manuscript CTA, color-coded monthly TTS usage chip, grid of their audiobooks with cover + status pill + render-progress bar. Welcome email's primary CTA flips to "Open Studio". Closes the "where do I go after grant?" gap. (PR landed 2026-05-24.)
  • Render-complete emails — bulk chapter audio (render-all-chapters, 30s-15min) and M4B export (acx-export, 30s-5min) now email the season owner when they finish. New sendStudioRenderCompleteEmail helper in studio-notifications.ts resolves owner → email, skips on platform-owned shows / failure paths / missing API key; uses the same tracker detail string as the runs feed so creators see "Rendered 12/12 · 3.4hrs audio" inline. Closes punch-list item #7 partially — render-started + per-step emails deferred until creators ask (they're already watching the page when they kick off a render). (PR landed 2026-05-24.)

TTS unit economics + pricing decision (2026-05-28)

The live model is $5/mo Graphene+ (bundles listening + creating) with a small included TTS allotment, then one-time credit packs for real production. TTS (ElevenLabs) is ~80% of audiobook COGS; LLM + images are rounding error, so TTS is the only cost that has to be priced right.

Cost basis

  • ElevenLabs: moved to the Business tier (~$1000/mo ≈ 11M chars) on 2026-05-28 after the $330 Scale tier (2M chars) maxed out. Marginal cost is now ~$0.09/1k chars (was ~$0.22/1k on the Creator tier). The $1000 is a FIXED monthly cost shared across fleet content + all creators — the real aggregate ceiling, now alerted in /dashboard/admin/system-health (PR #269).
  • Stripe: 2.9% + $0.30 → ~$0.44 on a $5 charge, so a $5/mo sub nets ~$4.56.
  • Accounting rate (TTS_COST_CENTS_PER_KCHAR in tts-spend.ts) is held at a conservative 20¢/k — over-reports COGS vs the ~9¢/k marginal so the billing dashboard never under-states cost.

Credit packs (shipped PR #270 — studio-credit-packs.ts)

PackCharsPriceRate~Margin (net of Stripe + ~9¢/k cost)
small100k$50$0.50/1k~$39 (~80%)
large500k$200$0.40/1k (20% volume discount)~$148 (~77%)

$0.50/1k ≈ 5.5× the new marginal cost / 2.3× the old — robust enough to cover the fixed plan at partial utilization, Stripe, non-TTS COGS, and margin. The prior packs sold at $0.02/1k (500k for $10) — ~5–10× below cost; every purchase lost money. Deploy note: the Stripe Price objects behind STRIPE_PRICE_STUDIO_CREDITS_SMALL/LARGE must match $50/$200 — checkout charges the Stripe Price; cost_cents in code is only the recorded snapshot.

The included-allotment decision: 20k (not 50k)

DEFAULT_CREATOR_MONTHLY_CHAR_LIMIT = 20k chars/mo included with the $5/mo base (PR #270; was a free 500k, which gave away ~$45–110 of TTS per creator — the opposite of self-sustaining). A full 8-chapter show is ~40–56k chars, so 20k ≈ 3–4 chapters / a publishable sample.

We explicitly considered raising it to 50k ("one full show free monthly"). The deciding number is the typical one-show-a-month creator (~50k chars):

IncludedBase-only margin if allotment maxedTypical 1-show/mo creator → your margin
20k (shipped)~$2.76/mo$5 base + 30k overage in credits ($15) → ~$15/mo
30k (middle)~$1.85/mo20k overage in credits ($10) → ~$10/mo
50k~$0.06/mo (break-even)fits entirely in free allotment → ~$0.06/mo

Decision: keep 20k. At 50k, the typical creator's entire normal output fits inside the free allotment — they never hit a credit pack, and credit packs are where the ~80% margin lives. 50k doesn't shave a little margin; it gives away the credit-pack pull on the bread-and-butter creator entirely. 20k funnels real producers into packs while still covering a sample. (Pure listeners on $5/mo generate $0 TTS → ~$4.56/mo pure margin and subsidize the whole base regardless, so the blended business is healthy at any allotment — but per-active-creator profit is the lever, and 20k wins it.)

It's a one-line constant — if early adoption ever becomes the bottleneck, bumping to 30–50k is trivial; the cheap new tier leaves room. For now the stated goal is self-sustaining + profit, so it stays at 20k.

Grandfathering: lowering the default only affects new grants + NULL-limit creators. Creators backfilled to 500k by migration 289 keep that until re-capped via a one-off UPDATE profiles SET tts_monthly_char_limit = 20000 WHERE ....

Pre-paid-launch punch list (blocks Phase 2)

These are the only blockers — every other audiobook feature can ship later.

  1. Ungate audiobook routes from requireSuperAdmin to a paid-user tier
  2. Cost tracking per user/season — new tts_call_log table + wrap ttsSegment to log character counts + cost. Without this you can't price, can't enforce quota, can't ship to paying users.
  3. Quota enforcement (free preview vs paid render limits)
  4. Public /studio/new manuscript upload page (admin one exists but is super-admin-gated at /dashboard/admin/manuscripts/new)
  5. Pricing page (doesn't exist yet)
  6. TOS pass: user-uploaded copyrighted manuscripts, ACX compliance disclaimers, ElevenLabs ToS passthrough, voice-cloning ethics statement
  7. Transactional email flow (render started / render complete / M4B ready)
  8. Customer support surface (Intercom widget, email, Discord — pick one)

Highest-leverage next ship: #2 (cost tracking). Everything else can be parallelized, but without per-user cost telemetry you can't price.

GTM channels worth real effort

  • Reedsy partnership — owns the indie self-pub workflow; getting featured in their tool directory + email is high-leverage
  • NaNoWriMo Nov 2026 — huge surge of fresh manuscripts looking for "what do I do next"; time public launch to land before then
  • r/selfpublish + r/audiobooks — direct community presence, AMA-style
  • Joanna Penn's Creative Penn podcast + Self-Publishing Show — sponsorships reach exactly the ICP
  • Direct outreach to mid-list ACX authors paying $200-400/finished-hour to human narrators today — they're the perfect ICP (already proved willingness to pay; we're 10x cheaper at acceptable quality)

Out of scope for now (Phase 3+ deferral list)

  • Multi-language TTS (English-only at launch)
  • Voice consistency QA across chapters (drift detection)
  • Marketing trailer auto-generation (separate from pre-flight preview)
  • In-browser manuscript editor (creators bring finished prose)
  • Voice cloning of the author's own voice (legal/ethical lift not worth it before product-market fit is proven)
  • Audiobook-creator dashboard at /dashboard/audiobook/[seasonId] (the in-panel overview card from PR #88 covers Phase 0-2; a dedicated route is Phase 3 polish)
EMBERKILN ROLLOUT — Docs | HiveJournal