Developers

API Reference

Text in, speech out. One endpoint, an API key, and you're done.

Quickstart

Grab an API key from your dashboard, then POST some text.

curl https://voices.plink.com/v1/speech \
  -H "Authorization: Bearer vr_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from Voices.", "voice": "atlas"}' \
  --output hello.mp3

Authentication

Send your API key as a bearer token on every request. Keys look like vr_... and live in your dashboard, where you can rotate them anytime.

Authorization: Bearer vr_your_api_key

Create speech POST

POST /v1/speech — returns raw audio bytes (audio/mpeg or audio/wav).

FieldTypeNotes
textstringRequired. Up to 5,000 characters.
voicestringA voice name. Defaults to aria.
formatstringmp3 (default) or wav.
speednumber0.5–2.0. Standard voices only.

Every response includes X-Credits-Charged and X-Credits-Remaining headers.

Python

import httpx
r = httpx.post("https://voices.plink.com/v1/speech",
  headers={"Authorization": "Bearer vr_your_api_key"},
  json={"text": "Hello.", "voice": "atlas"})
open("out.mp3", "wb").write(r.content)

List voices GET

GET /v1/voices — returns every available voice, its engine, accent, and whether it's premium.

Credits

Billing is simple: 1 credit = 1 character. A 500 character paragraph costs 500 credits. Standard and premium voices cost the same per character. Free accounts get 20,000 credits a month and standard voices; a paid plan or any credit pack unlocks the premium voices.

Errors

CodeMeaning
401Missing or invalid API key.
402Out of credits, or premium voice without a paid plan.
413Text over 5,000 characters.
429Rate limited (demo endpoint only).