Choose an API

Realtime, Segment, and Batch — when to use which.

LansonAI provides three live transcription APIs today, plus Voice Agent which is coming soon.

Decision table

ScenarioAPIEndpointWho does VAD
Live captions / dialogueRealtime WSWS /v1/audio/transcriptions/streamServer
Pre-segmented speech clips (e.g. voice UI)Segment HTTPPOST /v1/audio/transcriptionsClient
Meeting / podcast file from URLBatch jobsPOST /v1/audio/transcriptions/jobsServer (time slice)
Voice agentVoice AgentComing soon—
Segment vs Batch Segment = you already cut speech with client VAD; send multipart file, get 200 immediately. Batch = you have a long audio_url; get 202 + poll. Do not send silence to Segment — we transcribe whatever you POST.

Realtime Voice Context

When to use: text while the person is still speaking.

  • Live captions, real-time display
  • Continuous PCM stream; server-side VAD and utterance boundaries

Characteristics:

  • WebSocket full-duplex
  • PCM16LE / 16kHz / mono
  • Millisecond-level latency

→ Realtime Overview

Segment transcription (client VAD)

When to use: your app already detected speech boundaries (VAD) and has a short clip per utterance.

  • Voice clients that upload one WAV per utterance
  • OpenAI Whisper-compatible multipart/form-data
  • Synchronous 200 response

Characteristics:

  • No server-side silence filtering — silent clips are transcribed and billed
  • ~800ms × up to 2 worker attempts per request; no HTTP auto-retry
  • On failure (502), client decides whether to resend

→ Segment API · Client-VAD guide

Batch jobs (recorded files)

When to use: complete audio file at a public URL; processing can take minutes.

  • Post-meeting / podcast processing
  • Server slices by time, concurrent chunk transcription, aggregation
  • Optional LLM review and webhook

Characteristics:

  • HTTP async (202 + poll)
  • workflow_id is cf_ + 64 hex (not UUID)

→ Recorded Overview · Batch Jobs API

Voice Agent

Status: Coming soon

Comparison

DimensionRealtime WSSegment HTTPBatch jobs
TransportWebSocketHTTP POSTHTTP POST + GET poll
LatencyMilliseconds~≤1.6s syncMinutes (async)
InputPCM16LE streamMultipart fileJSON audio_url
OutputEvent streamTranscript JSONFull job JSON
VADServerClientServer (slice)
Success codeWS events200202

Next steps