On this page
Record Calls and Get Transcripts
Audio or video of a call, with transcript and chat, and a webhook when it is ready.
Recording keeps one stretch of a session as audio or video, plus transcript plus chat. Start it from your server with
POST /api/v1/rooms/{name}/recordings ({"video": true} for video). The call's More menu starts an audio recording.
Who can record#
The host, or a person whose meeting token has the record permission. Viewers never can. Everyone in the call sees a red
"Recording" mark and a chat line from Meet when recording starts and stops, so nobody is recorded in secret. A recording stops when
someone stops it, when the session ends, or after 240 minutes.
curl "https://meet.respiresoft.com/api/v1/rooms/order-1042/tokens" \
-H "Authorization: Bearer $MEET_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "Ann", "role": "participant", "perms": ["audio", "video", "chat", "record"]}'People with that token get "Start recording" in the call's More menu.
What you get#
Video is one 1280x720 MP4 (H.264 and AAC) of the call: a grid of up to 9 cameras with the people speaking first, or the shared screen large with the speaker small. The first seconds, and a tile for about 3 seconds after a screen share starts or stops, can be black while the picture starts. A server records a few videos at once; past that the start answers an error and audio recording still works.
Audio is mixed into one mono file (audio/webm, Opus, about 40 kbit/s). The transcript lines get start_s and end_s in seconds from the
start of the recording, and the chat messages sent during the recording are kept next to them.
Find out when it is ready#
Subscribe a webhook to recording.ready:
{
"type": "recording.ready",
"data": {
"recording_id": "6f1c2b7e-3a54-4d0e-9c1b-2f7a8e5d4c10", "slug": "order-1042", "session_id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f",
"started_at": "2026-11-02T09:31:12Z", "ended_at": "2026-11-02T10:02:40Z", "duration_seconds": 1888,
"size_bytes": 3012345, "mime": "audio/webm", "transcript_lines": 212, "chat_messages": 9
}
}Download it#
# 1. Ask for a link that works for one hour
curl "https://meet.respiresoft.com/api/v1/recordings/$RECORDING_ID/download-link" \
-H "Authorization: Bearer $MEET_API_KEY"
# 2. Fetch the file from the url in the answer (no key needed, the link is signed)
curl -L -o call.webm "<url from step 1>"Until a recording is ready the link call answers 409 recording_not_ready. A link that is wrong, tampered with or expired is a plain
404. GET /api/v1/recordings/{id} returns the transcript and chat. More in Recordings API.
How long it is kept#
30 days from the end of the recording by default. We can change this for your project (0 keeps recordings until you delete them). Deleting a
room deletes its recordings. DELETE /api/v1/recordings/{id} removes one at once.
Privacy#
Tell people before you record. Meet shows the mark, but laws about consent differ by place, and you decide who gets the
record permission. Recording usage is counted per minute, see Pricing.