get_transcript
Retrieve a processed job's transcript in segments, plain text, or SRT subtitles, with time-range pagination and speaker labels for diarized recordings.
Instructions
Retrieve the transcript of a processed job, lazily and paginated. Formats: "segments" (default — seq, t_ms, t_wall when known, speaker when diarized, text), "text" (plain prose; "S1:" prefixes at speaker changes), "srt" (subtitles, speaker-prefixed cues). Diarized jobs also return the speaker roster (talk time, turns) in the header. Responses are capped (~8k tokens): when truncated=true, continue from the returned next_start_ms. When NOT to use: to find one keyword (use search) or to inspect one moment with visuals (use get_moment). Examples:
get_transcript(job_id="a1b2c3d4e5f60718") — whole transcript of a short recording
get_transcript(job_id="a1b2c3d4e5f60718", start_ms=0, end_ms=120000) — just the first two minutes
get_transcript(job_id="...", format="text") — prose block for summarization
get_transcript(job_id="...", format="srt") — subtitle export the user asked for
diarized job: segments carry "speaker" + a roster header (top-12 by talk time; speakers_truncated counts the rest)
"what did S2 say?" → format="segments", collect entries with speaker=="S2" (labels are in order of first voice)
got truncated=true with next_start_ms=421500 → get_transcript(job_id="...", start_ms=421500)
user: "what was said between 5:00 and 6:30?" → start_ms=300000, end_ms=390000
meeting recording (audio-only job): this tool is the main surface — frames don't exist there
correlate speech with logs: each segment's t_wall lines up with your log timestamps
wall_clock=null on the job → segments carry t_ms only (relative to video start)
60-min video: page by ranges (e.g. 10-min windows), don't pull from 0 repeatedly
no speaker fields on a meeting job → re-run process_media with diarize=true (adds them without re-transcribing)
anti-example: "where did they mention checkout?" → search(job_id, "checkout"), not full paging
anti-example: screenshots around a remark → get_moment(job_id, start_ms, end_ms)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end_ms | No | ||
| format | No | segments | |
| job_id | Yes | ||
| start_ms | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||