ACTION_ID: youtube_extract_video_transcript NAME: Youtube: Extract YouTube Video Transcript CATEGORY: Web Research CREDITS: 1 Extract a YouTube video's transcript as raw text or timestamped segments, with control over language and whether to prefer auto-generated or author-uploaded captions. 1. INPUTS youtube_video_or_share_url (type: url, required) Youtube Video or Share URL. Complete YouTube video URL or share URL for extracting transcript transcript_structure (type: string, optional, resolve: enum) Transcript Structure. Concatenated body of text or segmented with timestamps. Default is concatenated and recommended for AI analysis. Values: - { value: "concatenate", label: "Raw Text (recommended)" } - { value: "segment", label: "Text with Timestamps" } transcript_language (type: string, optional) Transcript Language. Language for extracted transcript. Default is English. transcript_type (type: string, optional, resolve: enum) Transcript Type. Defines the transcript preference when both auto-generated and manually uploaded transcripts are available. Default is auto-generated. Values: - { value: "auto", label: "Auto-Generated by Youtube (recommended)" } - { value: "manual", label: "Manually Uploaded by Author" } 2. OUTPUTS raw_transcript (string) — Transcript with raw text transcript_with_timestamps (raw_array) — Transcript with text segmented via timestamps search_parameters (json) — Search parameters languages (raw_array) — Available transcript languages 3. HOW TO CONFIGURE Configure Action body: { "inputs": { "youtube_video_or_share_url": "{{input.video_url}}", "transcript_structure": "concatenate", "transcript_type": "auto" } } Field-by-field: - transcript_structure `concatenate` returns one text blob (best for LLM analysis, and the default); `segment` returns timestamped segments. - transcript_type `auto` prefers YouTube's auto-captions; `manual` prefers author-uploaded ones. - transcript_language Defaults to English. No dynamic-options resolver — check `available_languages` on the output after a first run. 4. KEY NOTES - Both output fields are always present but only one is populated — `transcript_concatenated` for `concatenate`, `transcript_segmented` for `segment`. - `available_languages` lists what the video actually offers. Run once, read it, then set `transcript_language` accordingly. - `transcript_type: manual` fails on videos with no author-uploaded captions, which is most of them. Leave it on `auto` unless caption accuracy matters. - `transcript_segmented` and `search_parameters` are nested types — use bracket access inside a `formula`. 5. WHERE IT FITS IN A WORKFLOW Pattern: enrich_youtube_video (metadata + filter on views) -> youtube_extract_video_transcript (segmented, for quoting with timestamps) -> llm_models. 6. WHEN TO USE Use youtube_extract_video_transcript when the transcript is the point and you need timestamps or a non-English language. 7. WHEN NOT TO USE Also need views, likes and channel stats -> action-detail/enrich_youtube_video.txt The recording is a sales call, not a video -> action-detail/gong_get_call_transcript.txt Last updated: 2026-08-03.