Skip to content
NHWe are part of the NETWORKERS HOME Group — Enterprise AI InfrastructurePart of the NETWORKERS HOME GroupVisit Networkers Home →
Ollalink
Get started

Getting started

The platform has two services. Which one you use depends on the capability — each capability page tells you the host to use. One GPU API key opens both.

Service Base host Auth
Translation, text tools and models — text translation (POST /v1/translate), spoken numbers to digits (POST /v1/normalize), text embeddings (POST /v1/embeddings), classification (POST /v1/classify), chat, coding and vision (/v1/chat/completions), document OCR, image and audio generation, music (Models) https://ai.ollalink.com X-NH-GPU-Key: <key> (your GPU API key)
Speech GPU — speech-to-text (batch, file, realtime), live captions, text-to-speech gpu-*.ollalink.com (hosts below) X-NH-GPU-Key: <key>

Voice cloning and the realtime speech-to-speech service (sound-stream) are not available; live captions arrive in the speaker’s language and are translated with a separate POST /v1/translate call — see Models & languages. Full key detail and error codes: Authentication.

You want How to get it
GPU API key (sk_…) — the text tools on ai.ollalink.com and every gpu-* host Self-serve: sign up at login.ollalink.com → Platform → GPU API keys → create a key. Your workspace starts as pending and a new key only works once we approve it.
Legacy shared Speech GPU key Works until 3 November 2026; replace it with your GPU API key.

Keep every key server-side. Never ship one to a browser, mobile app, or public repo.

Terminal window
curl https://ai.ollalink.com/v1/normalize \
-H "X-NH-GPU-Key: $YOUR_GPU_KEY" -H "Content-Type: application/json" \
-d '{"text": "open port four forty three", "language": "en"}'

The reply’s normalized field is "open port 443". Details: Text tools.

Host What it does Routes
gpu-tts.ollalink.com Text-to-speech: 48 voices in English (including Indian English tutor voices), Spanish, French, German, Brazilian Portuguese, Arabic, Japanese and Hindi POST /v1/audio/speech, POST /tts, GET /voices
gpu-voice.ollalink.com The same voices and routes as gpu-tts (the voice studio routes are paused) POST /v1/audio/speech, GET /voices
gpu-asrhq.ollalink.com Batch speech-to-text for Hindi and the languages file transcription does not cover; speech → English POST /v1/audio/transcriptions
gpu-transcribe.ollalink.com Fast file transcription of recordings and videos (en, es, fr, de, pt, ru, it, nl), text or subtitles; speech detection POST /v1/audio/transcriptions, POST /v1/audio/segments
gpu-asr.ollalink.com Realtime speech-to-text in the 14 languages wss://…/v1/audio/transcriptions/realtime
gpu-live.ollalink.com Live captions in the 14 languages (captions in the speaker’s language; translate them with /v1/translate) wss://…/v1/translate/stream

Use the ollalink.com names; older networkershome.com names still resolve for a while but are being retired.

The Speech GPU lanes take the key as a header, not a Bearer token. This one returns a WAV file:

Terminal window
curl -X POST https://gpu-tts.ollalink.com/v1/audio/speech \
-H "X-NH-GPU-Key: sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{"input":"BGP peers exchange routes over TCP port 179.","voice":"delia","language":"en","response_format":"wav"}' \
--output speech.wav
  • Send voice and language on every request. Languages: en, es, fr, de, pt. Defaults: delia for en, noa for es, noemie for fr, nele for de, manuela for pt, layla for ar, yui for ja; other languages return 400. See Voices by language.
  • Format: /v1/audio/speech returns mp3 unless you ask for another response_format (wav, pcm, opus, aac, flac).
  • Text length: up to 4,000 characters per request; longer text gets a 400 that states the limit.
from openai import OpenAI
gpu = OpenAI(base_url="https://gpu-tts.ollalink.com/v1",
api_key="unused", # the X-NH-GPU-Key header is the credential
default_headers={"X-NH-GPU-Key": "sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"})
audio = gpu.audio.speech.create(model="ollalink-tts", voice="ryan",
input="BGP peers exchange routes over TCP port 179.",
response_format="wav",
extra_body={"language": "en"})
audio.write_to_file("speech.wav")

Transcribe the file you just made — gpu-transcribe takes a multipart upload:

Terminal window
curl https://gpu-transcribe.ollalink.com/v1/audio/transcriptions \
-H "X-NH-GPU-Key: sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-F "file=@speech.wav" \
-F "language=en"

language is one of en (default), es, fr, de, pt, ru; the reply carries text, and response_format=verbose_json adds segments and word times (Speech-to-text). For Hindi and other languages use gpu-asrhq.

What you see What it means
400 Bad request — an unsupported language or voice, a missing field, or text over the limit; the message says which
401 Unknown or revoked key
403 Missing X-NH-GPU-Key, a key not yet approved, or a key without GPU access (forbidden)
404 Wrong route for that host — each Speech GPU host has its own (hosts)
410 A route switched off on this host
429 Rate limited (600 requests / 60 s per key) — back off and retry, honouring Retry-After
503 Busy, restarting or paused — retry shortly with back-off (sound-stream is paused)

Every failure on these hosts is a clean HTTP status; fix auth on the first 401/403 instead of retrying. Every failure mode, including the silent ones: Errors & troubleshooting.

To prove a key on a speech host, list the voices — 200 with the voice list means the key and the path are good; 401 or 403 means the key is wrong:

Terminal window
curl https://gpu-tts.ollalink.com/voices -H "X-NH-GPU-Key: sk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Open Playground after workspace approval. Speech-to-text defaults to the English/Hindi accuracy option; the fast and legacy options remain selectable. Translate calls the text translation API. Live speech can stream a microphone or audio file, display original captions and translate finalized captions. The browser receives only a short-lived, GPU-scoped session token for speech sockets; durable partner keys stay server-side.