Youtube Get Timestamped Transcript
youtube_get_timestamped_transcriptFetch a YouTube video's transcript as timed segments, optionally translated.
Instructions
Fetch a YouTube video's transcript as timed segments, optionally translated.
Returns every caption segment as {text, start, duration}, where start is seconds
from the video's beginning and duration is on-screen time (segments overlap, so
duration is not speech length). Use this to build chapter lists or deep links
(https://youtu.be/<video_id>?t=<start>); use youtube_get_transcript when you only
need the words.
translate_to returns YouTube's translation into that language code (valid targets:
youtube_list_transcript_languages), with the segment timings of the track it was made
from. The words are YouTube's machine translation, not the creator's words — use it
to read a video whose captions are in another language, and quote it as such.
is_translated and translated_from report that provenance; is_generated is always
true for a translation.
Long transcripts are truncated at RESPONSE_LIMIT by cumulative text length.
next_cursor is the index of the next segment — pass it back to continue;
null means you have all segments. Same caching and failure modes as
youtube_get_transcript; this costs no Data API quota, translated or not, and a target
language the video cannot be translated into is an INVALID_REQUEST error, not a
transient one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | ||
| video_id | Yes | ||
| languages | No | ||
| translate_to | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | ||
| segments | Yes | ||
| video_id | Yes | ||
| truncated | Yes | ||
| next_cursor | Yes | ||
| is_generated | Yes | ||
| is_translated | No | ||
| language_code | Yes | ||
| translated_from | No |