Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.illocution.ai/llms.txt

Use this file to discover all available pages before exploring further.

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 "file=@call.mp4"

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.