Przejdź do treści
Biblioteka skilli
Dokumenty i biuro · Konwersja i formaty

scribe

/scribe

Transkrybuje nagrania audio i wideo przez Zoom Scribe, synchronicznie lub wsadowo z S3, z obsługą webhooków i autoryzacji JWT.

Repozytorium
skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
20.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
11
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
5
Przestarzałość

Brak sygnałów. Repozytorium zmienione 20.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Transkrybuje nagrania audio i wideo przez Zoom Scribe, synchronicznie lub wsadowo z S3, z obsługą webhooków i autoryzacji JWT.

Oryginalny opis (EN)

Zoom AI Services Scribe for synchronous and batch transcription of uploaded or stored media. Use for Build-platform JWT auth, fast mode transcription, batch S3 jobs, webhook callbacks, and transcript-pipeline design.

Jak działa

  1. Routing Guardrail
  2. Quick Links
  3. Core Workflow
  4. Optional Enrichment
  5. Hosted Fast-Mode Guardrail
  6. Live Scribe
  7. Browser Microphone Fallback
  8. Endpoint Surface
  9. High-Level Scenarios
  10. Chaining
Sekcje z nagłówków SKILL.md, w oryginale · 147 linii, 1 055 słów
Podgląd SKILL.md
---
name: scribe
description: "Zoom AI Services Scribe for synchronous and batch transcription of uploaded or stored media. Use for Build-platform JWT auth, fast mode transcription, batch S3 jobs, webhook callbacks, and transcript-pipeline design."
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

**Current API audit:** Official docs and the OpenAPI catalog were rechecked on 2026-10-20. Scribe Live is available at `GET /aiservices/scribe/live`; the verified WebSocket URL is `wss://api.zoom.us/v2/aiservices/scribe/live` with the `live-asr` subprotocol.

Implementation guidance for Zoom AI Services Scribe across:
- synchronous single-file transcription (`POST /aiservices/scribe/transcribe`)
- asynchronous batch jobs (`/aiservices/scribe/jobs*`)
- real-time microphone transcription over the Scribe Live WebSocket
- browser microphone pseudo-streaming via repeated short file uploads when Live is unavailable
- 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/zoap/ai-services/methods/
- Quickstart sample: https://github.com/zoom/ai-services-quickstart/

## Routing Guardrail

- If the user needs **uploaded or stored media transcribed into text**, route here first.
- If the user needs **real-time microphone transcription**, use Scribe Live.
- If one uploaded media file needs **transcript plus summary**, route to [Speech Summarization](../speech-summarization/SKILL.md) instead of chaining Scribe and Summarizer.
- If the user needs **transcript text summarized**, route to [Summarizer](../summarizer/SKILL.md).
- If the user needs **plain text translated**, route to [../translator/SKILL.md](../translator/SKILL.md).
- If the user needs **live meeting media** with meeting metadata, participant identity, or meeting-scoped streams, route to [RTMS](../rtms/SKILL.md).
- If the user needs an **interactive spoken response**, route to [Voice Agent](../voice-agent/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/fast-mode-node.md](examples/fast-mode-node.md)
4. [examples/batch-webhook-pipeline.md](examples/batch-webhook-pipeline.md)
5. [references/api-reference.md](references/api-reference.md)
6. [references/environment-variables.md](references/environment-variables.md)
7. [references/samples-validation.md](references/samples-validation.md)
8. [references/versioning-and-drift.md](references/versioning-and-drift.md)
9. [troubleshooting/common-drift-and-breaks.md](troubleshooting/common-drift-and-breaks.md)
10. [RUNBOOK.md](RUNBOOK.md)

## Core Workflow

1. Get Build-platform credentials — an API key for `x-api-key`/bearer, or an HS256 JWT.
2. Choose **fast mode** for one short file or **batch mode** for stored archives / large sets.
3. Submit the transcription request.
4. For batch jobs, poll job/file status or receive webhook notifications.
5. Persist and post-process transcript JSON.

## Optional Enrichment

- `config.model` selects the recognition model.
- `config.language_detection` supports `once` or `continuous` with candidate languages.
- `config.vocabulary.phrases` (maximum 100) or `config.vocabulary_id` adds custom terms; use one, not both.
- `outputs.text_polishing.enabled` returns `outputs.text_polishing.text`.

## 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 Scribe

- Endpoint: `wss://api.zoom.us/v2/aiservices/scribe/live`
- Subprotocol: `live-asr`
- Required key scope: `aiservices:write:live_transcribe:admin`
- Authenticate upstream with `Authorization: Bearer <Zoom AI Services JWT>` as the official docs require. A Zoom AI Services JWT, an API key sent as `x-api-key`, and an API key sent as bearer each completed a live handshake on 2026-10-20. A browser WebSocket cannot set headers, so use a server-side relay.
- After the relay connects, send `session.update` with settings under `config`:

  ```json
  {
    "type": "session.update",
    "config": { "language": "en-US", "interim_results": true },
    "audio": { "format": "pcm16" }
  }
  ```

