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"
}
Transcripts
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.
The unique transcript identifier (e.g.,
trs_9a2b3c4d5e6f).Response format. One of
json (structured segments), text (plain text with speaker labels), or srt (SubRip subtitle format).Response
Unique transcript identifier.
The ID of the meeting this transcript belongs to.
Primary language of the transcript (ISO 639-1 code).
Total duration of the transcribed audio in seconds.
Total number of words in the transcript.
Overall transcription confidence score between 0 and 1.
Ordered array of transcript segments.
Show Segment object
Show Segment object
Unique segment identifier (e.g.,
seg_001).The transcribed text for this segment.
Start time of the segment in seconds from the beginning of the recording.
End time of the segment in seconds.
Confidence score for this segment between 0 and 1.
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