npx skills add ...
npx skills add anthropics/knowledge-work-plugins --skill build-zoom-video-sdk-app
Reference skill for Zoom Video SDK. Use after routing to a custom-session workflow when the user needs full control over the video experience rather than an actual Zoom meeting.
npx skills add anthropics/knowledge-work-plugins --skill build-zoom-video-sdk-app
Background reference for fully custom video-session products. Prefer plan-zoom-product first when the boundary between Meeting SDK and Video SDK is still unclear.
Build custom video experiences powered by Zoom's infrastructure.
join_url, or Meeting SDK join payload fields (meetingNumber, passWord).| Feature | Meeting SDK | Video SDK |
|---|---|---|
| UI | Default Zoom UI or Custom UI | Fully custom UI (you build it) |
| Experience | Zoom meetings | Video sessions |
| Branding | Limited customization | Full branding control |
| Features | Full Zoom features | Core video features |
Video SDK gives you full control over the UI:
| Option | Description |
|---|---|
| UI Toolkit | Pre-built React components (low-code) |
| Custom UI | Build your own UI using the SDK APIs |
Need help with OAuth or signatures? See the zoom-oauth skill for authentication flows.
Need pre-join diagnostics on web? Use probe-sdk before Video SDK
join()to reduce first-minute failures.
Start troubleshooting fast: Use the 5-Minute Runbook before deep debugging.
WARNING: Ad blockers block
source.zoom.us. Self-host the SDK to avoid issues.
When using <script type="module"> with CDN, SDK may not be loaded yet:
The SDK has a strict lifecycle. Violating it causes silent failures.
Common Mistake (Silent Failure):
The SDK is event-driven. You must listen for events and render videos accordingly.
attachVideo() NOT renderVideo()See web/references/web.md for complete event handling patterns.
| Concept | Description |
|---|---|
| Session | Video session (not a meeting) |
| Topic | Session identifier (any string you choose) |
| Signature | JWT for authorization |
| MediaStream | Audio/video stream control |
Important: Video SDK sessions are created just-in-time, not in advance.
| Aspect | Video SDK | Meeting SDK |
|---|---|---|
| Pre-creation | NOT required | Create meeting via API first |
| Session start | First participant joins with topic | Join existing meeting ID |
| Topic | Any string (you define it) | Meeting ID from API |
| Scheduling | N/A - sessions are ad-hoc | Meetings can be scheduled |
topic string join the same sessionThe signature endpoint must be accessible from your frontend without CORS issues.
Option 1: Same-Origin Proxy (Recommended)
Option 2: CORS Configuration
WARNING: Mixed content (HTTPS page → HTTP API) will be blocked by browsers.
| Use Case | Description |
|---|---|
| Video SDK BYOS (Bring Your Own Storage) | Save recordings directly to your S3 bucket |
Video SDK feature - Zoom saves cloud recordings directly to your Amazon S3 bucket. No downloading required.
Official docs: https://developers.zoom.us/docs/build/storage/
Prerequisites:
Authentication options:
S3 path structure:
Key benefits:
Setup location: Developer Portal → Account Settings → General → Communications Content Storage Location
See ../general/use-cases/video-sdk-bring-your-own-storage.md for complete setup guide.
| Type | Repository | Stars |
|---|---|---|
| Web | videosdk-web-sample | 137 |
| Web NPM | videosdk-web | 56 |
| Auth | videosdk-auth-endpoint-sample | 23 |
| UI Toolkit Web | videosdk-zoom-ui-toolkit-web | 17 |
| UI Toolkit React | videosdk-zoom-ui-toolkit-react-sample | 17 |
| Next.js | videosdk-nextjs-quickstart | 16 |
| Telehealth | VideoSDK-Web-Telehealth | 11 |
| Linux | videosdk-linux-raw-recording-sample | - |
Full list: See general/references/community-repos.md
.env keys and where to find each value.