Reference

Changelog

Dated, customer-visible changes to the API contract, limits, and served model builds. Newest first.

2026-10-19 — api.omi.health routes to the nearest region

api.omi.health now routes each request to the nearest healthy EU or US region, with Frankfurt fallback. Data stays in the region that processes it. To pin a region, use api.eu.omi.health (EU only) or api.us.omi.health (US only). Same API key on every host. No pricing or key change.

2026-10-19 — nearest-region routing live

Since 19 October 2026, api.omi.health routes every call to the nearest healthy EU or US region, with Frankfurt fallback. Data stays in the region that processes it. To keep processing in one region, use api.eu.omi.health (EU only) or api.us.omi.health (US only). Same API key on every endpoint.

2026-10-16 — regional endpoints documented

Regions & endpoints now describes the three hosts. api.us.omi.health (US only) and api.eu.omi.health (EU only) offer the same features with the same API key, and data stays in the region that processes it. The agent skill (1.0.2) and llms.txt carry the same guidance. No pricing or key change.

2026-10-09 — coding-agent integration guide

The new Build with AI page offers a portable Omi API skill for Claude Code, Codex and other agents, plus a tested evaluation runner. Realtime documentation now shows model selection, served-model verification, turn controls and the closing record schema. It also clarifies that vocabulary is a batch Medical feature, not a realtime start option. No serving behavior or pricing changed.

2026-10-08 — zero-retention batch and result deletion

Every plan supports RAM-only zero-retention English Medical batch, up to 15 minutes / 32 MiB, without speakers or custom hints. Select the console setting or X-Omi-Retention: none. Content-free usage and audit metadata remain. See supported options.

Async result deletion returns 204 when removal is confirmed, or 202 while cleanup is pending. Downloading alone does not delete a result.

2026-09-08 — hosted open model available

  • omi-medical-edge-1 is available again as an English batch model for evaluating the downloadable open model through Omi's hosted API.
  • It accepts short and long audio, returns native word timestamps, and now supports optional batch speaker labels without a second timing decode. Realtime, vocabulary, Patterns, and language detection remain flagship features.
  • Hosted Edge is $0.10 per processed audio-hour after the existing pooled 25-hour monthly allowance. Flagship prices are unchanged.
  • Edge uses separate bounded admission and yields capacity to flagship requests; clients should honor Retry-After on temporary capacity responses.

2026-09-01 — live-speaker project limit

Pay as you go projects now support 2 simultaneous live-speaker rooms within the unchanged 10-session realtime limit. Builder remains 2 live sessions including 1 speaker room. Excess labelled starts fail explicitly with SPEAKER_CAPACITY_FULL.

2026-08-28 — Builder, Pay as you go, and live billing

  • Free is now called Builder; Pro is now Pay as you go. Adding a card preserves the same complete API and the monthly 25-hour pooled allowance.
  • After covered hours, batch audio is $0.29/hour and realtime audio is $0.45/hour. Builder rejects new processing at the boundary; existing results remain retrievable.
  • Interactive synchronous audio up to 60 seconds returns inline. Published project limits now separate sync requests, queued async jobs, live sessions, and live speaker rooms.
  • Realtime and request-scoped Patterns are available on every plan. Builder supports 2 live sessions and 1 speaker room; Pay as you go supports 10 and 3.

2026-08-27 — hosted Edge route retired

The unused hosted omi-medical-edge-1 route has been removed from the model catalogue. Managed requests should use omi-medical-1; the retired identifier now returns 400 model_unknown. The open-source local runtime and downloadable on-device model remain available.

2026-08-27 — revisioned realtime previews and expanded capacity

  • Realtime preview now supports explicit English, Spanish, Portuguese, French, German, Dutch, Arabic, and Hindi sessions.
  • Mutable preview text now carries a turn_id, sequence, and explicit revision chain. Clients replace the previous preview for the turn; turn_final remains immutable and is the only text event that may authorize a response.
  • Realtime text sessions and live-speaker rooms are admitted from separate bounded pools. Speaker-capacity exhaustion is reported asSPEAKER_CAPACITY_FULL rather than silently disabling labels.

2026-08-27 — provisional partial text on long async jobs

While a long job is still running, the status envelope may expose a transcription block with a partial_result_url: provisional text for the first minutes of audio, marked provisional: true with a revision number and completed_audio_seconds. The final result at succeeded replaces it entirely. Existing pollers that ignore the block are unaffected.

2026-08-26 — text-first delivery on diarized async jobs

