Text-to-speech
Which languages are available: GET https://gpu-tts.ollalink.com/v1/languages lists them, with what each supports (all hosts).
Hosts: https://gpu-tts.ollalink.com and https://gpu-voice.ollalink.com · Auth: X-NH-GPU-Key
Send text and receive an audio file. There are 48 voices in 8 languages: English (including five Indian English tutor voices), Spanish, French, German, Brazilian
Portuguese, Arabic, Japanese and Hindi. Fetch GET /voices for the live catalog. Voice design invents a voice from a description and speaks all 14
languages, including Chinese, Russian, Korean, Italian, Dutch and Vietnamese, which have no ready-made voice
(Designing voices). Style instructions on a ready-made voice and cloning are not available.
Routes
Section titled “Routes”| Route | Request | Default output |
|---|---|---|
POST /v1/audio/speech |
JSON {input, voice?, language?, response_format?}; with "voice": "design" also instructions |
mp3 |
POST /tts |
Same fields; text aliases input |
WAV |
GET /voices |
Optional ?language=es filter |
JSON catalog and per-language defaults |
curl https://gpu-tts.ollalink.com/v1/audio/speech \ -H "X-NH-GPU-Key: $YOUR_GPU_KEY" -H "Content-Type: application/json" \ -d '{"input":"Do not open port 443. Open port 179.","language":"en","voice":"delia","response_format":"wav"}' \ --output speech.wavVoices and languages
Section titled “Voices and languages”| Language | Default voice | Other voices |
|---|---|---|
English (en) |
delia (female) |
maeve, freya (female); easton, russell, edwin (male) |
English, Indian accent (en) |
— | lakshmi, nandini, divya (female); karthik, harpreet (male): tutor voices |
Spanish (es) |
noa (female) |
marcos, mateo (male) |
French (fr) |
noemie (female) |
elodie (female); augustin, antoine (male) |
German (de) |
nele (female) |
anna (female); anton (male) |
Brazilian Portuguese (pt) |
manuela (female) |
larissa (female); davi, rafael (male) |
Arabic (ar) |
layla (female) |
— |
Japanese (ja) |
yui (female) |
haruto (male) |
Hindi (hi) |
ahana (female) |
vaidehi, malini, charvi, jahnavi, nivedita, tanushree, ishwari, vrinda, kayal (female); anirban, nakul, siddhant, satvik, vasant, abhay, shaunak, akshat, ritvik, sreekar (male) |
Hindi voices: numbers, currency and dates are read as Hindi words (“443” → “चार सौ तैंतालीस”). They load on demand, so the first
request after a quiet spell takes longer; send up to 600 characters per request and split longer text at sentence ends. Each Hindi
voice can also speak Indian-accented English when you name it with "language": "en".
Send language and a voice of that language on every request, or "voice": "default" for the language’s default. A region
suffix is ignored (pt-BR becomes pt). A voice used with another language returns 400 listing that language’s voices.
Important numbers and identifiers still require listening checks. Older voice IDs are covered in
Voices by language.
Request fields
Section titled “Request fields”| Field | Meaning |
|---|---|
input |
Required text, up to 4,000 characters (Hindi voices 600, Indian English tutor voices and designed voices 1,000). Use short requests for interactive use. |
language |
en es fr de pt ar ja hi for the ready-made voices; with design any of the 14 languages. Send it on every request. |
voice |
A voice ID from the table, default for the language’s default, or design (Designing voices). |
instructions |
Only with "voice": "design": required there, up to 400 characters. Ready-made voices have a fixed style, so instructions with them returns 400. |
response_format |
wav, mp3, pcm, opus, aac, flac. |
model |
Accepted and ignored for SDK compatibility. |
There is no speed control; speed is accepted and ignored. Voice cloning fields ref_audio / ref_text return 400.
Response
Section titled “Response”The response body is audio. X-Audio-Seconds reports duration, X-TTS-Voice the resolved voice and X-Generate-Seconds
generation time. Audio is 24 kHz; X-Audio-Sample-Rate confirms the rate. Raw pcm is mono signed 16-bit
little-endian at 24 kHz. WAV includes its sample rate in the header.
Unknown voices, unsupported languages or instructions on a ready-made voice return 400; an unavailable engine returns 503.
Long scripts
Section titled “Long scripts”Split text longer than about 1,000 characters at sentence ends, keep voice and language identical, ask for WAV and join the
pieces; pieces from one voice share one format, so the audio joins cleanly.
In the dashboard, choose Playground → Text-to-speech, select the language and voice, and press Synthesize.
