Racks & WattsLOCAL HARDWARE / CLEAR PICKS

Voice assistants

ElevenLabs vs local TTS: Kokoro and Piper for a voice assistant

Compare ElevenLabs pricing with local Kokoro and Piper: monthly voice-assistant costs, CPU vs GPU needs, licences, languages, latency and privacy.

ElevenLabsVoice assistants

Choose the voice, then price the right speech layer.

Separate the productsTTS characters, Creative credits and Agents minutes differ.

Budget the actual textModel replies per day and characters per reply.

Test before buying GPUsAudition voices and time cold and warm requests.

Your plan, at a glance.

THE LAB BRIEF

The short answer.

Choose ElevenLabs for a voice or hosted conversation service worth paying for. Choose Kokoro or Piper for local speech, with CPU-first testing and no invented performance promises.

  • Local accelerationGPU optional
  • Cost examples3 usage levels
  • EvidenceOfficial sources

How we evaluate hardware.

Pay for ElevenLabs when a particular voice, language or managed conversational service is worth the recurring bill. Start with local Piper or Kokoro when reply text should stay on the device, offline operation matters, or you already have suitable compute. A GPU is optional for both local engines; buy one only after testing the CPU path against the rest of the assistant’s workload.

This is a decision guide for a generic voice-assistant test bench. It uses official documentation and calculated usage examples, not original TTS benchmarks. Prices and project documentation were checked on October 18, 2026. We have no recorded TTS latency, power or voice-quality measurements to rank these options.

Choose the speech layer before the subscription

A voice assistant needs speech recognition, a system that decides the reply, and speech synthesis. ElevenLabs’ TTS API, Kokoro and Piper cover that last stage: text in, speech out. They do not by themselves supply the whole assistant.

A useful bench arrangement keeps the same recognition and reply-generation stages while swapping only the synthesizer. That isolates the decision you are making. Moving speech output to the cloud does not require moving every other stage there; moving it locally does not make the other stages private.

ElevenLabs also offers ElevenAgents, its managed conversational product. That bundles speech input/output and agent features, with call-minute pricing and additional model costs. Decide whether you need a speaking voice for an existing assistant or a hosted conversation service before comparing prices. ElevenLabs’ Agents pricing describes the latter.

ElevenLabs pricing: credits, API characters and overage

The important distinction is the billing surface. ElevenCreative pricing describes a credit pool; the API pricing page lists dollar rates and character allowances. The same plan names appear across products. Here is the recurring monthly snapshot, with promotional prices excluded:

Plan Regular monthly price Creative credits API Flash/Turbo characters API Multilingual characters Agents call minutes
Free $0.00 10,000 20,000 10,000 15
Starter $6.00 30,000 150,000 75,000 75
Creator $22.00 121,000 550,000 275,000 275
Pro $99.00 600,000 2,475,000 1,238,000 1,238
Scale $299.00 1,800,000 7,475,000 3,738,000 3,738
Business $990.00 6,000,000 24,750,000 12,375,000 12,375

Enterprise is custom-priced. These columns describe the advertised allowances for the relevant product, not independent budgets you should add together, and the API character columns are not a conversion of the Creative column. Other usage can consume available balance; check the account’s actual allowance before estimating a mixed workload.

For Creative Multilingual v2, a character consumes a credit. Flash/Turbo API credit treatment on the Creative page depends on the model and plan. For the dollar-metered API modeled below, the published rates are $0.04 per 1,000 Flash/Turbo characters and $0.08 per 1,000 multilingual characters. Use the pricing page for the specific model rather than applying either rate to every model in the catalog. All prices here are USD before tax. Creative billing details and API rates.

The advertised Creator first-month discount is not its ongoing monthly price. Starter is also showing a temporary first-month offer on the check date. The table uses regular monthly billing throughout; it does not use annual discounts or rollover to make the examples look cheaper.

What happens when the allowance runs out?

For new self-serve accounts, Pay As You Go is prepaid. Included quota is used first, then the top-up balance. The minimum USD top-up is $5, and top-up credits expire after 12 months. With no available balance and no successful automatic top-up, service pauses. A small month’s consumption can therefore be less than the cash payment needed to fund the account.

Postpaid usage-based overage is a legacy/Enterprise arrangement, not a feature to assume on a new self-serve subscription. Eligible legacy Creator, Pro, Scale and Business accounts can enable it; the applicable extra-credit rate is shown in the account before confirmation. The current overage documentation does not provide a universal rate to apply to all those accounts. This guide does not reuse an old credit-overage rate as a current API price.

