default or a JSON BatchConfig — and behaviors can be pulled from a catalog of ready-made presets.
| Batch | Streaming | |
|---|---|---|
| Use case | Analyze a complete recording | Analyze a live conversation in real time |
| Protocol | HTTP POST (multipart upload) | WebSocket |
| Configuration | config form field — default or a JSON BatchConfig | First text frame — default or a JSON BatchConfig |
| Output | Full BatchResponse after processing | Discrete events emitted as results are produced |
| Max file size | 100 MB | — (streaming) |
| Transcription + diarization | ✓ | ✓ |
| Conversation-type & participant-role inference | ✓ | ✓ |
| Behavior detection (with presets) | ✓ | ✓ |
| Topics, topic sentiment, summary | ✓ | ✓ |
Configuration
Both endpoints take the same configuration: either the literal stringdefault to use the built-in configuration, or a JSON BatchConfig describing the conversation types, participant roles, behaviors, STT options, and which aggregate outputs (topics, sentiments, summary) to produce. The full BatchConfig schema is rendered on the Batch reference.
Behaviors can be specified inline or referenced from a catalog of presets using the preset:<identifier> syntax. List the available presets with List behavior presets.
Authentication
Batch uses theX-API-Key header. Streaming uses an api_key query parameter at connection time. See Authentication and rate limits.