ElevenLabs: The question the product won't answer

ElevenLabs charges credits for everything it generates. I went looking for how that works, and found the answer in a documentation page, a tooltip, and a setting below the fold. Never on the screen where the spending happens.

What this is

An independent teardown. Self-directed and unpaid. AI audio, pricing.

Analysed

One account, one tier, one day · August 21, 2026

Method

Every tool walked by hand, costs read off the screen and checked against the docs

Independent. Not affiliated with, commissioned by or reviewed by ElevenLabs. One account on one tier over a single day, plus the published documentation, so it may look different further up the plans.

I spent a day trying the different features of ElevenCreative, the platform ElevenLabs builds for people making things, working through Text-to-Speech, Sound Effects, Music, Dubbing, Voice Changer and Studio. Around the third tool I noticed I had been asking the same question at every one of them without getting an answer.

What is this going to cost me?

Part of that is a pricing question. Expensive is the top complaint on G2 reviews as well, 171 mentions, and a share of those reviewers want a cheaper per-character rate for bulk work.

The rest is the product being unable to say what it charges at the moment it charges.

Eight reviews from G2 answering the question "What do you dislike about ElevenLabs?". Each one names the cost of credits: it gets pricey over longer pieces and repeated iterations; the credits do not go far enough; credit drain is the biggest gripe, because every misread sentence means hitting generate again; the pricing is limiting at high volume and unused credits do not carry over; prices are high for large datasets; costs accumulate when a long script needs redoing for tone; redoing a voice means paying for the same thing twice; and fast credit burn forces work to be broken into smaller pieces. Two of them ask directly for what is missing, a free low-res preview to test intonation before paying, and clearer pricing, because credit usage for long audio is not transparent.
Eight answers to the G2 question "What do you dislike about ElevenLabs?". Every one of them names the cost of credits. Several name the same cause: paying again for a line that had to be redone.

The published price and the real one

The Sound Effects documentation gives the cost as 40 credits per second when duration is set.

The Usage section of the ElevenLabs Sound Effects documentation. Sound effects take a text description and two optional parameters. Duration sets a specific length in seconds, defaults to automatic, ranges from 0.1 to 30 seconds, and costs 40 credits per second when duration is specified.
The published rate, in the Sound Effects documentation. Forty credits per second when duration is specified.

I set it three times.

The ElevenLabs Sound Effects panel with duration set to 1 second, quoting a cost of 10 credits
One second, quoted at 10 credits. The documentation says 40.
The ElevenLabs Sound Effects panel with duration set to 5 seconds, quoting a cost of 50 credits
Five seconds, 50 credits.
The ElevenLabs Sound Effects panel with duration set to 10 seconds, quoting a cost of 100 credits
Ten seconds, 100 credits. Ten a second, three times over.

1 second

10

credits quoted

5 seconds

50

credits quoted

10 seconds

100

credits quoted

Ten credits a second. A quarter of the published rate. I can't tell which of the two numbers is wrong, and neither can anyone reading the docs to plan a month of work.

An agent with no ceiling

Studio Agent is labelled Alpha, so I was expecting some surprises. I asked it to add effects to a project. The header read 5,958 credits before I started.

Studio in ElevenLabs before the agent has run. The header reads 5,958 credits remaining and the Studio Agent panel is empty, offering to help write scripts or create montages.
Before anything runs. 5,958 credits, and an empty agent panel.

The panel settled on 423 credits used by the agent. The header still read 5,958.

Studio after the agent has run. The panel reports 423 credits used by the agent, while the header still reads 5,958 credits remaining.
The agent reports 423 used. The header has not moved.

Then the header fell to 5,535. The same 423.

Studio a moment later. The header now reads 5,535 credits remaining, while the panel still reports 423 credits used by the agent.
The header settles at 5,535, which is exactly the 423 the panel reported.

It is not lagging, and it is not wrong. The tooltip explains what it is: Cost of the agent's LLM calls in this conversation. Any generations produced are charged separately.

A tooltip sitting above the agent's credit counter, reading "Cost of the agent's LLM calls in this conversation. Any generations produced are charged separately." Below the tooltip the counter reads 423 credits used by the agent.
The tooltip, on hover. The counter covers the agent's own LLM calls, not whatever those calls go on to generate.

The counter covers the agent's own LLM calls. Anything produced along the way is charged on top of it, and hover is the only place that says so. This run was cancelled early, so there was little to charge. On a run that generated, the two numbers would have parted, and nothing on screen would have said so. While it worked, there was no cap I could set.

Alerts that watch everything except money

Under the Developers section, there's a complete alerting system. Timeline, filters, auto-resolve after inactivity, webhook delivery. The thresholds on offer are conversation failure rate, tool failure rate, webhook error rate, guardrail trigger rate, call initiation error rate.

The Monitor thresholds panel from the Alerts tab under Developers in ElevenLabs. It offers an auto-resolve-after-inactivity setting, defaulting to two hours, and five thresholds that can be configured: conversation failure rate, tool failure rate, webhook error rate, guardrail trigger rate, and call initiation error rate. There is no threshold for spend.
Every threshold the alerting system offers. Read the list: not one of them is about money.

