Skip to content

Try Resonance 2 early.

Tell us a little about yourself and what you’re building.

A brief description of your use case.

We’ll use these details to review your application and contact you about access. Privacy policy

Explore oruk

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.

Recipe requirements and limits
RuntimeNode.js 22+; a modern browser with MediaRecorder for microphone capture
AccessAn 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
InputEnglish; WAV, FLAC, MP3, M4A, OGG or WebM; at most 60 seconds; 4 MiB complete multipart request
OutputFinal text, duration and usage; no partial words or word timestamps
Demo limits55-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.

Terminal · start the local demo
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.

Actual response · complete JSON
{
  "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

How to handle failed requests
400 / 413 / 415 / 422Check the model, fields, file format, complete request size and audio duration. Do not silently truncate a recording.
401 / 403Check the key and account/API access. A verified email alone does not grant inference access.
402Check the subscription, allowance and spending cap. Do not keep resending audio.
429 / 503Respect Retry-After when supplied and inspect the error. The sample does not retry automatically.
Timeout / disconnectThe 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.