Integrate Ollalink in a few lines of code.
Plain HTTPS and WebSocket endpoints with one API key. OpenAI-style requests for speech, transcription, chat and images — no client library required.
1. Get a key and authenticate
Sign in at login.ollalink.com, open Platform and create an API key. It starts with sk_. Keep it on your server — never in browser or mobile code.
Send the key in the same header on every host. No key → 403; a wrong key → 401 (HTTP) or close 1008 (WebSocket).
X-NH-GPU-Key: sk_XXXX
2. Hosts and routes
Speech runs on the gpu-*.ollalink.com hosts; text translation, text tools and on-demand models run on ai.ollalink.com.
| Host | Route | What it does |
|---|---|---|
gpu-asrhq.ollalink.com | POST /v1/audio/transcriptions | Batch speech-to-text for Hindi, Hinglish and other languages (multipart file, optional language, word_timestamps; speech → English text). A 20 s clip in about 11–13 s. |
gpu-transcribe.ollalink.com | POST /v1/audio/transcriptions | Fast file transcription in en, es, fr, de, pt, ru, it, nl; audio or video up to 100 MB; English numbers as digits. Other languages → 400 unsupported_language (use gpu-asrhq). A 20 s clip in about 3.5 s. |
gpu-transcribe.ollalink.com | POST /v1/audio/segments | Speech detection: start and end times of speech. |
gpu-transcribe.ollalink.com | POST /v1/audio/diarization | Who spoke when, up to 8 speakers (response_format json or rttm). 60 s of audio in 1–3 s. |
gpu-asr.ollalink.com | wss /v1/audio/transcriptions/realtime | Realtime speech-to-text, OpenAI-realtime-style events; 14 languages as locales (e.g. en-US, ja-JP). |
gpu-live.ollalink.com | wss /v1/translate/stream | Live captions: partial and final captions in the spoken language; translate each final with /v1/translate for live translation. en, hi, es, fr, zh, de, ar, pt, ru, ja, ko, it, nl, vi. |
gpu-tts.ollalink.com | POST /v1/audio/speech, GET /voices | Text-to-speech: 34 voices in en, es, fr, de, pt, hi, up to 4,000 characters (Hindi voices: 600); MP3 by default. Voice design: "voice": "design" plus an instructions description (up to 400 characters) invents a voice in any of the 14 languages, up to 1,000 characters of text. gpu-voice.ollalink.com serves the same voices and routes. |
ai.ollalink.com | POST /v1/translate | Text translation, always on: {"text", "target", "source"?} → {"translation", "numbers_verified", …}; en, hi, es, fr, zh, de, ar, pt (Brazilian Portuguese), ru, ja, ko, it, nl, vi and ta (Tamil), any direction; "stream": true for live captions; up to 5,000 characters; numbers, IP addresses and placeholders kept. |
ai.ollalink.com | POST /v1/normalize | Spoken numbers → digits, language en or hi, up to 5,000 characters. |
ai.ollalink.com | POST /v1/embeddings | Unit-length vectors for 1–256 inputs; dimensions 1024; mode document or query. |
ai.ollalink.com | GET /v1/models | Lists the models you can call. |
ai.ollalink.com | POST /v1/chat/completions | chat and coding (always on) and vision; OpenAI-style, tools and "stream": true supported. |
ai.ollalink.com | POST /v1/classify | Classify a text with up to 20 questions (pick one of named options; yes/no and scores experimental); always on. |
ai.ollalink.com | POST /v1/ocr, GET /v1/jobs/{id} | Document OCR, always on: PDF or image (up to 25 MB) → markdown page by page, optional block positions; runs as a job you poll. |
ai.ollalink.com | POST /v1/images/generations, POST /v1/images/edits | Image generation from a prompt (256–1024 px, multiples of 32, optional seed) and editing of an uploaded picture; PNG as base64 in JSON. The default image model is always on. |
ai.ollalink.com | POST /v1/audio/generations | Sound effects or instrumental music from a prompt, 1–120 s, returned as a WAV file. |
ai.ollalink.com | POST /v1/music/generations | Song with vocals from a style and tagged lyrics; a job, downloaded as M4A or FLAC (non-commercial use only). |
3. Chat, coding and more
chat and coding are always on. chat thinks before answering — the answer is in message.content, the reasoning in message.reasoning, and reasoning counts towards max_tokens; coding answers directly. Replies name the model chat or coding. Document OCR and the default image model are always on; vision, the second image model, audio generation, songs and speaker diarization load on first use. The model values for image and audio generation are listed in the Models docs.
| Model id | What | Route |
|---|---|---|
chat | Everyday chat, instruction following, tool calls | /v1/chat/completions |
coding | Coding tasks, bug fixes, tool calls | /v1/chat/completions |
vision | Vision and quick OCR (image_url parts) | /v1/chat/completions |
ocr | Document OCR, PDF or image to markdown (job) | /v1/ocr |
| see docs | Image generation (default and second image model) and editing | /v1/images/generations, /v1/images/edits |
| see docs | Sound effects and instrumental music clips | /v1/audio/generations |
music | Songs with vocals from tagged lyrics (job) | /v1/music/generations |
| — | Who spoke when, up to 8 speakers | gpu-transcribe /v1/audio/diarization |
4. Quickstarts
Text-to-speech
curl https://gpu-tts.ollalink.com/v1/audio/speech \
-H "X-NH-GPU-Key: sk_XXXX" \
-H "Content-Type: application/json" \
-d '{"input": "Open port 443 on the firewall.",
"voice": "delia", "language": "en"}' \
-o speech.mp3
Hindi / Hinglish transcription
curl https://gpu-asrhq.ollalink.com/v1/audio/transcriptions \ -H "X-NH-GPU-Key: sk_XXXX" \ -F "file=@class.mp3" -F "language=hi"
Fast file transcription
curl https://gpu-transcribe.ollalink.com/v1/audio/transcriptions \ -H "X-NH-GPU-Key: sk_XXXX" \ -F "file=@lecture.mp4" -F "language=en"
Spoken numbers → digits
curl https://ai.ollalink.com/v1/normalize \
-H "X-NH-GPU-Key: sk_XXXX" \
-H "Content-Type: application/json" \
-d '{"text": "open port four forty three", "language": "en"}'
# → "open port 443"
Chat
curl https://ai.ollalink.com/v1/chat/completions \
-H "X-NH-GPU-Key: sk_XXXX" \
-H "Content-Type: application/json" \
-d '{"model": "chat",
"messages": [{"role": "user",
"content": "Explain what BGP does in two sentences."}]}'
Translate a live caption
curl https://ai.ollalink.com/v1/translate \
-H "X-NH-GPU-Key: sk_XXXX" \
-H "Content-Type: application/json" \
-d '{"text": "Do not open port 443 before Friday.",
"target": "ja", "stream": true}'
# → data: {"delta": "…"} … data: {"done": true, "translation": "…"}
Embeddings
curl https://ai.ollalink.com/v1/embeddings \
-H "X-NH-GPU-Key: sk_XXXX" \
-H "Content-Type: application/json" \
-d '{"input": ["How do I reset a switch?"],
"dimensions": 256, "mode": "query"}'
Who spoke when
curl https://gpu-transcribe.ollalink.com/v1/audio/diarization \
-H "X-NH-GPU-Key: sk_XXXX" \
-F "file=@meeting.wav" -F "response_format=json"
# → {"duration": …, "speakers": …,
# "segments": [{"start": …, "end": …, "speaker": …}]}
5. Limits
- Every request must finish within 100 s — use
"stream": truefor long chat answers. - Live captions and realtime speech-to-text share capacity; when it is full the server sends
busyand closes with1013— retry with back-off. ai.ollalink.com: 600 requests per 60 s per key.- File transcription: audio or video up to 100 MB. Text-to-speech: up to 4,000 characters (Hindi voices: 600; designed voices: 1,000 characters plus a description of up to 400). Normalize: up to 5,000 characters. Embeddings: 1–256 inputs per request. Document OCR: up to 25 MB. Images: 256–1024 px per side. Audio generation: 1–120 s.
6. Retired and paused
- The live caption lane returns captions in the speaker's language; for live translation send the finals to
POST https://ai.ollalink.com/v1/translate. - Other old gateway routes on ai.ollalink.com answer
410or404; chat uses"model": "chat"or"coding". - Paused (
503):sound-stream.ollalink.com(speech-to-speech and streaming text-to-speech) andgpu-dhvaani.ollalink.com(old Indic voice host; Hindi voices are ongpu-tts). - Paused: the voice studio routes on gpu-voice (
/clone,/voice_design,/custom_voice,/speakers→404) cloning from your own clip (ref_audio/ref_text→400). Voice design itself works onPOST /v1/audio/speechwith"voice": "design". - Text-to-speech outside English, Spanish, French, German, Brazilian Portuguese and Hindi, and the earlier catalog voices (
nh-…ids) →400.