360 Secure SkillHub
360 安全技能中心

YouTube Transcript with Speaker Diarization

通过 bash 脚本调用 diarize 服务,把 YouTube 视频链接提交为转录任务,支持 run 一键执行或 submit/status/fetch 分步获取,输出带说话人区分的 TXT、JSON、SRT、VTT 结果,需要先配置 API key。

patelnav
patelnav
热度 15.73
最近更新 2026-07-23 04:10:18
分类:效率依赖:第三方 API / 代码执行应用场景:文件转换 / 笔记整理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add youtube-transcript-speaker-diarization
Metadata
name
youtube-transcript-speaker-diarization
description
Generate speaker-aware YouTube transcripts through diarize. Use when generic transcript skills are not enough and you need attributed speakers in TXT, JSON, SRT, or VTT format.
homepage
https://diarize.io/docs
metadata
{"openclaw":{"requires":{"bins":["bash","curl","jq"],"env":["YOUTUBE_TRANSCRIPT_API_KEY"]},"primaryEnv":"YOUTUBE_TRANSCRIPT_API_KEY","install":[{"id":"brew-curl","kind":"brew","formula":"curl","bins":["curl"],"label":"Install curl (brew)"},{"id":"brew-jq","kind":"brew","formula":"jq","bins":["jq"],"label":"Install jq (brew)"}]}}

YouTube Transcript with Speaker Diarization

Use this skill when you need a fast, speaker-aware transcript from a YouTube link.

Before first use:

  1. sign up at https://diarize.io
  2. create an API key at https://diarize.io/settings/api-keys
  3. set YOUTUBE_TRANSCRIPT_API_KEY or 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: 180 seconds
  • poll interval: 10 seconds
  • 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:

  1. YOUTUBE_TRANSCRIPT_API_KEY
  2. DIARIZE_API_KEY
  3. skills.entries["youtube-transcript-speaker-diarization"].apiKey in the active OpenClaw config
  4. skills.entries["youtube-transcript"].apiKey in the active OpenClaw config as a legacy alias

Optional base URL overrides:

  1. YOUTUBE_TRANSCRIPT_BASE_URL
  2. DIARIZE_BASE_URL
  3. skills.entries["youtube-transcript-speaker-diarization"].baseUrl
  4. skills.entries["youtube-transcript"].baseUrl as a legacy alias

Example OpenClaw config:

{
  skills: {
    entries: {
      "youtube-transcript-speaker-diarization": {
        apiKey: "YOUR_DIARIZE_API_KEY",
        baseUrl: "https://diarize.io",
      },
    },
  },
}

Agent guidance

  • Prefer run unless you explicitly need multi-step control.
  • If the job times out, return the jobId and use status or fetch later.
  • Ask the user to create a diarize API key at https://diarize.io/settings/api-keys only when auth is missing or rejected.
  • Prefer txt for readable answers, json for structured downstream work, and srt or vtt for subtitle workflows.
  • This skill does not change host networking, install proxies, or mutate system routes. It only calls the diarize API.