Hosted Orukeet preview · Updated November 11, 2026
Build browser dictation with Orukeet
This runnable demo records English speech, uploads it when you stop, and shows the finished transcript. A local Node server holds your API key. It does not stream partial words or expose a key to the browser.
| Runtime | Node.js 22+; a modern browser with MediaRecorder for microphone capture |
|---|---|
| Access | An active Oruk subscription or eligible legacy account, API access, a key and available allowance/budget |
| Price | $0.00045/audio minute ($0.027/hour); optional tasks are off |
| Input | English; WAV, FLAC, MP3, M4A, OGG or WebM; at most 60 seconds; 4 MiB complete multipart request |
| Output | Final text, duration and usage; no partial words or word timestamps |
| Demo limits | 55-second recording; 3 MiB upload; one request at a time; loopback only |
Plans start at $9/month. Usage draws from the separate Orukeet allowance; excess usage shares your spending cap. Trial allowances are smaller and overage is disabled. See total monthly costs and assumptions.
Run the example
Create a key in your account and set ORUK_API_KEY in your local environment. Keep it out of source control. On Windows, activate the Python environment with .venv\Scripts\activate.
mkdir orukeet-browser && cd orukeet-browser
curl --fail --location -O https://oruk.ai/examples/orukeet-browser/server.mjs
curl --fail --location -o index.html https://oruk.ai/examples/orukeet-browser/index.html.txt
# Set ORUK_API_KEY in this terminal's environment.
node server.mjs
# Open http://127.0.0.1:8787 and click Transcribe sample.Click Transcribe sample first. For dictation, click Record microphone, allow microphone access, then Stop and transcribe. A denied permission or unsupported recorder is shown on screen. The server and browser source are complete. This is a single-user local demo: a public deployment needs your own sign-in, per-user authorization and spending controls. For audio sent while recording, use the separate PCM WebSocket protocol.
Source and installation instructions are also available in the public GitHub examples.
Hear the sample and inspect the result
An actual API response captured November 11, 2026 for this 14.45-second recording follows. The browser demo uses this same file-transcription endpoint; this saved payload was captured through HTTP, not a microphone recording. IDs, timing, transcripts and scores may vary between requests.
{
"id": "tr_50552a9a634845429678d029db410ebf",
"object": "audio.transcription",
"model": "oruk-orukeet",
"task": "transcription",
"text": "I'm sorry. The price of food has gone up so much. I mean It really has. What happened? I don't know. Like, honestly, I don't know what happened.",
"language": "en",
"duration": 14.45,
"audio_seconds": 14.45,
"emotions": [],
"styles": [],
"segments": [],
"diarized": false,
"speakers": [],
"usage": {
"audio_seconds": 14.45,
"billable_seconds": 14.45,
"billing_unit": "audio_second",
"billing_basis": "prepaid",
"rate_per_minute_usd": "0.00045",
"estimated_cost_usd": "0.000109",
"cost_microusd": 109,
"pricing_version": "2026-09-13-orukeet",
"tasks": [
"transcription"
]
},
"request_id": "req_42924d1829fa416dba9ea2a9ee06ea62",
"asr_ms": 47.95916299917735,
"server_ms": 48.03640399950382
}Download JSON · Capture and SHA-256 record · Sample attribution. Audio: The Agentic Data Company, Open Yap 1K (2026), CC BY 4.0; excerpted and downmixed by Oruk. Recorded usage came from a legacy prepaid demonstration account and is not a current subscription invoice.
Handle failures and check the limits
| 400 / 413 / 415 / 422 | Check the model, fields, file format, complete request size and audio duration. Do not silently truncate a recording. |
|---|---|
| 401 / 403 | Check the key and account/API access. A verified email alone does not grant inference access. |
| 402 | Check the subscription, allowance and spending cap. Do not keep resending audio. |
| 429 / 503 | Respect Retry-After when supplied and inspect the error. The sample does not retry automatically. |
| Timeout / disconnect | The outcome may be unknown. Retain the request ID for investigation; this guide does not promise idempotent replay for Orukeet. |
These examples demonstrate integration, not held-out accuracy or production throughput. The September serving measurements have their original client, hardware and timing boundaries in the benchmark comparison. The hosted English preview is separate from the 25-language downloadable model. Read the audio-processing terms before sending private recordings.