Async jobs now reach succeeded as soon as the transcript text is final. On jobs with diarize, the first downloadable result may carry decoration: {"status": "processing", "stale_after": …} for a short window while speaker labels and word timestamps attach; the stored result is then replaced in place. Poll or re-download until decoration.status clears. Webhook callbacks still fire exactly once, at succeeded. Jobs without diarize are unchanged. Details: /async.

2026-08-22 — one flagship default and improved realtime endpointing

  • omi-medical-1 now has one authoritative processing profile, default, with the same qualified behavior at every duration.
  • The legacy request values standard andturbo remain accepted as deprecated aliases for default; they no longer select separate processing behavior.
  • English realtime sessions gained faster endpointing for clearly completed turns and improved live-speaker attribution. Other languages retain conservative end-of-turn timing and the same provisional-speaker contract.
  • Vocabulary audit schema v3 separates prompt admission from observed delivery, correction, and unresolved outcomes.

2026-08-16 — realtime and speaker preview

  • Enabled keys can connect to wss://api.omi.health/v1/streamfor the free, access-gated English realtime preview. Starts are admitted from bounded pools and are rejected explicitly when the requested pool is full.
  • Live speaker activity is opt-in, provisional, and free during the preview. It does no work when disabled and never changes transcript text.
  • Completed-record diarization now reconciles speaker identity across long recordings and supports up to four speakers without folding an extra person into an existing label.
  • Dutch diarized responses can return word timing; Arabic and Hindi remain segment-timing only.

2026-08-11 — omitted language now routes safely

  • Requests without language now detect the dominant language from the first speech-bearing window and transcribe the original full recording in that language.
  • Mixed probes escalate to the existing per-utterance path instead of guessing; responses declare language_source=detectedand expose the detection mode in verbose JSON.
  • Explicit language=auto remains the mode for deliberate code switching and language_hints.

2026-08-11 — omitted language is explicitly warned

  • Omitted-language JSON responses now include a structuredlanguage_defaulted warning and the effective default language.
  • All response formats expose X-Omi-Language-Source; omitted requests also expose X-Omi-Warning.
  • Console quickstarts now use language=autoso a copied first request does not silently assume English.

2026-08-11 — Documentation and availability contract

  • At that date, the direct-upload profiledefault was documented conditionally by duration. This historical routing was superseded on 2026-08-22 by the singledefault profile above.
  • Realtime is explicitly documented as a private pilot with no self-serve production endpoint. File and long-audio transcription remain the generally available surfaces.
  • Added an open-source local-runtime guide and a production checklist covering key safety, retries, idempotency, retention, model builds, and service status.

2026-08-08 — General availability contract

  • 1,500 free audio-minutes per calendar month on every account, plus any promotional grant. At the cap, requests are refused with 402; you are never silently billed. Paid usage continued at the then-current rate with no subscription.
  • Explicit error codes in the standard envelope: 403 entitlement_denied when a key is not entitled to a requested feature, 503 capacity_unavailable when the requested serving capacity is not available, and 402 billing_blocked for billing stops.
  • Every error response is exactly {"error": {"code": "…", "message": "…"}}. Branch on error.code.
  • Terms changes that affect the contract are announced at least 30 days before they take effect.

2026-08-05 — EU region cutover

  • All processing runs in the EU (eu-central-1). Both api.omi.health and api.eu.omi.health are served from that region.
  • Result and job-metadata retention is a console dial from 1 to 72 hours, default 24 hours. Webhook jobs keep an effective 9-hour minimum so the last delivery retry can still be picked up.

2026-08-04 — Longer audio per job

  • Maximum audio duration raised from 30 minutes to 2 hours (7,200 seconds); minimum lowered to 1 second.
  • The min_audio_seconds and max_audio_seconds values in the job envelope remain authoritative for the live deployment.

2026-07-31 — v6 benchmark board

  • The published benchmark board now covers 29 systems, including gpt-transcribe.
  • Benchmark claims apply to English unless stated otherwise.

2026-07-26 — language=auto generally available (sync)

  • Per-utterance automatic language detection is generally available on the synchronous endpoint with language=auto, optionally narrowed with language_hints.
  • Omitting language still uses the key default and then English; omission never enables detection.
  • Automatic detection on long-audio jobs is available to named evaluation accounts while the paid entitlement is introduced.

Served model builds

Verbose responses report the exact build in metadata.model_build. Pin against it to detect a model change.

ModelPinned buildSince
omi-medical-1omi-medical-1@9e0248f339dc2026-07-29