For Agents
Send an audio file to oruk to get an English transcript, emotion and speaking-style labels, a CEFR and fluency proficiency score, or a verdict on whether the voice is human or synthetic.
Use for: I need to transcribe this customer call recording, Detect the emotions in a voice message, Score this English learner's speaking level on the CEFR scale, Check whether this voice clip is a real person or AI-generated
Not supported: Does not generate speech, translate audio, or host the realtime WebSocket stream itself. Use for analysing uploaded speech files for transcript, emotion, style, proficiency, and synthetic-voice detection only.
The oruk Speech API analyses uploaded audio files: it transcribes English speech, classifies multilabel emotion and speaking style, and returns a combined analysis with transcript, emotion, style, segments, and tagged text. It also scores speaking proficiency with CEFR and fluency fields plus 0 to 1 pronunciation estimates per word, and detects whether a recording is human or AI-generated speech with the OrukZero model. Files can be WAV, FLAC, MP3, M4A, OGG, or WebM up to 30 MB and 60 minutes, and models include oruk-resonance, oruk-fourier, oruk-spectra-2, and the access-gated oruk-resonance-2.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the oruk Speech API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Foruk.ai%2Foruk" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Foruk.ai%2Foruk" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with oruk Speech API.
Transcribe an audio file through /v1/audio/transcriptions with the oruk-resonance or oruk-fourier model, with optional diarization on oruk-resonance
Classify multilabel emotion with /v1/audio/emotions or speaking style with /v1/audio/styles, or both at once with /v1/audio/affect
Return transcript, emotion, style, segments, and tagged text in one call to /v1/audio/analysis
Score speaking proficiency with cefr_score, fluency_score, and per-word pronunciation scores through /v1/audio/proficiency
Detect whether a recording is human or AI speech with OrukZero through /v1/audio/synthetic-speech
Prepare Spectra-2 sessions or direct streams and mint single-use Orukeet streaming tokens for realtime clients
List public models and supported tasks through /v1/models and read reference pricing through /v1/pricing
Patterns agents use oruk Speech API for, with concrete tasks.
★ Agent call review through Jentic
A support-quality agent reviews recorded calls by sending each file to the oruk /v1/audio/analysis operation through Jentic. It gets the transcript plus emotion and style labels and segments in one response, flags calls where frustration appears, and writes a summary. Your own Jentic One instance injects the oruk API key, so the agent never handles it.
POST /v1/audio/analysis with file 'call-2026-11-10.mp3' and model 'oruk-resonance', then list the segments labelled with negative emotion alongside their text
Spoken English proficiency scoring
Language-learning products grade a learner's spoken answer without a human examiner. The /v1/audio/proficiency operation returns cefr_score on a 0 to 5 scale, fluency_score on a 0 to 10 scale, and 0 to 1 pronunciation scores per word, and its top-level check tells the caller whether the grade is usable; insufficient audio is not billed.
POST /v1/audio/proficiency with the learner's 'answer-q3.wav' file, then report cefr_score, fluency_score, and the three lowest-scoring words if the check marks the result usable
Synthetic voice screening
Teams handling voice submissions or voice-based verification need to know whether a recording was produced by a speech generator. The /v1/audio/synthetic-speech operation runs OrukZero on an uploaded file and answers human or AI, and /v1/models/orukzero/access confirms the organization's paid-plan access first.
GET /v1/models/orukzero/access to confirm access, then POST /v1/audio/synthetic-speech with file 'voice-note.m4a' and report whether it is human or AI speech
19 endpoints — the oruk speech api analyses uploaded audio files: it transcribes english speech, classifies multilabel emotion and speaking style, and returns a combined analysis with transcript, emotion, style, segments, and tagged text.
METHOD
PATH
DESCRIPTION
/v1/audio/transcriptions
Transcribe an audio file
/v1/audio/analysis
Transcript, emotion, style, and segments in one call
/v1/audio/emotions
Classify multilabel emotion
/v1/audio/proficiency
Score speaking proficiency
/v1/audio/synthetic-speech
Detect human or AI speech
/v1/models
List models and supported tasks
/v1/audio/transcriptions
Transcribe an audio file
/v1/audio/analysis
Transcript, emotion, style, and segments in one call
/v1/audio/emotions
Classify multilabel emotion
/v1/audio/proficiency
Score speaking proficiency
/v1/audio/synthetic-speech
Detect human or AI speech
/v1/models
List models and supported tasks
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>What agents get from Jentic-routed access to this vendor.
Setup
Wiring oruk by hand means bearer auth, multipart file uploads with the right model ID, and separate token and session steps for streaming. Through Jentic you install once, import the oruk Speech API from the API Directory, store the API key once, and your agent calls it.
Permission scoping
oruk's audio operations take the file and model in the request body and carry no resource ids in the path, so rules bound which operations your agent may call, such as transcription or emotion classification, not which file. You choose the set, so access requests and streaming token minting are not included unless you add them.
Credential isolation
Your oruk API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'transcribe an audio file' or 'detect AI-generated speech', and Jentic returns the matching oruk operation with its input schema so the agent sends the right file field and model.
Alternatives and complements available in the Jentic catalogue.
Specific to using oruk Speech API through Jentic.
What authentication does the oruk Speech API use?
Per its OpenAPI spec the oruk Speech API uses HTTP bearer tokens: the bearerAuth scheme carries your oruk API key on the analysis, streaming setup, and OrukZero operations, and the Resonance-2 classify and access operations declare a separate HTTPBearer scheme. The pricing, liveness, readiness, and Resonance-2 health checks are declared open. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at call time.
Which audio formats and sizes does the oruk Speech API accept?
The file upload operations accept WAV, FLAC, MP3, M4A, OGG, or WebM, with a maximum of 30 MB and 60 minutes per file. Requests are sent as multipart/form-data with a file field and an optional model, which defaults to oruk-resonance.
Can I get emotion labels without a transcript?
Yes. POST /v1/audio/emotions with oruk-resonance runs only the encoder and affect head, so the transcription decoder is never invoked and the response contains no transcript text. One minute of audio still uses one plan minute, the same as the combined analysis.
How much does the oruk Speech API cost?
The spec states that Orukeet is included in every subscription at $0.00045 per audio minute, with optional tasks at their published rates, and that only excess usage beyond the monthly allowance is billed. GET /v1/pricing returns the current reference cost metadata without authentication.
How do I transcribe and analyse a recording through Jentic?
Install Jentic One, add the oruk Speech API from the Jentic API Directory, and store your oruk API key once. Your agent searches for 'analyse emotion in an audio file', gets the createSpeechAnalysis operation with its input schema, and posts the file to /v1/audio/analysis. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Is there an oruk Speech MCP server?
You don't need an MCP server to give your agent the oruk Speech API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, finding operations on demand rather than loading extra tool definitions.
Can I limit what my agent is allowed to do with the oruk Speech API?
Yes. Write a rule that allows only the transcription and emotion operations, and your agent can process audio files but cannot request Resonance-2 access or mint streaming client tokens. Your own Jentic One instance logs the calls it makes.
GET STARTED