Desktop capture currently supports macOS and Windows.
Quick Example
Storage Control
Per-Channel Storage
Enable/disable storage for each channel:Export only runs if at least one channel has
store: true.What Gets Exported
Muxed Video
The default “playable recording” containing:- Video: Primary display (set via
primary_video_channel_id) - Audio: All recorded audio channels mixed together
- Playback and sharing
- Downstream indexing and search
- Simple “trim and publish” workflows
Raw Channel Assets
Individual assets for each stored channel:
Use for:
- Separate audio stems (mic vs system audio)
- Multi-track editing
- Custom muxing strategies
- Picture-in-picture composites
Accessing Exports
Via Webhook
Thecapture_session.exported webhook includes the muxed video ID:
Via RTStream
Each RTStream has anexported_asset_id after export:
Using cap.export()
You can trigger or check an export programmatically with cap.export():
Python
The returned dict contains:
Multi-Screen Export
When capturing multiple displays, each display can be exported individually by passing itsvideo_channel_id. Use cap.displays to discover available video channels:
Python
Checking Export Status
You can track export completion via webhook or by polling:Python
Editing with Raw Assets
Use raw assets when you need control over individual tracks.Display Video + Mic Audio Only
Semantic Search
After export, captured content is searchable:Which Asset to Use?
Next Steps
Privacy Controls
Consent and redaction patterns
Capture Overview
Architecture and quickstart