Plans and usage at a glance
Every Hakim workspace is billed against a plan (monthly pricing, included
quotas, rate limits) and a usage ledger (per-call records for everything
your keys synthesise, transcribe, or clone). Metering is deterministic and
request-scoped: every billable unit maps to exactly one UsageEvent row, so
the numbers your dashboard shows are the same numbers the webhook receipts
and invoices are built from.
Quotas and included amounts
Each plan includes a monthly quota across three dimensions:
- Characters synthesised (TTS, measured on the normalised text).
- Audio transcribed (STT, measured in seconds of input).
- Voices cloned (number of distinct clone jobs you kept).
Plans with overages enabled let you keep serving traffic past the included
amount; the excess is billed at the per-unit rate the plan advertises. When
overages are disabled, requests that would exceed the quota return
429 Too Many Requests with an X-Hakim-Quota-Remaining: 0 header.
Rate limits
Rate limits are per API key, per endpoint, per minute. The current
ceiling is published on your plan page. Limits refresh on a sliding window
so a short burst immediately after a lull is fine. When a request is shed
you get a 429 with:
Retry-After: seconds until you can retry.X-RateLimit-Limit: the ceiling for this endpoint.X-RateLimit-Remaining: requests left in the current window.
Regions and residency
Hakim runs four customer-facing regions day one, Frankfurt, Doha, Dubai, and Riyadh. Every region is an independent deployment: its own database, its own model replicas, its own object store.
Requests are pinned to the region your workspace was created in. You can
pick a region at signup, or email support@tryhakim.ai to migrate. For
on-prem customers the API surface is identical, only the endpoint host
changes.
Where to next
- Quickstart, ship your first call in ~5 minutes.
- SDKs, typed clients for Node.js and Python.
- API reference, the live OpenAPI 3.1 document (lands shortly).