Skip to main content

When to Use

Upload a finished recording but receive the same SSE signals you would see in a live call. Ideal for coaching apps that want incremental results without implementing chunked uploads.

Request

file
binary
required
Audio or video file (mp4, mov, webm, mp3, wav, m4a, aac). Sent as multipart/form-data.

Response

An SSE connection (text/event-stream). Events are emitted in order:
  1. status (phase=start)
  2. final_transcript (per utterance once finalized)
  3. For each utterance: emotion, cognitive, optional transition / moment
  4. summary_update after the timeline completes
  5. status (phase=completed)
  6. done
Example CLI invocation:
curl -N https://api.illocution.ai/analyze/stream \
  -H "Accept: text/event-stream" \
  -H "X-API-Key: $ILLOCUTION_KEY" \
  -F "[email protected]"

Example Event

event: emotion
data: {
  "utterance_id": "analysis_1234_utt_0007",
  "speaker_id": "Speaker_1",
  "emotion": {"joy":0.64,"fear":0.05,...},
  "scores": {"valence":0.41,"arousal":0.58,"dominance":0.52},
  "confidence":0.78,
  "stability":"final"
}
POST /analyze?stream=true is a convenience alias for clients that cannot change URLs.