Pay-per-token
playht/PlayHT
PlayHT — connect via API key.
kRouter lists PlayHT in its catalog but does not offer it in the dashboard, so it cannot be connected and the setup steps below do not apply.
play.htQuick setup
Open the kRouter dashboard at http://localhost:20128/dashboard
Go to Providers → click PlayHT
Paste your API key, click Save
Test the connection
Use in your IDE
Point any OpenAI-compatible client at kRouter. Clients on another machine need a kRouter API key.
# Endpoint
http://localhost:20128/v1
# API key (Dashboard → Endpoint → API Keys;
# optional for clients on the same machine)
<your-krouter-key>
# Model
playht/<model-id>How PlayHT billing works with kRouter
PlayHT is pay-per-token. You bring your own API key and kRouter routes to it, so you keep your own rate limits and billing relationship. kRouter authenticates it via apikey. 2 models are routable as playht/<model>.
Through kRouter, PlayHT serves text-to-speech, exposed on /v1/audio/speech. Requests reach it through the same local OpenAI-compatible endpoint as every other provider, so switching to or from PlayHT is a one-line model change in your client rather than a rewrite.
PlayHT models & pricing
These are the model ids kRouter routes to. This provider does not publish per-token rates.
| Model | Route as |
|---|---|
| PlayDialog | playht/PlayDialog |
| Play 3.0 Mini | playht/Play3.0-mini |
PlayHT links
PlayHT FAQ
Is PlayHT free through kRouter?
PlayHT is pay-per-token: you bring your own API key and are billed by PlayHT at their rates. kRouter adds nothing on top and is free and MIT-licensed.
How do I use PlayHT with Claude Code or Cursor?
Connect PlayHT in the kRouter dashboard, then point your tool at kRouter's local endpoint (http://localhost:20128/v1) with a kRouter API key. Any OpenAI-compatible client works, and models are addressed as playht/<model>.
Which PlayHT models can kRouter route to?
2 models, including PlayDialog, Play 3.0 Mini. Every one is addressed as playht/<model> from any client.
What happens when PlayHT is rate limited?
kRouter detects the limit, parks that account until its real reset time, and fails over to your next connected account or provider — so the request still completes instead of erroring.