scribe
anthropics/knowledge-work-plugins
Zoom AI Services Scribe reference for transcribing uploaded or stored media via fast mode, batch jobs, and webhook pipelines.
What is scribe?
Reference skill for integrating Zoom AI Services Scribe to transcribe audio and video files. Use this when handling uploaded or stored media that needs conversion to text, including fast-mode single-file transcription, asynchronous batch jobs, Build-platform JWT authentication, and transcript pipeline design.
- Synchronous fast-mode transcription for single files up to 100 MB and 2 hours
- Asynchronous batch job submission and status polling for large media archives
- Webhook-driven pipeline notifications for batch job completion and per-file results
- Build-platform JWT generation and credential handling for API authentication
- Browser microphone pseudo-streaming via repeated short file uploads with transcript stitching
How to install scribe
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill scribe- Zoom Build-platform credentials (account and app)
- HS256 JWT generation capability
- Familiarity with REST API authentication and async job patterns
How to use scribe
- 1.Obtain Build-platform credentials and generate an HS256 JWT token
- 2.Choose fast mode for single files under 100 MB or batch mode for archives and large sets
- 3.Submit transcription request to POST /aiservices/scribe/transcribe (fast) or POST /aiservices/scribe/jobs (batch)
- 4.For batch jobs, poll GET /aiservices/scribe/jobs/{jobId} or configure webhook notifications for status updates
- 5.Retrieve and post-process transcript JSON from response or webhook payload
Use cases
- On-demand transcription of user-uploaded meeting recordings or clips
- Batch transcription of stored S3 call archives or compliance archives
- Webhook-driven ETL pipeline that writes transcripts to database or search index
- Re-transcription of Zoom-managed recordings after exporting to your own storage
- Offline compliance or QA workflows requiring timestamps, channel separation, and speaker hints
- Backend developers building transcription workflows
- Compliance and QA teams processing recorded media
- Platform engineers designing webhook-driven ETL pipelines
- Developers integrating Zoom recordings into custom applications
scribe FAQ
Fast mode (POST /aiservices/scribe/transcribe) is synchronous and handles single files up to 100 MB and 2 hours; batch mode (POST /aiservices/scribe/jobs) is asynchronous and suited for multiple files or archives. Fast mode can timeout in browser contexts despite backend success; batch mode is preferred for larger or unpredictable media.
No. Scribe is for uploaded or stored media files. For live meeting transcription, use the RTMS (Real-Time Media Service) skill instead.
Wrap fast-mode requests in an async request/polling wrapper instead of holding the browser open. Treat frontend 504 errors with backend 200 responses as browser/edge timeouts, not transcription failures. For larger files, use batch mode.
Capture microphone audio in 5-10 second chunks, upload each via async fast-mode, poll for completion, and append transcripts in sequence. This is a fallback demo pattern with overhead and stitching complexity; prefer RTMS for true live streaming.
Use HMAC verification patterns; optionally chain the webhooks skill for generic HMAC receiver hardening and signature validation.
Full instructions (SKILL.md)
Source of truth, from anthropics/knowledge-work-plugins.
name: scribe description: "Reference skill for Zoom AI Services Scribe. Use after routing to a transcription workflow when handling uploaded or stored media, Build-platform JWT auth, fast mode transcription, batch jobs, or transcript pipeline design." user-invocable: false triggers:
- "scribe"
- "ai services scribe"
- "zoom scribe"
- "transcribe audio file"
- "transcribe video file"
- "batch transcription"
- "fast mode transcription"
- "build platform jwt"
Zoom AI Services Scribe
Background reference for Zoom AI Services Scribe across:
- synchronous single-file transcription (
POST /aiservices/scribe/transcribe) - asynchronous batch jobs (
/aiservices/scribe/jobs*) - browser microphone pseudo-streaming via repeated short file uploads
- webhook-driven batch status updates
- Build-platform JWT generation and credential handling
Official docs:
- https://developers.zoom.us/docs/ai-services/
- https://developers.zoom.us/docs/ai-services/scribe/
- https://developers.zoom.us/docs/api/ai-services/
- https://developers.zoom.us/api-hub/ai-services/methods/endpoints.json
- Quickstart sample: https://github.com/zoom/scribe-quickstart/
Routing Guardrail
- If the user needs uploaded or stored media transcribed into text, route here first.
- If the user needs live meeting media without file-based upload/batch jobs, route to ../rtms/SKILL.md.
- If the user needs Zoom REST API inventory for AI Services paths, chain ../rest-api/SKILL.md.
- If the user needs webhook signature patterns or generic HMAC receiver hardening, optionally chain ../webhooks/SKILL.md.
Quick Links
- concepts/auth-and-processing-modes.md
- scenarios/high-level-scenarios.md
- examples/fast-mode-node.md
- examples/batch-webhook-pipeline.md
- references/api-reference.md
- references/environment-variables.md
- references/samples-validation.md
- references/versioning-and-drift.md
- troubleshooting/common-drift-and-breaks.md
- RUNBOOK.md
Core Workflow
- Get Build-platform credentials and generate an HS256 JWT.
- Choose fast mode for one short file or batch mode for stored archives / large sets.
- Submit the transcription request.
- For batch jobs, poll job/file status or receive webhook notifications.
- Persist and post-process transcript JSON.
Hosted Fast-Mode Guardrail
- The formal fast-mode API limits are
100 MBand2 hours, but hosted browser flows can still time out before the upstream response returns. - Current deployed-sample observations:
- ~17.2 MB MP4 completed in about
26s - ~38.6 MB MP4 completed in about
26-37s - ~59.2 MB MP4 completed in about
32-34son the backend - some ~59.2 MB browser requests still surfaced as frontend
504while backend logs later showed200
- ~17.2 MB MP4 completed in about
- Treat frontend
504plus backend200as a browser/edge timeout race, not an automatic transcription failure. - For hosted UIs, prefer an async request/polling wrapper for fast mode instead of holding the browser open for the full upstream response.
- For larger or less predictable media, prefer batch mode even when the file is still within the formal fast-mode size limit.
Browser Microphone Pattern
scribedoes not expose a documented real-time streaming API surface.- If you want a browser microphone experience, use pseudo-streaming:
- capture microphone audio in short chunks
- upload each chunk through the async fast-mode wrapper
- poll for completion
- append chunk transcripts in sequence
- Recommended starting cadence:
- chunk size:
5 seconds - acceptable range:
5-10 seconds - in-flight chunk requests:
2-3
- chunk size:
- This is a practical UI pattern for incremental transcript updates, not a substitute for
rtms. - Treat this as a fallback demo pattern, not the preferred production architecture.
- It adds repeated upload overhead, chunk-boundary drift, browser codec/container variability, and transcript stitching complexity.
- If the user asks for actual live stream ingestion, low-latency continuous media, or server-push media transport, route to ../rtms/SKILL.md instead.
Endpoint Surface
| Mode | Method | Path | Use |
|---|---|---|---|
| Fast | POST | /aiservices/scribe/transcribe | Synchronous transcription for one file |
| Batch | POST | /aiservices/scribe/jobs | Submit asynchronous batch job |
| Batch | GET | /aiservices/scribe/jobs | List jobs |
| Batch | GET | /aiservices/scribe/jobs/{jobId} | Inspect job summary/state |
| Batch | DELETE | /aiservices/scribe/jobs/{jobId} | Cancel queued/processing job |
| Batch | GET | /aiservices/scribe/jobs/{jobId}/files | Inspect per-file results |
High-Level Scenarios
- On-demand clip transcription after a user uploads one recording.
- Batch transcription of stored S3 call archives.
- Webhook-driven ETL pipeline that writes transcripts to your database/search index.
- Re-transcription of Zoom-managed recordings after exporting them to your own storage.
- Offline compliance or QA workflows that need timestamps, channel separation, and speaker hints.
Chaining
- Stored Zoom recordings -> ../rest-api/SKILL.md +
scribe - Webhook verification hardening -> ../webhooks/SKILL.md
- Real-time live transcript/media -> ../rtms/SKILL.md
- Cross-product routing -> ../general/SKILL.md
Operations
- RUNBOOK.md - 5-minute preflight and debugging checklist.
Related skills
More from anthropics/knowledge-work-plugins and the wider catalog.

scvi-tools
Deep learning for single-cell analysis: batch correction, integration, and multi-modal workflows with scvi-tools.

search
Search across chat, email, cloud storage, and project trackers in one query.

search-strategy
Decompose questions into parallel source-specific searches and rank results by relevance.

seo-audit
Comprehensive SEO audit covering keywords, on-page analysis, content gaps, technical checks, and competitor benchmarking.

sequence-load
Find, enrich, and bulk-load leads into Apollo outreach sequences in one workflow.

setup-zoom-mcp
Plan Zoom MCP integration and decide between MCP-only or hybrid REST+MCP architecture for Claude workflows.