obs-scene-capture
Use OBS as a generic screenshot API. List scenes, inspect scene sources, and capture still images from scenes or sources via obs-websocket.
Files3
View on GitHubSKILL.mdskills/integrations/obs-scene-capture/SKILL.md
GitHubOBS Scene Capture API
Use this skill to treat OBS like a local screenshot API for any scene or source you have configured.
What this gives you
- List all scenes currently available in OBS
- List sources inside a specific scene
- Capture PNG stills from a scene or source on demand
- Save captures to
TMP/obs/for downstream analysis or sharing
Prerequisites
- OBS is running
- OBS WebSocket server is enabled (default port
4455) - Python package
obsws-pythonis installed in the active environment
Install dependency:
pip install obsws-python
If a local venv exists, activate it first.
Quick start
List scenes:
python skills/integrations/obs-scene-capture/scripts/obs_still.py --list-scenes
List sources in a scene:
python skills/integrations/obs-scene-capture/scripts/obs_still.py --list-sources --scene "Main Monitor"
Capture a scene:
python skills/integrations/obs-scene-capture/scripts/obs_still.py --scene "Main Monitor" --output TMP/obs/main-monitor.png
Capture a source:
python skills/integrations/obs-scene-capture/scripts/obs_still.py --source "Browser Capture" --output TMP/obs/browser-capture.png
Optional explicit resolution:
python skills/integrations/obs-scene-capture/scripts/obs_still.py --scene "Main Monitor" --output TMP/obs/main-monitor-1440p.png --width 2560 --height 1440
Connection options
Defaults:
--host localhost--port 4455--password ""
Environment variable overrides:
OBS_HOSTOBS_PORTOBS_PASSWORD
API-oriented workflow
- Call
--list-scenesto discover valid scene names. - Call
--list-sources --scene "..."to inspect precise source names. - Capture the exact scene or source needed.
- Return the saved file path (for example,
TMP/obs/main-monitor.png) as an artifact for the next step in your flow.
Notes
- Scene and source names are exact-match and case-sensitive.
- Scenes are valid screenshot targets, so scene capture is a good default when source names are unknown.
- The script writes PNG files and handles UTF-8-safe paths.
More setup details
If OBS connection setup is the blocker, read references/obs-websocket.md.