Bedtime story app: 365 nightly narrations and covers cost on Sume

A story a night for a year: 3,000-character narrations bill $54.75 on Sume TTS and covers on Ideogram 4.5 low add $13.69, so $68.44 for the year.

5 min readSume
All posts

A bedtime-story app that narrates one 3,000-character story every night for a year spends $54.75 on Sume TTS, because each nightly job bills $0.15 and there are 365 of them. A cover image from Ideogram 4.5 on the low tier adds $13.69 (365 at $0.0375), so the year costs $68.44. On the medium tier the covers cost $27.38 and the year $82.13.

A story is a fixed-length product, so it is one of the easiest things to budget: characters per story, times the Sume TTS rate of $0.0475 per 1,000 characters, rounded up to the cent for each job. Microsoft's MAI-Voice-2.1 lists $22 per million characters and the Flash variant $15 (read 2026-10-06), which would make the same year $24.09 and $16.43 in raw characters. MAI-Voice is not on Sume, so those are list prices for comparison only.

Sume TTS 1.0 at $0.0475 per 1,000 characters against vendor list prices, one story a night, read 2026-10-06
Characters per storyBilled per night365 nights on SumeMAI-Voice-2.1 list, 365 nightsMAI-Voice-2.1-Flash list, 365 nights
1,500$0.08$29.20$12.05$8.21
3,000$0.15$54.75$24.09$16.43
6,000$0.29$105.85$48.18$32.85
12,000$0.57$208.05$96.36$65.70

What a night of reading is in characters

Story length is the lever. A 1,500-character story bills $0.08 a night ($29.20 a year), and a 12,000-character story bills $0.57 ($208.05). The 20,000-character job limit is $0.95, which is the most any single narration can cost, so even a long chapter can be budgeted up front. If your stories vary, price the longest one you will allow and treat the rest as savings.

Cents rounding adds a little on short stories. A 1,500-character story is $0.07125 in raw characters and bills $0.08, a 12 percent premium, while a 12,000-character story is $0.57 raw and bills $0.57. Longer jobs lose the rounding.

  • Generate stories the day before, not at bedtime. Jobs are asynchronous: submit, poll the status, then fetch the audio.
  • Store the audio URL with the story, and never re-render a story that has not changed.
  • Keep covers on the low tier while you iterate, and promote the winner to high for the featured week.
  • Read GET /v1/balance once a day and top up in the dashboard when the balance falls below 30 nights of spend.

Price a year from your own story lengths

This script prices a year of nightly stories from a list of lengths, so you can paste in your real library instead of assuming a single length.

def job_cents(chars: int) -> int:
    return -(-chars * 475 // 100_000)


STORIES = [1500, 3000, 3000, 6000, 3000, 1500, 3000]  # sample week
COVER = 0.0375  # Ideogram 4.5 low, per image

week = sum(job_cents(c) for c in STORIES) / 100
year = week * 365 / len(STORIES)
covers = COVER * 365
print(f"narration/yr: ${year:.2f}")
print(f"covers/yr:    ${covers:.2f}")
print(f"total/yr:     ${year + covers:.2f}")

Three variations on the plan

Two languages double the narration line, because Sume bills per character and a translated story is a second job. A 3,000-character story in two languages costs $0.30 a night, $109.50 a year. A long weekend story of 12,000 characters on Saturday and Sunday swaps two nights of $0.15 for two of $0.57, which adds $0.84 a week, $43.68 a year, on top of the base plan.

A third variation is a seasonal series: 30 nights of one theme, 4,500 characters each. That is $0.22 a night and $6.60 for the month, plus 30 covers at $0.0375, $1.13, for $7.73 in total. Series like this are the cheapest way to test whether a theme holds attention before you commit a quarter of budget.

Where a wallet fits a consumer app

A consumer app with a fixed library does not need a live generation call at all if the stories are scheduled in advance. Render the next 30 nights in one batch, store the audio, and the wallet spend becomes a monthly line of about $4.50 for narration at 3,000 characters. That is a number a product manager can approve once.

Live, per-child personalisation is a different product. It multiplies the nightly job count by your user count, so price it per user per night before you build it. The live rates are on the Sume API rate card, and the Ideogram tiers are in the images docs.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume