# Transcribe and analyze a recording

`POST https://api.eesi.ai/v1/speech/transcriptions`

Upload a recording to transcribe it by speaker, save it with its audio, and
analyze how it was spoken.

The transcript comes back in this response: streamed as Server-Sent Events while
it is transcribed (`stream=true`, the default), or as one JSON body when it is
done (`stream=false`). The analysis of each line's delivery, the audience's
reactions and the sound under the voice runs next, in the background. Poll
`GET /v1/speech/transcriptions/{session_id}/intelligence`
until its `status` is `complete`.

Pass `project` to file the recording in a project: the same person keeps one
speaker identity across every recording in it. A key that does not exist yet
creates the project.

Streaming events: `session.created` (carries `session_id`), one
`transcript.segment` per finished line, then `transcript.text.done` with the full
result, or `error`.

Parameters:

- `Idempotency-Key` (header): Retry safely: a repeat with the same key returns the recording the first request made instead of transcribing and billing again. Needs `stream=false`. Keys hold for 24 hours.

Request body: multipart/form-data.

- `file` (string, required): The recording: MP3, WAV, M4A, FLAC, OGG, WebM, or a video's audio (MP4, MOV), up to 1 GB and about 90 minutes.
- `model` (string, required): `nur-v1`.
- `stream` (boolean): `true` streams Server-Sent Events as lines are transcribed; `false` returns one JSON body.
- `intelligence` (boolean): Analyze how it was spoken once it is transcribed.
- `project` (string): A project id or key to file it in. A new key creates the project.
- `project_name` (string): A display name for a project this upload creates.
- `external_id` (string): Your own id for this asset, such as a clip id in your asset manager. Returned with the recording, and `GET /v1/speech/transcriptions?external_id=` finds it. Not unique.
- `metadata` (string): A JSON object of your own to keep with the recording, such as `{"show": "Archive", "reel": "A012"}`.

Responses: 200, 404, 422.

Schemas: https://docs.eesi.ai/api-reference/public.json