Monthly costs at three usage levels

These are hypothetical usage levels, not anyone’s recorded activity. Each uses a 30-day month, one generation per reply, and the character length shown, with no retries or premium-voice surcharge. The TTS examples use the Free/PAYG API allowances: 20,000 Flash/Turbo characters or 10,000 multilingual characters, with all of that allowance available for speech output. The allowances and rates come from the API pricing table.

Usage Replies/day × characters/reply Characters/month Flash PAYG Multilingual PAYG Agents minutes Agents Creator + extra Local service fee
Brief replies 20 × 120 72,000 $2.08 $4.96 600 $48.00 $0.00 + running costs
Regular conversation 60 × 200 360,000 $13.60 $28.00 1,800 $144.00 $0.00 + running costs
Heavy interaction 150 × 300 1,350,000 $53.20 $107.20 4,500 $360.00 $0.00 + running costs

Read the columns as alternative architectures. The TTS dollar columns are metered PAYG consumption after the stated allowance, not a complete assistant bill or a promise of that month’s card charge. They exclude speech recognition, the reply-generating model and tax. Free/PAYG retains the underlying free-tier feature restrictions; do not assume a top-up grants a paid plan’s commercial licence or cloning features. The Creative plan table explicitly lists commercial licensing from Starter. Check the terms for your intended use.

The Agents column is explained below. The local column is the absence of a per-character service fee, not a zero total running cost. Hardware, electricity and maintenance still belong in the budget.

The arithmetic is reproducible:

characters/month = replies/day × characters/reply × 30
TTS consumption = max(0, characters − included characters) / 1,000 × API rate
Agents example = $22 + max(0, billed minutes − 275) × $0.08

For local electricity, meter the added energy over a representative workload and multiply kWh by your tariff. As a hypothetical budget example only, an added average load of 5 W over 720 hours uses 3.60 kWh; at an assumed $0.20/kWh, that is $0.72/month. Neither the wattage nor throughput is measured here, and this example does not establish that any particular machine can handle the table’s loads. Replace those inputs with a measurement. Add the cost of any new hardware spread over your chosen ownership period; existing hardware still has an energy and capacity cost.

ElevenAgents is a separate conversational product

ElevenAgents is part of ElevenLabs, rather than another company’s alternative. Its published plans include TTS, speech recognition, knowledge bases and agent features. The final column in the plan table shows its included call minutes. Those minutes are not TTS characters or Creative credits.

Standard additional call minutes are listed at $0.08/minute. Exceeding the concurrency allowance can trigger $0.16/minute burst pricing. LLM usage costs extra according to the selected model, and an external telephony provider can bill separately. Paying for hosted calls does not make those charges disappear.

For the usage table, each reply interaction is assumed to occupy one billed call minute, including user speech and pauses. Thus the scenarios use the stated 600, 1,800 and 4,500 minutes. This is a separate sizing assumption, not a conversion from characters to speaking time. The shown totals use Creator plus standard additional minutes, with no burst, LLM or telephony charges. They are a reproducible example, not a claim that Creator is the best plan for every workload.

Choose hosted Agents when you want the conversation platform and its integrations. If an assistant already produces reply text, compare the TTS API with local synthesis first; buying managed conversation handling may solve a problem you do not have.

Kokoro vs Piper: hardware, languages and licences

Kokoro: open weights with CPU and GPU paths

Kokoro-82M’s model card lists 82 million parameters, Apache-2.0 weights, and eight languages with 54 voices for its referenced release. It is an open-weight model; that description should not be confused with a guarantee about every dependency or third-party package.

The official inference library documents English variants, Spanish, French, Hindi, Italian, Japanese, Brazilian Portuguese and Mandarin Chinese. Japanese and Chinese need the corresponding language extras, and the setup uses a pronunciation frontend with espeak-ng fallback. Check the voice/language combination you actually need rather than treating the language count as equal quality in every voice.

The pipeline code supports CPU and accelerator selection. A compatible Python/PyTorch environment, model files and pronunciation dependencies are the starting requirements; CUDA is optional. The sources reviewed here do not establish a universal minimum RAM/VRAM figure or an acceptable response time on your CPU. Large GPUs mentioned in training details are not inference requirements.

Piper: local inference, with licences at two levels

