
CLI for OBS Studio
FreeManage OBS Studio scenes from the command line.
Free · Opens the source repo
What CLI for OBS Studio does
The CLI for OBS Studio provides a stateful command-line interface designed specifically for editing scene collections in OBS Studio. By following a similar pattern to the Blender CLI, this tool allows users to manage their OBS projects efficiently without needing to launch the OBS GUI. It utilizes a JSON format for scene collections, enabling seamless project persistence and easy sharing of configurations. The tool is particularly useful for developers and designers who prefer scripting or command-line operations over graphical interfaces.
Installation is straightforward via pip, requiring Python 3.10 or higher. Once installed, users can access a range of commands to create, open, save, and manage their OBS projects. The CLI supports both human-readable and machine-readable output formats, making it suitable for both manual use and integration with other tools or scripts. The interactive REPL mode enhances usability by allowing users to enter commands directly with tab-completion and command history, which can significantly speed up workflows.
With features such as undo/redo functionality, users can confidently make changes to their projects, knowing they can revert actions if needed. The CLI supports comprehensive project management, including scene and source management, audio configurations, and transition settings, making it a versatile tool for anyone working with OBS Studio. Whether you're setting up a live stream, recording content, or managing complex scene collections, this command-line interface provides the necessary tools to streamline your workflow.
When to use it
Use this tool when you need to manage OBS Studio scenes and sources programmatically or prefer command-line operations over graphical interfaces.
When not to use it
This is not suitable for users who are unfamiliar with command-line tools or prefer a visual interface for managing OBS projects.
What you can build with it
Automate Scene Management
Use the CLI to script the creation and management of OBS scenes for live streaming or recording.
Batch Edit Projects
Quickly create or modify multiple OBS projects using command-line commands instead of the GUI.
Integrate with Other Tools
Utilize the JSON output for programmatic access to OBS scene configurations in other applications.
How to install CLI for OBS Studio
View source1. Install with the skills CLI
npx skills add hkuds/cli-anything/skills --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by hkudscli-anything-obs_studio
A stateful command-line interface for OBS Studio scene collection editing, following the same patterns as the Blender CLI harness. Uses a JSON scene collection format. No OBS installation required for editing.
Installation
This CLI is installed as part of the cli-anything-obs_studio package:
pip install cli-anything-obs_studio
Prerequisites:
- Python 3.10+
- obs_studio must be installed on your system
Usage
Basic Commands
# Show help
cli-anything-obs_studio --help
# Start interactive REPL mode
cli-anything-obs_studio
# Create a new project
cli-anything-obs_studio project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-obs_studio --json project info -p project.json
REPL Mode
When invoked without a subcommand, the CLI enters an interactive REPL session:
cli-anything-obs_studio
# Enter commands interactively with tab-completion and history
Command Groups
Project
Project management commands.
| Command | Description |
|---|---|
new | Create a new OBS scene collection |
open | Open an existing project |
save | Save the current project |
info | Show project information |
json | Print raw project JSON |
Scene Group
Scene management commands.
| Command | Description |
|---|---|
add | Add a new scene |
remove | Remove a scene by index |
duplicate | Duplicate a scene |
set-active | Set the active scene |
list | List all scenes |
Source Group
Source management commands.
| Command | Description |
|---|---|
add | Add a source to a scene |
remove | Remove a source by index |
duplicate | Duplicate a source |
set | Set a source property (name, visible, locked, opacity, rotation) |
transform | Transform a source (position, size, crop, rotation) |
list | List all sources in a scene |
Filter Group
Filter management commands.
| Command | Description |
|---|---|
add | Add a filter to a source |
remove | Remove a filter from a source |
set | Set a filter parameter |
list | List all filters on a source |
list-available | List all available filter types |
Audio Group
Audio management commands.
| Command | Description |
|---|---|
add | Add a global audio source |
remove | Remove a global audio source |
volume | Set volume for an audio source (0.0-3.0) |
mute | Mute an audio source |
unmute | Unmute an audio source |
monitor | Set audio monitoring type |
list | List all audio sources |
Transition Group
Transition management commands.
| Command | Description |
|---|---|
add | Add a transition |
remove | Remove a transition |
set-active | Set the active transition |
duration | Set transition duration in milliseconds |
list | List all transitions |
Output Group
Output/streaming/recording configuration.
| Command | Description |
|---|---|
streaming | Configure streaming settings |
recording | Configure recording settings |
settings | Configure output settings |
info | Show current output configuration |
presets | List available encoding presets |
Session
Session management commands.
| Command | Description |
|---|---|
status | Show session status |
undo | Undo the last operation |
redo | Redo the last undone operation |
history | Show undo history |
Examples
Create a New Project
Create a new obs_studio project file.
cli-anything-obs_studio project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-obs_studio --json project new -o myproject.json
Interactive REPL Session
Start an interactive session with undo/redo support.
cli-anything-obs_studio
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
State Management
The CLI maintains session state with:
- Undo/Redo: Up to 50 levels of history
- Project persistence: Save/load project state as JSON
- Session tracking: Track modifications and changes
Output Formats
All commands support dual output modes:
- Human-readable (default): Tables, colors, formatted text
- Machine-readable (
--jsonflag): Structured JSON for agent consumption
# Human output
cli-anything-obs_studio project info -p project.json
# JSON output for agents
cli-anything-obs_studio --json project info -p project.json
For AI Agents
When using this CLI programmatically:
- Always use
--jsonflag for parseable output - Check return codes - 0 for success, non-zero for errors
- Parse stderr for error messages on failure
- Use absolute paths for all file operations
- Verify outputs exist after export operations
More Information
- Full documentation: See README.md in the package
- Test coverage: See TEST.md in the package
- Methodology: See HARNESS.md in the cli-anything-plugin
Version
1.0.0
Frequently asked questions about CLI for OBS Studio
Similar skills
Spring Boot Testing
Master testing techniques for Spring Boot 4 applications.
GitHub Issues
Manage GitHub issues efficiently with MCP tools.
Geofeed Tuner
Optimize your IP geolocation feeds in CSV format.
Batch Files
Master Windows batch scripting for automation and task management.
Adobe Illustrator Scripting
Automate your Illustrator workflows with ExtendScript.
Plugin Structure
Create and organize Claude Code plugins effectively.
