Direct HTTP API Reference

Schema-level reference for Batch and streaming HTTP integrations.

Use this reference when you need exact HTTP paths, parameters, request bodies, response shapes, or generated request examples. For a guided integration with SDK 0.18.0, start with the Quickstart or API Guides.

Choose by input lifecycle

WorkflowInput stateBest fit
Batch transcriptionOne complete, long-form recordingMeetings, podcasts, interviews, and archives processed as asynchronous jobs
Fast transcriptionOne complete, bounded audio unitLatency-sensitive agent turns, voice commands, and short conversational utterances
Realtime ASRAudio is still arrivingLive microphones, calls, and other streams that need partial and final results
Text to speechText input; audio outputGenerate a PCM16 audio stream from text

Configure access

Obtain an API key through your organization’s approved access flow. Keep the key on a trusted backend and use the host and route path configured for your environment. See Authentication before exposing an integration to users.

export API_URL="https://api.voice.humain.com"
export API_KEY="YOUR_API_KEY"
APIBase path
Batch API/v1
Realtime HTTP API/realtime

Send a safe request

A read-only lookup for a deliberately unknown job ID provides non-mutating diagnostic evidence without creating work:

curl --include "$API_URL/v1/transcribe/00000000-0000-4000-8000-000000000000" \
  --header "x-api-key: $API_KEY" \
  --header "Origin: $API_URL"
  • 404 is compatible with lookup of the unknown job, but does not by itself prove that the credential and Batch capability are valid.
  • 401 indicates that the key is missing or invalid for the request path.
  • 403 indicates that access was denied; verify the configured values through your organization’s approved access flow.

Reference sections

Operational boundaries

  • A Batch submit can return 429 when audio-processing capacity is exhausted. Treat the response as backpressure and use the returned capacity data when it is present.
  • Do not blindly retry an ambiguous file upload. Record the request outcome in your job layer so a timeout cannot create duplicate work unnoticed.
  • Use bounded polling for Batch jobs and stop on done, failed, or cleared.
  • The HTTP and Socket.IO realtime surfaces have different framing and lifecycle rules. Follow the page for the transport you actually use.

Markdown and LLM access

Next steps

On this page