Skip to content
Back to skills

Source 64f3dc5210f9698edc742f5e

ASecurity

Reference skill for Zoom AI Services Scribe. Use after routing to a transcription workflow when handling live audio, uploaded or stored media, Build-platform JWT auth, Live/Fast/Batch processing modes, or transcript pipeline design.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
developmentrustnoderailsdebugginggitapidatabasefrontendbackend

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add gutsofpratik/OpenClaude-Skills --skill source-64f3dc5210f9698edc742f5e --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source 64f3dc5210f9698edc742f5e?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source 64f3dc5210f9698edc742f5e
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gutsofpratik-source-64f3dc5210f9698edc742f5e/badge)](https://www.skillsdirectory.com/skills/gutsofpratik-source-64f3dc5210f9698edc742f5e)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: scribe
description: "Reference skill for Zoom AI Services Scribe. Use after routing to a transcription workflow when handling live audio, uploaded or stored media, Build-platform JWT auth, Live/Fast/Batch processing modes, 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"
  - "live transcription"
  - "live mode transcription"
  - "voice agent transcription"
  - "build platform jwt"
---

# Zoom AI Services Scribe

Background reference for Zoom AI Services Scribe across:
- real-time audio transcription over WebSocket (`wss://api.zoom.us/v2/aiservices/scribe/live`)
- synchronous single-file transcription (`POST /aiservices/scribe/transcribe`)
- asynchronous batch jobs (`/aiservices/scribe/jobs*`)
- 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/ai-services/scribe/live-mode/
- 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/ai-services-quickstart/

## Routing Guardrail

- If the user needs **live audio, uploaded media, or stored media transcribed into text**, route here first.
- If the user needs **transcript text summarized**, route to [../summarizer/SKILL.md](../summarizer/SKILL.md).
- If the user needs **plain text translated**, route to [../translator/SKILL.md](../translator/SKILL.md).
- If the user needs **generic live audio** for voice agents, captions, or microphone transcription, use Scribe Live Mode.
- If the user needs **Zoom meeting-native audio, video, screen share, chat, or transcript streams**, route to [../rtms/SKILL.md](../rtms/SKILL.md).
- If the user needs **Zoom REST API inventory** for AI Services paths, chain [../rest-api/SKILL.md](../rest-api/SKILL.md).
- If the user needs webhook signature patterns or generic HMAC receiver hardening, optionally chain [../webhooks/SKILL.md](../webhooks/SKILL.md).

## Quick Links

1. [concepts/auth-and-processing-modes.md](concepts/auth-and-processing-modes.md)
2. [scenarios/high-level-scenarios.md](scenarios/high-level-scenarios.md)
3. [examples/live-mode-node.md](examples/live-mode-node.md)
4. [examples/fast-mode-node.md](examples/fast-mode-node.md)
5. [examples/batch-webhook-pipeline.md](examples/batch-webhook-pipeline.md)
6. [references/api-reference.md](references/api-reference.md)
7. [references/environment-variables.md](references/environment-variables.md)
8. [references/samples-validation.md](references/samples-validation.md)
9. [references/versioning-and-drift.md](references/versioning-and-drift.md)
10. [troubleshooting/common-drift-and-breaks.md](troubleshooting/common-drift-and-breaks.md)
11. [RUNBOOK.md](RUNBOOK.md)

## Core Workflow

1. Get Build-platform credentials and generate an HS256 JWT.
2. Choose **live mode** for continuous audio, **fast mode** for one short file, or **batch mode** for stored archives / large sets.
3. Open the Live WebSocket or submit the Fast/Batch request.
4. Handle Live events, a synchronous Fast response, or Batch polling/webhooks.
5. Persist and post-process transcript JSON.

## Hosted Fast-Mode Guardrail

- The formal fast-mode API limits are `100 MB` and `2 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-34s` on the backend
  - some ~59.2 MB browser requests still surfaced as frontend `504` while backend logs later showed `200`
- Treat frontend `504` plus backend `200` as 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.

## Live Mode Guardrails

- Connect from a trusted backend with the `live-asr` WebSocket subprotocol and a Zoom AI Services JWT in the `Authorization` header.
- Configure the session with `session.update`, then stream binary PCM16 little-endian, 16 kHz, mono audio in approximately 100 ms frames.
- Keep control messages as JSON text. Do not Base64-encode audio or wrap binary frames in JSON.
- Browser WebSocket clients cannot set the required authorization header. Relay browser audio through a backend that adds the JWT; never expose Build credentials or JWTs in client code.
- Treat `transcription.completed` as the documented final segment event. Handle every `error`, especially `error.fatal`.
- On shutdown, stop audio, send `session.close`, continue reading final events through `session.closed`, then close the socket.
- Live Mode defaults: 60-minute maximum session duration and 30-second no-audio idle timeout. Concurrent limits are account-tier dependent.
- Use repeated Fast Mode microphone uploads only as a legacy fallback when a WebSocket relay is impossible; Live Mode is the preferred continuous transcription path.

## Endpoint Surface

| Mode | Method | Path | Use |
|------|--------|------|-----|
| Live | WebSocket | `wss://api.zoom.us/v2/aiservices/scribe/live` | Continuous PCM16 audio and segment-level transcription events |
| 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 |
| Batch | `GET` | `/aiservices/scribe/jobs/{jobId}/files/{fileId}` | Inspect one per-file result |

## High-Level Scenarios

- On-demand clip transcription after a user uploads one recording.
- Real-time transcription for voice agents, live captions, and browser microphones through a backend relay.
- 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](../rest-api/SKILL.md) + `scribe`
- Transcribe then summarize -> `scribe` + [../summarizer/SKILL.md](../summarizer/SKILL.md)
- Transcribe then translate -> `scribe` + [../translator/SKILL.md](../translator/SKILL.md)
- Webhook verification hardening -> [../webhooks/SKILL.md](../webhooks/SKILL.md)
- Generic live audio transcription -> Scribe Live Mode
- Zoom meeting-native media/transcript streams -> [../rtms/SKILL.md](../rtms/SKILL.md)
- Cross-product routing -> [../general/SKILL.md](../general/SKILL.md)

## Operations

- [RUNBOOK.md](RUNBOOK.md) - 5-minute preflight and debugging checklist.

Files in this skill

  • PROVENANCE.json182 B
  • RUNBOOK.md5.7 KB
  • SKILL.md7.2 KB
  • UPSTREAM-LICENSE.txt1.1 KB
  • concepts/auth-and-processing-modes.md4.3 KB
  • examples/batch-webhook-pipeline.md1.6 KB
  • examples/fast-mode-node.md1.8 KB
  • examples/live-mode-node.md2.6 KB
  • references/api-reference.md4.5 KB
  • references/environment-variables.md1.8 KB
  • references/samples-validation.md3.3 KB
  • references/versioning-and-drift.md2.7 KB
  • scenarios/high-level-scenarios.md3.7 KB
  • troubleshooting/common-drift-and-breaks.md6.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.