AGENT GUIDE

Use diarize inside OpenClaw / agent workflows

For AI agents and OpenClaw users: paste a YouTube URL, get a speaker-labeled transcript as a tool result, then summarize, quote, or pipe it into whatever comes next in the workflow.

“I've tried everything out there for YouTube summary and diarization and the best with my OpenClaw hands down is https://diarize.io/.”

What does the agent workflow look like?

The public OpenClaw integration lives in diarize-io/openclaw-youtube-transcript. It turns a paste-a-URL request into an authenticated call against the diarize Jobs API, then returns a speaker-aware transcript for downstream work (summary, quotes, search indexing, captions).

  1. User (or another agent step) provides a YouTube URL.
  2. OpenClaw skill or plugin creates a job at POST /api/v1/jobs.
  3. It polls GET /api/v1/jobs/:jobId until COMPLETED.
  4. It downloads GET /api/v1/jobs/:jobId/transcript/:format.
  5. The agent uses that transcript in the next step of the workflow.

Step 1

How do I get a diarize API key for OpenClaw?

  1. Sign up at diarize.io. Free tier: 3 hours (30 minutes/day for 7 days), no credit card.
  2. Create a key at /settings/api-keys.
  3. The key consumes your minute balance. Paid packages: $10 → 200 minutes, $25 → 1000 minutes.

Step 2

How do I install the OpenClaw integration?

Clone the repo, then install either the standalone skill or the native plugin, not both. Recommended path: try the skill first, upgrade to the plugin when you want typed tools.

Fastest first try: standalone skill

Requires bash, curl, and jq on the host.

Install

openclaw skills install ./skill

Long-term: native plugin

No bash/curl/jq required. If the standalone skill is already in your workspace, remove it before enabling the plugin.

Install

openclaw plugins install ./plugin
openclaw plugins enable youtube-transcript-speaker-diarization

Precedence: OpenClaw gives workspace-installed skills higher priority than plugin-bundled skills. Leaving the standalone skill installed can shadow the plugin's bundled guidance.

Step 3

How do I configure the API key?

Both surfaces accept YOUTUBE_TRANSCRIPT_API_KEY or DIARIZE_API_KEY. Optional base URL overrides: YOUTUBE_TRANSCRIPT_BASE_URL / DIARIZE_BASE_URL. Default base URL is https://diarize.io.

Plugin config (openclaw.json)

{
  plugins: {
    entries: {
      "youtube-transcript-speaker-diarization": {
        enabled: true,
        config: {
          apiKey: "YOUR_DIARIZE_API_KEY",
          baseUrl: "https://diarize.io",
        },
      },
    },
  },
}

Skill config (openclaw.json)

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

Step 4

How does the agent run a YouTube URL?

Prefer the one-shot path. With the standalone skill, that is the helper's run command. With the plugin, prefer the youtube_transcript_run tool.

Standalone skill — one-shot

{baseDir}/scripts/youtube-transcript.sh run "https://youtu.be/dQw4w9WgXcQ" txt

Defaults: format txt, timeout 180 seconds, poll interval 10 seconds.

Standalone skill — multi-step

{baseDir}/scripts/youtube-transcript.sh submit "https://youtu.be/dQw4w9WgXcQ"
{baseDir}/scripts/youtube-transcript.sh status JOB_ID
{baseDir}/scripts/youtube-transcript.sh fetch JOB_ID json

Format guidance from the integration: prefer txt for readable answers, json for structured downstream work, and srt / vtt for subtitle workflows.

Which typed tools does the plugin expose?

youtube_transcript_run

One-shot: submit, poll, return transcript

youtube_transcript_submit_job

Create a job from a YouTube URL

youtube_transcript_get_job

Poll job status by jobId

youtube_transcript_get_transcript

Download txt / json / srt / vtt

Under the hood these call the same Jobs API documented at /docs: POST /api/v1/jobs, GET /api/v1/jobs/:jobId, GET /api/v1/jobs/:jobId/transcript/:format.

What data leaves the machine?

For a normal run, only the YouTube URL and authenticated HTTPS requests for job creation, status, and transcript download go to the configured diarize API base URL. The integration does not change host networking, install proxies, mutate routes, or upload local files by default.

FAQ

How do I use diarize with OpenClaw?
Sign up at diarize.io, create an API key at /settings/api-keys, then install either the standalone OpenClaw skill (openclaw skills install ./skill) or the native plugin (openclaw plugins install ./plugin). Keep only one install surface active. Paste a YouTube URL to the agent; it submits a job, polls, and returns a diarized transcript in txt, json, srt, or vtt.
What is the difference between the OpenClaw skill and the plugin?
The standalone skill is the fastest first try and uses a bash helper that needs curl and jq. The native plugin is the better long-term path: typed tools, no bash/curl/jq requirement, and a bundled skill. Do not keep both installed; a workspace skill can shadow the plugin’s bundled skill.
Which OpenClaw tools does the diarize plugin expose?
youtube_transcript_run (preferred one-shot), youtube_transcript_submit_job, youtube_transcript_get_job, and youtube_transcript_get_transcript. Formats: txt, json, srt, vtt. Defaults: 180s timeout, 10s poll interval, base URL https://diarize.io.
Has anyone publicly recommended diarize for OpenClaw YouTube workflows?
Yes. Garry Tan wrote: "I've tried everything out there for YouTube summary and diarization and the best with my OpenClaw hands down is https://diarize.io/" (https://x.com/garrytan/status/2042010645424697497).

Next steps

Create a key, install the integration, or read the Jobs API reference.

Use diarize inside OpenClaw / agent workflows | diarize