Five thresholds, all of them about agents falling over. None about the spend.

Auto Top Up meanwhile charges a saved card to keep usage uninterrupted, its monthly spend cap is off by default, and it allows up to 250 top-ups a month. A balance can refill itself 250 times with no ceiling unless someone goes looking for the setting, and nothing in the alerting system is watching. I had to check the support documentation, and still had to hunt for the setting: Developers, then Usage, below the fold.

The Setup Auto Top Up dialog. Automatic Top up is toggled off. Top up by is set to $20, triggered when the balance drops below $10. The monthly spend cap field is labelled "leave blank for no limit" and reads No limit.
Setup Auto Top Up, found under Developers then Usage, below the fold. The monthly spend cap is blank, and blank means no limit.

The same problem, already solved next door

Every one of these shipped to agents and the API. None of it reached ElevenCreative.

Date Shipped to agents and the API ElevenCreative
April 20, 2026 Credit usage broken down by product, over time. Replaces the old character-stats endpoint Unavailable
May 13, 2026 Workspace analytics for requests: time ranges, filters, search, sort Unavailable
June 15, 2026 Timezone-correct usage reporting Unavailable
July 6, 2026 The cost of each conversation, in US dollars, plus per-category charge, price and usage breakdowns Unavailable
July 13, 2026 A monthly credit cap you can set for each person you invite Unavailable

Source · ElevenLabs changelogs, April to July 2026

Five releases in four months, all on one side of the house.

The July 13 row is the one I keep coming back to. A monthly spend cap exists in this product. It was built for the people a workspace admin invites, not for the person doing the spending. My own top-up cap is off by default.

So the capability is here. It reaches developers who read API reference docs, and not the people writing the reviews.

What I'd change

Not a redesign of any of these screens. One cost contract every surface has to satisfy, rendered differently depending on what it makes.

  • What this costs, marked exact when the settings determine it and estimate, up to X when they don't.
  • What's left, and when it resets.
  • What happens when you can't afford it, since Dubbing currently lets me start a job I can't finish.
  • A stop, for anything that spends continuously.

I built it. There is a forty-second walkthrough and a working prototype at the end of this section.

The frames below are drawn on Text-to-Speech, which is where most of the day went. The contract is meant to hold across every tool that spends.

Current design

Neither number is on it. The balance does not say when it comes back, and the button does not say what pressing it costs.

The Text-to-Speech bar as it is today. The balance reads 5,535 credits remaining with no reset date, the counter reads 1,520 of 5,000 characters, and the button reads Generate speech with no price on it.
Text-to-Speech today. The balance does not say when it resets, and the button does not say what it costs.

Suggested changes

Three, and none of them moves anything that is already on the screen.

The cost, on the commit control itself

On the button, because that's the moment of commitment. Same reason a checkout button carries the total rather than making users go find it.

The reset date, on the balance

A balance with no reset date can't be budgeted against, and today that date only exists on the billing page.

The proposed Text-to-Speech bar. On the left the balance reads 6,737 credits, resets 4 Sep. On the right the button reads Generate speech, 186 credits. Two annotations: the balance names its reset date, because a number with no horizon cannot be budgeted against and today that date lives only on the billing page; and cost rides the button, so the price appears at the moment of commitment like a total on a checkout button instead of being something you go and find.
The same bar, proposed. The reset date sits on the balance, and the cost rides the button.

An insufficient-balance state, as a second frame

When the cost exceeds what's left, the bar says so before the action can start, and names the shortfall against the reset date.

The proposed insufficient-balance state. A bar reads "144 credits short. This render costs 186 credits and you have 42 left until your balance resets on 4 Sep", with a Top up credits button beside it. Below, the balance reads 42 credits, resets 4 Sep, and the Generate speech button is disabled but still shows its price of 186 credits.
The second frame. The shortfall, the cost and the reset date arrive together, before the action can start rather than as a failure after it.

Both of these are built

The frames above are stills of a working thing, not drawings of one. Here is the same generation running on both versions of the bar at once, today on the left and the proposal on the right.

Forty seconds, side by side. Open it full screen

Interactive prototype · opens full screen The cost contract, working The Text-to-Speech bar rebuilt to the four requirements above. Type into it and the price on the button moves with the character count. It needs the room, so it opens on its own screen.

Why a better model doesn't fix this

The help centre describes two things ElevenLabs is working on. One is a way to let people preview at full quality without raising prices. The other is making the model controllable enough that nobody needs to preview at all.

Making the model better won't remove the need for the preview.

I wouldn't preview because I distrust the model. I'd preview because I'm the author. I might not like a word. I might cut a line, or add one. That's editing, and editing is the job, not a defect in the pipeline. A better model makes fewer mistakes. It doesn't make me change my mind less often.

18 things went into my notes that day. One was about how the audio sounded.

There are partial answers in the product already. Two free regenerations in Text-to-Speech, and v3 returning two takes for the price of one. Both help with a bad roll of the dice. Neither lets me hear my own words before I pay for them.

Resources

Everything else here is first-party, read off the interface by hand on August 21, 2026.

Links