OrukZero.
Upload speech. Get a human-or-synthetic prediction, a score,
and a breakdown across the recording.
One request.
Use your Oruk API key with any active paid plan. OrukZero costs $0 extra and uses no credits or included minutes—even after your other model allowances are exhausted.
curl https://speech-api.oruk.ai/v1/audio/synthetic-speech \
-H "Authorization: Bearer $ORUK_API_KEY" \
-F model=orukzero \
-F file=@speech.wav{
"model": "orukzero",
"prediction": "human",
"synthetic_score": 0.00156,
"threshold": 0.5,
"duration": 14.45,
"model_revision": "2026-10-05-adapt-216",
"usage": { "billed": false, "billing_mode": "included_with_paid_plan" }
}Read the signal.
synthetic_score runs from 0 to 1. Scores at or above 0.5 are labeled synthetic; lower scores are labeled human. This is an uncalibrated model score, not a probability or proof of authenticity.
segments provides scores for windows of up to six seconds. Longer clips use a coverage-weighted mean of logits, with an overlapping tail when needed. This aggregation is experimental; inspect segment scores when they disagree.
OrukZero is intended for English speech. It does not verify language or detect voice activity. Multilingual, adversarial, mixed-origin, noisy, and heavily processed recordings need separate validation. A human prediction cannot certify that a recording is genuine.
Input & privacy
Mono or stereo, 8–48 kHz. Send one audio file in multipart form data. Silence, malformed files, M4A/AAC, and remote URLs are not supported.
Uploaded audio is processed transiently and is not retained or logged by this endpoint. Responses are not cached. Your API key is never forwarded to the inference worker.
Handle errors
| 401 / 402 | 401: invalid API key. 402: an active paid plan is required; free trials and prepaid-only accounts are not eligible. |
|---|---|
| 413 / 415 / 422 | Check file size, multipart format, and audio limits. |
| 429 | Rate limit or worker busy. Honor Retry-After. |
| 503 | Temporarily unavailable. Retry with backoff. |
