Skip to main content

Zoom AI plugin for LiveKit Agents

Support for Zoom Scribe speech-to-text, in two modes:

  • Live (docs): streaming over WebSocket. Scribe's own VAD ends each speech turn and returns its final transcript.
  • Fast (docs): one HTTP request per utterance. Not streaming, so AgentSession pairs it with a VAD.

See zoom.ai for all Zoom AI Services APIs and features.

Installation

pip install livekit-plugins-zoom-ai

Or install with the LiveKit Agents extra:

uv add "livekit-agents[zoom-ai]"

Pre-requisites

The plugin needs a Zoom AI Services API key. Create one in Zoom Platform Studio under Credentials → API Keys, with the Scribe permissions.

Set it in your .env file:

ZOOM_AI_API_KEY=<your_zoom_api_key>

Usage

Scribe Live (streaming)

Scribe detects the end of each turn, so let the STT drive turn detection:

from livekit.agents import AgentSession
from livekit.plugins import zoom_ai

session = AgentSession(
    stt=zoom_ai.STT(language="en-US"),
    turn_handling={"turn_detection": "stt"},
    # ... llm, tts, etc.
)

Scribe Fast (per utterance)

from livekit.agents import AgentSession
from livekit.plugins import silero, zoom_ai

session = AgentSession(
    stt=zoom_ai.STT(mode="fast"),
    vad=silero.VAD.load(),  # cuts the audio into utterances
    # ... llm, tts, etc.
)

Without an agent

Both modes also work on their own, for example for transcription. Outside an agent job, pass an aiohttp session:

stt = zoom_ai.STT(http_session=session, silence_duration_ms=600)  # Live
stream = stt.stream()  # push_frame() audio, then iterate the stream for SpeechEvents

event = await zoom_ai.STT(mode="fast", http_session=session).recognize(frames)  # Fast

For transcription, a longer silence_duration_ms (such as 600) keeps sentences with pauses together and can improve accuracy; the 350 ms default is tuned for voice agents.

Options

Options map to the Scribe API fields of the same name; see the Scribe docs for what each one does and its availability. For a Scribe feature without an option here, pass its fields in extra_kwargs.

Option Default Description
mode "live" "live" (streaming) or "fast" (one request per utterance)
api_key $ZOOM_AI_API_KEY Zoom AI Services API key
language "en-US" Recognition language (supported languages); a regional variant Scribe doesn't list uses its base language's locale (en-GB → en-US)
model None Recognition model; None uses Scribe's default
language_detection None Language detection mode (Live supports "continuous"); the language Scribe detects is in SpeechData.language. With zoom-scribe-multilingual in Live, set it to get each final's language
silence_duration_ms 350 Live: silence (ms) that ends a turn; None uses Scribe's default
diarization False Speaker labels: SpeechData.speaker_id, or metadata["speaker_segments"] when several people speak in one final
word_time_offsets False Fast: word timings in SpeechData.words
channel_separation False Fast: recognize each stereo channel separately; channels in metadata["channel_segments"]
vocabulary None Words and phrases to recognize, such as names and product terms
text_polishing False Polished text as the transcript, with the original in metadata["transcript"]; if polishing fails, the original text. en-US only
extra_kwargs None Other Scribe request fields, e.g. {"config": {"language_detection": {"candidate_languages": ["en-US", "fr-FR"]}}} to restrict language detection
base_url https://api.zoom.us/v2/aiservices/scribe Scribe API base URL

Metadata

Release files for livekit-plugins-zoom-ai 1.8.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for livekit-plugins-zoom-ai 1.8.11
File Size Uploaded Provenance Actions
livekit_plugins_zoom_ai-1.8.11.tar.gz 18.2 kB With provenance Details for livekit_plugins_zoom_ai-1.8.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for livekit-plugins-zoom-ai 1.8.11
File Interpreter ABI Platform Actions
livekit_plugins_zoom_ai-1.8.11-py3-none-any.whl Python 3 none any Details for livekit_plugins_zoom_ai-1.8.11-py3-none-any.whl

Total release size: 37.0 kB

Release files / livekit_plugins_zoom_ai-1.8.11.tar.gz

Download URL livekit_plugins_zoom_ai-1.8.11.tar.gz
Size 18.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ac05b854c8b335ea2540e12839b9c9846015abad09fed1abd2e65a3a2949fdf1
BLAKE2b-256 checksum
How to use checksums
3cf82d8e87c8a2562921438ada2ec5b0a18222a11b102dedbf6d59f7f95517c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Release files / livekit_plugins_zoom_ai-1.8.11-py3-none-any.whl

Download URL livekit_plugins_zoom_ai-1.8.11-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dda533abbafd61f33222d4454bffb2d6af173201b7d70f4ddea47b53d8fc4bb3
BLAKE2b-256 checksum
How to use checksums
f73f3c2acbcc2a3a6440c0c3e4bbfbd421c047c6068c3ebb944a6580ee511fa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

Security for livekit-plugins-zoom-ai 1.8.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for livekit_plugins_zoom_ai-1.8.11.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.8.11 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page