Kokoro-82M · Apache-2.0 · No vendor lock-in

Text-to-speech that costs $5 per million characters

A production TTS API built entirely on permissively-licensed open source. Every byte of audio you generate is yours — commercial use included, no attribution required.

5,000 chars/month free forever No credit card Key issued instantly
$0.05per 10,000 characters
54voices across 8 languages
~1.5smedian synthesis, no cold starts
100%output rights assigned to you
Voices

Hear it before you build on it

Four of the 54 preset voices, synthesized by this API. English (US & UK), Spanish, French, Hindi, Italian, Japanese, Portuguese and Chinese.

Sarahaf_sarah · en-US
Michaelam_michael · en-US
Emmabf_emma · en-GB
Fenriram_fenrir · en-US

Full list: GET /v1/voices — no key required.

Pricing

One credit, one character. That's the whole model.

No seats, no minutes, no per-voice fees. Failed syntheses are refunded automatically.

Free

$0 /mo
Refills to 5,000 chars monthly
  • All 54 voices, all languages
  • Full API access
  • No credit card required
Get your key

Pay as you go

$5 /1M chars
Prepaid credits · never expire
  • $0.05 per 10,000 characters
  • Top up any amount, any time
  • No subscription, no expiry
Start free, top up later

Pro

$19 /mo
5,000,000 chars monthly
  • ~$0.04 per 10,000 characters
  • Priority processing
  • Commercial support
Start free
Documentation

Shipping in three requests

Plain REST. Plain WAV. Any language, any stack — if it can send HTTP, it can speak.

1

Issue a key

curl -X POST https://api.opnvoice.cloud/v1/keys \
  -H "content-type: application/json" -d '{"email":"you@company.com"}'

→ {"api_key":"sk_tts_…","free_credits":5000}
2

Synthesize

voice defaults to af_sarah, speed 0.5–2.0, up to 5,000 chars per request.

curl -X POST https://api.opnvoice.cloud/v1/tts \
  -H "x-api-key: sk_tts_…" -H "content-type: application/json" \
  -d '{"text":"Hello from OpnVoice.","voice":"af_sarah","speed":1.0}' \
  -o hello.wav

→ WAV, 24 kHz mono · header x-credits-remaining tells you your balance
3

Handle four status codes

StatusMeaningWhat to do
200Audio returnedShip it
400Empty text, >5,000 chars, or unknown voiceFix the request — credits refunded
401Missing or invalid API keyCheck the x-api-key header
402Out of creditsTop up via the link in the response body
FAQ

The questions that matter

Who owns the generated audio?

You do — 100% of IP and commercial rights are assigned to the requester (Terms, §1). Use it in products, ads, videos, games. No attribution, no royalties, ever.

Is this really safe for commercial use?

Yes. The model (Kokoro-82M) is Apache-2.0 and the runtime (kokoro-onnx) is MIT — both permit commercial use. We carry the license notice in every response's x-license header, so the compliance burden stays on our side of the API.

Do you offer voice cloning?

No, deliberately. Only pre-approved preset voices are exposed — there is no cloning code in the stack. That's a large part of why the output is legally safe to use.

What are the rate limits?

Your credit balance is the limit — one character costs one credit, checked atomically per request. If a synthesis fails on our side, the credits are refunded automatically.

What audio format do I get?

WAV, 24 kHz, 16-bit mono — ready for any player or pipeline. MP3 output is on the roadmap; converting with ffmpeg is one line in the meantime.

Terms

Short enough to actually read

§1 Output rights — All intellectual property and commercial rights to audio generated by this API belong 100% to the requester.
Acceptable use — Voice phishing, disinformation, or hate speech results in immediate key suspension without prior notice.
No cloning — Impersonation of real people's voices is not offered. Standard preset voices only, built from licensed synthetic data.