can I get the audio recordings of the call via a A...
# ask-ai
m
can I get the audio recordings of the call via a API call
t
Thanks for reaching out, Shataxi. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — I’m responding to your question about whether you can get call audio via an API call. Yes. You can obtain audio recordings through LiveKit’s Egress functionality. Key options: • Use the Egress API to start recordings for a room or individual tracks. Recordings can be exported as media files. • Save recordings directly to cloud storage (for example S3 or GCS) when you start the egress. • If an upload fails, LiveKit keeps backup egress storage for 7 days; you can access those files using the
manifestLocation
from the
egress_ended
webhook event. • For real-time needs, Track Egress can forward raw audio tracks (e.g., via WebSocket) so you can do on‑the‑fly transcription or processing. • If you’re using Agent Observability, you can also download audio, transcripts, and logs from the session via the dashboard or API. If you’d like, I can: 1. Provide an example API request (or server-SDK snippet) for starting a room recording and saving it to S3. 2. Show how to find and use the
manifestLocation
from the
egress_ended
webhook to download backups. 3. Explain Track Egress/WebSocket setup for real-time processing. Which of these would be most helpful for you? Also tell me whether you’re using a particular SDK (Node, Go, Python) or storing to S3 vs GCS so I can give a tailored example. Sources: Backup Egress Recordings | Streamline troubleshooting with Agent Observability | Universal Egress
m
How to get the transcript of the calls via an API call. is there a specific api or endpoint for getting the transcript and audio recordings
t
Thanks — I’m responding to your question about whether there’s a specific API or endpoint to retrieve call transcripts and audio recordings, and how to get them programmatically. Short answer • Audio recordings: Yes — use LiveKit’s Egress APIs to record calls (room or individual tracks) and save the resulting media to cloud storage (S3/GCS) or retrieve via the egress manifest. • Transcripts: If you use Agent Observability (or the Agent SDK transcription events), transcripts are available — they are delivered via session events/webhooks and downloadable session bundles. There isn’t a single REST endpoint labeled “get transcript by ID”; instead you retrieve transcripts from observability exports, egress manifests, or real‑time transcription events. What you can use (options) • Egress API (for recordings) ◦ Start egress (room composite, track composite, or track egress) with the EgressClient to record audio/video. ◦ Output can be written directly to S3/GCS or returned as files. Egress captures audio files (MP4, WebM, OGG, etc.). ◦ Egress operations emit webhook events; the
egress_ended
webhook includes metadata and file results. • Agent Observability (for transcripts + audio + logs) ◦ Observability bundles include transcripts, audio, and logs after a session ends (may take a few minutes to appear). ◦ Observability data can be downloaded from the dashboard or programmatically via the session bundle referenced by the
manifestLocation
in the
egress_ended
webhook. ◦ Observability data is retained for a limited time (session bundles are stored for a window). • Real-time transcripts ◦ Use agent session events like
user_input_transcribed
to receive transcripts as they are produced during a session (useful for live UIs or streaming processing). How to get them programmatically (typical flow) 1. Start egress (server SDK) to record a room or tracks and set output to your cloud storage (S3/GCS) or a file path. 2. When egress finishes, handle the
egress_ended
webhook: ◦ Inspect
egressInfo.fileResults
and
egressInfo.manifestLocation
. ◦ If
manifestLocation
is present, fetch that URL to get a JSON manifest listing recording files and download URLs (this also covers backup/failed uploads). 1. For transcripts and observability bundles: ◦ Enable Agent Observability for the agent sessions you want captured. ◦ After session end, use the dashboard or the
manifestLocation
from
egress_ended
to download the session bundle (which contains transcripts, audio, logs). 1. For real-time needs: ◦ Subscribe to transcription events (e.g.,
user_input_transcribed
) in your Agent SDK code and stream or store transcripts as they arrive. What I can provide next • Example API/SDK snippet to start a room recording to S3 in your preferred SDK (Node, Python, or Go). • Sample
egress_ended
webhook payload and an example of fetching the
manifestLocation
JSON. • Example code to listen for
user_input_transcribed
events in the Agent SDK for live transcripts. Which would you like? Also tell me: • Which SDK/language are you using (Node, Python, Go, or REST)? • Do you want recordings saved to S3 or GCS, or pulled from LiveKit backup storage? Sources: Why is my Agent insights data missing? | LiveKit | Streamline troubleshooting with Agent Observability | Backup Egress Recordings | Where to find your Agent Logs | LiveKit | Streamline troubleshooting with Agent Observability
m
THis means there is no direct API to get the transcript or audio recording after call completes. I have to use egress API if I want audio to store in Cloud Storage
t
You’re correct — there isn’t a single “get transcript/by‑ID” REST endpoint that returns a completed call’s transcript or recording directly after the call. Here’s a concise confirmation and the practical options you can use instead. Confirmation • There is no direct REST API endpoint that simply returns a finished call’s transcript or recording by ID. • For audio recordings you want stored in your cloud, you must use the Egress APIs to record and export media to S3/GCS (or retrieve files via the egress manifest/backups). • For transcripts, enable Agent Observability or consume realtime transcription events. Post-call transcripts are delivered as part of the observability/session bundle (accessible via the egress webhook manifest or the dashboard), not a single transcript GET endpoint. Recommended flows • Audio files (recommended) a. Start recording with Egress (room composite, track composite, or track egress) and set output to your S3/GCS bucket. b. When egress completes, handle the
egress_ended
webhook and use
egressInfo.fileResults
or
manifestLocation
to retrieve the file URLs (or fallback backup storage). • Transcripts (recommended) ◦ Real-time: subscribe to
user_input_transcribed
events during the session to capture live transcripts. ◦ Post-call: enable Agent Observability so the session bundle includes transcripts. After session end, use the
manifestLocation
from
egress_ended
or download the bundle from the dashboard to get the transcript files. If you’d like, I can provide: • A code example to start egress and store recordings to S3 in your preferred SDK (Node, Python, or Go). • A sample
egress_ended
webhook payload and how to parse
manifestLocation
to download files. • Example code to consume
user_input_transcribed
events for live transcripts. Which SDK/language are you using, and do you want recordings saved to S3 or GCS? I’ll send the exact snippet you need.