curl https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f \
-H "Authorization: Bearer mvo_live_abc123"
curl "https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f?format=text" \
-H "Authorization: Bearer mvo_live_abc123"
transcript = client.transcripts.get("trs_9a2b3c4d5e6f")
for segment in transcript.segments:
print(f"[{segment.speaker.name}] {segment.text}")
const transcript = await client.transcripts.get('trs_9a2b3c4d5e6f');
transcript.segments.forEach(seg => {
console.log(`[${seg.speaker.name}] ${seg.text}`);
});
{
"id": "trs_9a2b3c4d5e6f",
"meeting_id": "mtg_8f3k2j1m4n5p",
"language": "en",
"duration_seconds": 2852,
"word_count": 4231,
"confidence": 0.96,
"segments": [
{
"id": "seg_001",
"speaker": {
"id": "prt_a1b2c3",
"name": "Sarah Chen"
},
"text": "Good afternoon everyone. Let's get started with our weekly product sync. I want to cover three things today: the launch timeline, the open bugs from QA, and next sprint planning.",
"start": 2.4,
"end": 12.8,
"confidence": 0.97,
"words": [
{ "word": "Good", "start": 2.4, "end": 2.7, "confidence": 0.99 },
{ "word": "afternoon", "start": 2.7, "end": 3.2, "confidence": 0.98 },
{ "word": "everyone.", "start": 3.2, "end": 3.8, "confidence": 0.99 }
]
},
{
"id": "seg_002",
"speaker": {
"id": "prt_d4e5f6",
"name": "James Rodriguez"
},
"text": "Sounds good. On the launch timeline, we're still tracking for April 20th. The only risk is the payment integration — we're waiting on the sandbox credentials from Stripe.",
"start": 13.1,
"end": 22.6,
"confidence": 0.95,
"words": [
{ "word": "Sounds", "start": 13.1, "end": 13.4, "confidence": 0.99 },
{ "word": "good.", "start": 13.4, "end": 13.8, "confidence": 0.98 }
]
},
{
"id": "seg_003",
"speaker": {
"id": "prt_g7h8i9",
"name": "Priya Patel"
},
"text": "I actually got the Stripe credentials this morning. I'll have the integration tested by end of day tomorrow.",
"start": 23.0,
"end": 29.4,
"confidence": 0.94,
"words": [
{ "word": "I", "start": 23.0, "end": 23.1, "confidence": 0.99 },
{ "word": "actually", "start": 23.1, "end": 23.6, "confidence": 0.97 }
]
}
],
"created_at": "2026-04-10T14:50:22Z"
}
Get transcript
Retrieve the full transcript for a meeting, including speaker-labeled segments with timestamps.
GET
/
v1
/
transcripts
/
{id}
curl https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f \
-H "Authorization: Bearer mvo_live_abc123"
curl "https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f?format=text" \
-H "Authorization: Bearer mvo_live_abc123"
transcript = client.transcripts.get("trs_9a2b3c4d5e6f")
for segment in transcript.segments:
print(f"[{segment.speaker.name}] {segment.text}")
const transcript = await client.transcripts.get('trs_9a2b3c4d5e6f');
transcript.segments.forEach(seg => {
console.log(`[${seg.speaker.name}] ${seg.text}`);
});
{
"id": "trs_9a2b3c4d5e6f",
"meeting_id": "mtg_8f3k2j1m4n5p",
"language": "en",
"duration_seconds": 2852,
"word_count": 4231,
"confidence": 0.96,
"segments": [
{
"id": "seg_001",
"speaker": {
"id": "prt_a1b2c3",
"name": "Sarah Chen"
},
"text": "Good afternoon everyone. Let's get started with our weekly product sync. I want to cover three things today: the launch timeline, the open bugs from QA, and next sprint planning.",
"start": 2.4,
"end": 12.8,
"confidence": 0.97,
"words": [
{ "word": "Good", "start": 2.4, "end": 2.7, "confidence": 0.99 },
{ "word": "afternoon", "start": 2.7, "end": 3.2, "confidence": 0.98 },
{ "word": "everyone.", "start": 3.2, "end": 3.8, "confidence": 0.99 }
]
},
{
"id": "seg_002",
"speaker": {
"id": "prt_d4e5f6",
"name": "James Rodriguez"
},
"text": "Sounds good. On the launch timeline, we're still tracking for April 20th. The only risk is the payment integration — we're waiting on the sandbox credentials from Stripe.",
"start": 13.1,
"end": 22.6,
"confidence": 0.95,
"words": [
{ "word": "Sounds", "start": 13.1, "end": 13.4, "confidence": 0.99 },
{ "word": "good.", "start": 13.4, "end": 13.8, "confidence": 0.98 }
]
},
{
"id": "seg_003",
"speaker": {
"id": "prt_g7h8i9",
"name": "Priya Patel"
},
"text": "I actually got the Stripe credentials this morning. I'll have the integration tested by end of day tomorrow.",
"start": 23.0,
"end": 29.4,
"confidence": 0.94,
"words": [
{ "word": "I", "start": 23.0, "end": 23.1, "confidence": 0.99 },
{ "word": "actually", "start": 23.1, "end": 23.6, "confidence": 0.97 }
]
}
],
"created_at": "2026-04-10T14:50:22Z"
}
Returns the complete transcript for a given transcript ID. The transcript is broken into segments, each attributed to a specific speaker with precise start and end timestamps.
string
required
The unique transcript identifier (e.g.,
trs_9a2b3c4d5e6f).string
default:"json"
Response format. One of
json (structured segments), text (plain text with speaker labels), or srt (SubRip subtitle format).Response
string
Unique transcript identifier.
string
The ID of the meeting this transcript belongs to.
string
Primary language of the transcript (ISO 639-1 code).
integer
Total duration of the transcribed audio in seconds.
integer
Total number of words in the transcript.
number
Overall transcription confidence score between 0 and 1.
array
Ordered array of transcript segments.
Show Segment object
Show Segment object
string
Unique segment identifier (e.g.,
seg_001).object
string
The transcribed text for this segment.
number
Start time of the segment in seconds from the beginning of the recording.
number
End time of the segment in seconds.
number
Confidence score for this segment between 0 and 1.
string
ISO 8601 timestamp when the transcript was generated.
curl https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f \
-H "Authorization: Bearer mvo_live_abc123"
curl "https://api.mavioapp.com/v1/transcripts/trs_9a2b3c4d5e6f?format=text" \
-H "Authorization: Bearer mvo_live_abc123"
transcript = client.transcripts.get("trs_9a2b3c4d5e6f")
for segment in transcript.segments:
print(f"[{segment.speaker.name}] {segment.text}")
const transcript = await client.transcripts.get('trs_9a2b3c4d5e6f');
transcript.segments.forEach(seg => {
console.log(`[${seg.speaker.name}] ${seg.text}`);
});
{
"id": "trs_9a2b3c4d5e6f",
"meeting_id": "mtg_8f3k2j1m4n5p",
"language": "en",
"duration_seconds": 2852,
"word_count": 4231,
"confidence": 0.96,
"segments": [
{
"id": "seg_001",
"speaker": {
"id": "prt_a1b2c3",
"name": "Sarah Chen"
},
"text": "Good afternoon everyone. Let's get started with our weekly product sync. I want to cover three things today: the launch timeline, the open bugs from QA, and next sprint planning.",
"start": 2.4,
"end": 12.8,
"confidence": 0.97,
"words": [
{ "word": "Good", "start": 2.4, "end": 2.7, "confidence": 0.99 },
{ "word": "afternoon", "start": 2.7, "end": 3.2, "confidence": 0.98 },
{ "word": "everyone.", "start": 3.2, "end": 3.8, "confidence": 0.99 }
]
},
{
"id": "seg_002",
"speaker": {
"id": "prt_d4e5f6",
"name": "James Rodriguez"
},
"text": "Sounds good. On the launch timeline, we're still tracking for April 20th. The only risk is the payment integration — we're waiting on the sandbox credentials from Stripe.",
"start": 13.1,
"end": 22.6,
"confidence": 0.95,
"words": [
{ "word": "Sounds", "start": 13.1, "end": 13.4, "confidence": 0.99 },
{ "word": "good.", "start": 13.4, "end": 13.8, "confidence": 0.98 }
]
},
{
"id": "seg_003",
"speaker": {
"id": "prt_g7h8i9",
"name": "Priya Patel"
},
"text": "I actually got the Stripe credentials this morning. I'll have the integration tested by end of day tomorrow.",
"start": 23.0,
"end": 29.4,
"confidence": 0.94,
"words": [
{ "word": "I", "start": 23.0, "end": 23.1, "confidence": 0.99 },
{ "word": "actually", "start": 23.1, "end": 23.6, "confidence": 0.97 }
]
}
],
"created_at": "2026-04-10T14:50:22Z"
}
⌘I