The maintained Piper engine is OHF-Voice/piper1-gpl, whose package declares GPL-3.0-or-later. Do not apply an older Piper repository’s MIT label to the maintained engine. Separately, each voice’s MODEL_CARD contains its own licensing information; some voice licences are restrictive. Check both engine and chosen voice terms for the intended distribution or commercial use.

The CLI documentation describes ordinary local inference and optional CUDA acceleration with the GPU runtime. It includes desktop Linux and Raspberry Pi platform examples. Start on a supported CPU platform with the chosen voice’s model and configuration files; verify current package availability for your device. A GPU is not a prerequisite.

For repeated replies, keep the synthesizer loaded. Piper’s documentation warns that launching the CLI for every request reloads the model and recommends persistent operation for repeated use. That is an implementation caveat, not a measured latency result.

Voice quality is an audition, not a model-size ranking

Kokoro’s claim of quality comparable to larger models is the project’s description, not a finding from this bench. Both local projects provide sample voices through their documentation. Piper’s catalog includes English, German, French, Spanish, Chinese and other languages/locales; availability and terms vary by voice.

ElevenLabs offers voice-cloning options on paid tiers and broader model-dependent language coverage. Its model documentation lists 32 languages for Flash v2.5, 29 for Multilingual v2, and 90+ for the newer v4 family. Those are vendor counts, not proof of pronunciation quality for your sentences.

Audition the same short acknowledgements, long answers, names, abbreviations and numbers in the target language. Listen for clipped endings, unnatural pauses and number pronunciation. An agreeable narration demo is not enough to choose a voice that will repeat short assistant replies.

Latency and privacy: what to test on a bench

ElevenLabs quotes approximately 75 ms for Flash v2.5, excluding application and network latency. That vendor figure is not end-of-speech to audible-reply latency. Recognition, reply generation, transport, buffering and audio playback also contribute. The same documentation notes number/date/currency normalization caveats for Flash, which belong in the audition as well.

We have no matched Kokoro/Piper bench results to put beside that number. Local synthesis removes the cloud request path, but cold loading, CPU contention and buffering can still delay it. Sharing a GPU with a reply-generating model can introduce contention too. Our budget GPU guide concerns LLM inference; its results are not TTS benchmarks. If a GPU is already part of the design, power-limit testing is useful background, not a substitute for measuring speech output.

For a fair bench check, keep the same prompts, voice settings and output path. Record hardware, model/voice version, date and method. Measure cold startup separately from warm requests, time to first audible speech separately from full synthesis, and the full assistant response separately from the TTS stage. Try both an otherwise idle system and the intended concurrent workload. Measure wall energy instead of inferring it from GPU nameplate power.

For privacy, cloud TTS receives the text submitted for synthesis; it does not necessarily need microphone audio if recognition is local. A hosted conversation platform has a wider data path. ElevenAgents privacy settings control transcript/audio retention and audio saving. Disabling stored recordings does not mean speech was processed locally.

Local Kokoro or Piper can synthesize without sending reply text to a cloud TTS provider after the required files are downloaded. To keep the whole conversation local, recognition, reply generation and any logging must follow that design too. Local synthesis alone does not change a cloud LLM’s or recognizer’s data handling.

Who should pay and who should stay local?

Pay for cloud TTS when the actual voice or language wins your audition, the modeled bill fits, and remote processing is acceptable. Use the API for speech output; choose managed Agents when you also want hosted conversation handling.

Start with local TTS when keeping reply text on-device or working offline is a requirement, or when an existing CPU can serve the workload acceptably. Try Piper’s selected voice and licence, then Kokoro’s matching language/voice on the same bench. Add acceleration only if measurements justify its cost and contention.

Keep a fallback deliberately. If you allow cloud speech, a local fallback can preserve basic output when the service or funded balance is unavailable. If text must remain local, a cloud fallback defeats that requirement. Make that choice before wiring the synthesizer into the assistant. ElevenLabs links on this page go directly to its official site; the site’s disclosure explains link handling.

Remote access is another privacy boundary

Where speech is synthesized and who can reach an application are separate decisions. The Tailscale vs Cloudflare Tunnel guide compares private access, published web apps and provider visibility on a generic test bench. It does not change the speech-data handling choices above.

Sources & methodology

Where these facts come from.

Source dates are listed above.

Ready to look for yourself?

Open ElevenLabs's product page with this guide beside it.

Compare the usage assumptions, pricing and requirements above with the current product terms before you subscribe.

See ElevenLabs's current pricing ↗

Prepared by Racks & Watts.