- Stream signed little-endian 16 kHz mono PCM16 as binary frames of roughly 100 ms. Do not add a WAV header and do not base64-encode binary audio.
- `transcription.delta` events arrive only when `config.interim_results` is `true`. Each delta carries accumulated partial text for its `item_id`; replace the displayed partial instead of appending it.
- `transcription.completed` carries `item_id`, `transcript`, timing, and `speaker` when diarization is enabled.
- Close with `{"type":"session.close"}` and keep reading until pending transcript items drain and `session.closed` arrives.
- Session limits: 120 minutes maximum duration and a 30 second idle timeout with no audio events.

## Browser Microphone Fallback

- If Live is unavailable, pseudo-stream short chunks through the fast-mode file endpoint:
  1. capture microphone audio in short chunks
  2. upload each chunk through the async fast-mode wrapper
  3. poll for completion
  4. append chunk transcripts in sequence
- Recommended starting cadence:
  - chunk size: `5 seconds`
  - acceptable range: `5-10 seconds`
  - in-flight chunk requests: `2-3`
- This is a practical UI pattern for incremental transcript updates, not a substitute for `rtms`.
- Prefer Scribe Live for a true live-transcription product; keep pseudo-streaming as a fallback.
- 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](../rtms/SKILL.md) instead.

## Endpoint Surface

| Mode | Method | Path | Use |
|------|--------|------|-----|
| Fast | `POST` | `/aiservices/scribe/transcribe` | Synchronous transcription for one file |
| Live | `GET` | `/aiservices/scribe/live` | Real-time WebSocket transcription (`live-asr`) |
| 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.
- 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](../summarizer/SKILL.md)
- One media file to transcript plus summary -> [Speech Summarization](../speech-summarization/SKILL.md)
- Transcribe then translate -> `scribe` + [../translator/SKILL.md](../translator/SKILL.md)
- Webhook verification hardening -> [../webhooks/SKILL.md](../webhooks/SKILL.md)
- Real-time live transcript/media -> [../rtms/SKILL.md](../rtms/SKILL.md)
- Interactive spoken response -> [Voice Agent](../voice-agent/SKILL.md)
- Cross-product routing -> [../general/SKILL.md](../general/SKILL.md)

## Operations

- [RUNBOOK.md](RUNBOOK.md) - 5-minute preflight and debugging checklist.
Pliki w paczce (11)
  • RUNBOOK.md 5 KB
  • SKILL.md 9 KB
  • concepts/auth-and-processing-modes.md 3 KB
  • examples/batch-webhook-pipeline.md 2 KB
  • examples/fast-mode-node.md 2 KB
  • references/api-reference.md 5 KB
  • references/environment-variables.md 2 KB
  • references/samples-validation.md 2 KB
  • references/versioning-and-drift.md 3 KB
  • scenarios/high-level-scenarios.md 4 KB
  • troubleshooting/common-drift-and-breaks.md 5 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · zoom/skills100MIT
simota/agent-skills100MIT
queelius/claude-anvil100MIT
ooiyeefei/ccc100MIT
danielgouveiah/glasses100MIT

Migawka bazy z 28.10.2026 · wersja paczki fb432e99bc4d (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100translator
    Tłumaczy tekst synchronicznie i pliki wsadowo przez usługę Zoom AI Services, z webhookami i uwierzytelnianiem JWT.
  • 100local-transcribe
    Transkrybuje lokalne pliki audio i wideo (mp3, mp4, m4a, wav, mov, mkv) do Markdown przez ffmpeg i ElevenLabs Scribe, bez streszczania.
  • 100zoom-meeting-scribe
    Odbiera transkrypty spotkań Zoom przez RTMS, zapisuje ustalenia, eskaluje tylko pilne sprawy i publikuje raport po akceptacji człowieka.
  • 100zoom-meeting-scribe
    Zapisuje transkrypcje spotkań Zoom z RTMS bez przeszkadzania, eskaluje tylko pilne sprawy i po zatwierdzeniu publikuje raport.
  • 100summarizer
    Obsługuje synchroniczne i asynchroniczne podsumowania transkryptów w usłudze Zoom AI, z potokami webhooków i archiwum S3.
  • 100speech-to-text
    Transkrybuje audio na tekst przez ElevenLabs Scribe v2: konwertuje audio i wideo, generuje napisy i transkrybuje spotkania.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.