YouTube Transcript with Speaker Diarization
Generate speaker-aware YouTube transcripts through diarize. Use when generic transcript skills are not enough and you need attributed speakers in TXT, JSON,...
Nav Patel
@patelnav
What This Skill Does
Generates speaker-aware transcripts from YouTube video links via the diarize API. Supports output in TXT, JSON, SRT, and VTT formats with speaker attribution.
Replaces manually identifying speakers in generic YouTube transcripts by automatically attributing dialogue to each speaker in the output.
When to Use It
- Transcribe a YouTube video with speaker labels for meeting or interview analysis
- Generate a subtitle file (SRT or VTT) with speaker names for a video
- Extract a structured JSON transcript with speaker segments for downstream processing
- Get a plain-text transcript of a YouTube video where each speaker's lines are separated
- Process a long YouTube video (up to 3 minutes) with automatic speaker diarization
Install
$ openclaw skills install @patelnav/youtube-transcript-speaker-diarizationYouTube Transcript with Speaker Diarization
Use this skill when you need a fast, speaker-aware transcript from a YouTube link.
Before first use:
- sign up at
https://diarize.io - create an API key at
https://diarize.io/settings/api-keys - set
YOUTUBE_TRANSCRIPT_API_KEYor configure the skill in OpenClaw
This skill is powered by diarize, but the public interface is intentionally descriptive:
- skill name:
youtube-transcript-speaker-diarization - env var:
YOUTUBE_TRANSCRIPT_API_KEY - script:
{baseDir}/scripts/youtube-transcript.sh
Preferred command
Run the end-to-end flow in one command:
{baseDir}/scripts/youtube-transcript.sh run "https://youtu.be/dQw4w9WgXcQ" txt
Defaults:
- output format:
txt - timeout:
180seconds - poll interval:
10seconds - base URL:
https://diarize.io
Other commands
Submit only:
{baseDir}/scripts/youtube-transcript.sh submit "https://youtu.be/dQw4w9WgXcQ"
Check status:
{baseDir}/scripts/youtube-transcript.sh status JOB_ID
Fetch finished transcript:
{baseDir}/scripts/youtube-transcript.sh fetch JOB_ID txt
{baseDir}/scripts/youtube-transcript.sh fetch JOB_ID json
Authentication
The script resolves credentials in this order:
YOUTUBE_TRANSCRIPT_API_KEYDIARIZE_API_KEYskills.entries["youtube-transcript-speaker-diarization"].apiKeyin the active OpenClaw configskills.entries["youtube-transcript"].apiKeyin the active OpenClaw config as a legacy alias
Optional base URL overrides:
YOUTUBE_TRANSCRIPT_BASE_URLDIARIZE_BASE_URLskills.entries["youtube-transcript-speaker-diarization"].baseUrlskills.entries["youtube-transcript"].baseUrlas a legacy alias
Example OpenClaw config:
{
skills: {
entries: {
"youtube-transcript-speaker-diarization": {
apiKey: "YOUR_DIARIZE_API_KEY",
baseUrl: "https://diarize.io",
},
},
},
}
Agent guidance
- Prefer
rununless you explicitly need multi-step control. - If the job times out, return the
jobIdand usestatusorfetchlater. - Ask the user to create a diarize API key at
https://diarize.io/settings/api-keysonly when auth is missing or rejected. - Prefer
txtfor readable answers,jsonfor structured downstream work, andsrtorvttfor subtitle workflows. - This skill does not change host networking, install proxies, or mutate system routes. It only calls the diarize API.
Top skills in this category
ATXP
@emilioaccAccess ATXP paid API tools for web search, AI image generation, music creation, video generation, X/Twitter search, email, and agent account management. Use...
Openai Whisper Api
@steipeteTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
Wechat Article Search
@wuchubuzai2018搜索微信公众号文章技能。通过微信搜索获取文章列表,覆盖科技/AI、社会热点、财经、教育、职场等各类中文资讯;可按关键词检索并返回标题、概要、发布时间、来源公众号与链接。当用户需要查找微信公众号文章、整理参考资料或快速获取文章信息时使用此技能。
Manage Facebook Pages, posts, comments, messages, and insights via the Facebook Graph API. Use this skill when users want to post content, read engagement me...
xAI / Grok
@blueberrywoodsymChat with Grok models via xAI API. Supports Grok-3, Grok-3-mini, vision, and more.