Get YouTube transcript
get_transcriptFetch the transcript of a public YouTube video. Accepts a full URL or an 11-character video ID. Defaults to Markdown (title + text), which is the most compact format for reading or summarizing. Use json for timestamped segments, srt/vtt for subtitle files. Costs 1 credit on success; videos without captions are AI-transcribed at 1 credit per started minute.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "get_transcript"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | YouTube URL or video ID | |
| mode | No | auto: captions, AI-transcribed audio if there are none. captions: never AI. ai: always transcribe the audio (1 credit per started minute) | auto |
| format | No | Output format | md |
| search | No | Only return lines containing this text | |
| end_time | No | Only return the part before this second | |
| language | No | Preferred caption language (BCP-47, e.g. en, es, pt-BR) | |
| start_time | No | Only return the part from this second on | |
| timestamps | No | Prefix lines with timestamps (text/md) | |
| translate_to | No | Translate the transcript into this language | |
| original_language | No | Prefer the spoken language's captions over English |