Text-to-speech

Lifelike voice, in any language, at 113 ms.

The Hakim TTS family in three tiers: Saree' v1.3 streams Arabic-first audio at 113 ms p95, Faseeh v2 adds non-verbal tags for narration, Mulhim v3 designs new voices from text. Same endpoint, same auth, pick your tier per request.

Hakim Fast v1.3

How it works

From text to audio in three calls.

The same streaming pipeline every paying customer runs. No queue, no magic, just a clean request/response surface, with three tiers behind the same endpoint.
  1. Send your text

    POST a UTF-8 string, a voice id, a format (mp3, wav, opus, pcm), and pick a tier with model: hakim-fast-v1 (Saree'), hakim-v2 (Faseeh), or hakim-v3 (Mulhim).

  2. We pick the tier and synthesise

    The API routes Saree' calls to the speed-tier engine (first chunk ~113 ms) and Faseeh / Mulhim calls to the premium-quality engine. Same wire shape, different posture under the hood.

  3. Stream to your users

    Pipe the chunks straight to the browser, a phone, or a file. No post-processing required. Tag stripping + capability warnings surface in the x-hakim-warnings response header for graceful tier downgrades.

Try it yourself

Type a line. Hear Hakim read it back.

Direct call to the same production pipeline your app will use. 5 free generations per day, no sign-up, no card.

5 free generations daily · No sign-up

Tip: short, complete sentences produce the most natural prosody.

66/200

Where teams ship this

Built for voice that has to land.

Every use case here runs in production today. The recommended tier sits next to each card.

Audiobooks & podcasts

Arabic-first long-form narration.

Ship whole chapters at consistent pacing and prosody. Native Khaleeji, MSA, Egyptian, and Levantine voices. Recommended tier: Faseeh v2 for the expressive non-verbal tag set ([laugh], [breath], [whisper]).

IVR & call flows

Contact-centre prompts in any dialect.

Low-latency streaming synthesis keeps IVR responses snappy. Failover to a static mp3 handled by the SDK. Recommended tier: Saree' v1.3 · the latency budget is the binding constraint.

Games & interactive media

In-world characters that actually speak.

Sub-second first-byte latency lets characters react to player input in real time. Recommended tier: Saree' v1.3 for runtime synthesis, Mulhim v3 for designing the character voice ahead of time.

Technical specs

Everything your infra team asks for.

Models
Saree' v1.3 · Faseeh v2 · Mulhim v3Arabic-first streaming TTS in three tiers, same endpoint, picked per request via model.
Latency p95
113 ms (Saree' tier)Rolling 24-hour p95 across our four live regions. Faseeh + Mulhim ship without a published baseline because their pitch is quality, not speed.
Streaming
First chunk in under 150 ms.chunked HTTP + WebSocket supported on every tier.
Languages
30+ supported · 15 Arabic dialects.Saree' 32 · Faseeh 41 · Mulhim 45 (full Arabic dialect set on every tier).
Audio formats
mp3 · wav · opus · pcm.
Sample rate
24 kHz native · 16 kHz IVR preset.
Capability ladder
Saree' (speed) → Faseeh (+ non-verbal tags) → Mulhim (+ voice design from prompt).Tag stripping + capability warnings are graceful: requests on a lower tier still succeed and emit x-hakim-warnings.

API

Five lines, one voice.

The shortest request that produces audio. Matches the SDK reference, run it as-is with a free-tier key.

See the full reference in the docs.

typescript
import { Hakim } from '@tryhakim/voice';

const client = new Hakim({ apiKey: process.env.HAKIM_API_KEY });

const audio = await client.audio.speech.create({
  model: 'hakim-fast-v1.3',
  voice: 'reem-khaleeji',
  input: 'أهلاً وسهلاً بكم في حكيم.',
  format: 'mp3',
});

await audio.writeToFile('hello.mp3');

Ready to ship?

Get 5,000 characters on us, today.

No card. No trial window. Start on the free tier and move to a paid plan when the traffic shows up.