A command line application for Streamlabs Desktop
Project description
slobs-cli
A command line interface for the Streamlabs Desktop websocket API.
For an outline of past/future changes refer to: CHANGELOG
Table of Contents
Requirements
- Python 3.11 or greater
- Streamlabs Desktop
- A websocket token: Settings > Mobile > Third Party Connections > API Token
Installation
with uv
uv tool install slobs-cli
with pipx
pipx install slobs-cli
The CLI should now be discoverable as slobs-cli
Configuration
Flags
- --domain/-d: Streamlabs client domain
- --port/-p Streamlabs client port
- --token/-t: API Token
- --version/-v: Print the slobs-cli version
Pass --domain, --port and --token as flags on the root command, for example:
slobs-cli --domain localhost --port 59650 --token <API token> --help
Environment Variables
Load the following values from your environment:
SLOBS_DOMAIN=localhost
SLOBS_PORT=59650
SLOBS_TOKEN=<API Token>
Flags can be used to override environment variables.
Style
Styling is opt-in, by default you will get a colourless output:
You may enable styling with the --style/-s flag:
slobs-cli --style="yellow" audio list
Available styles: red, magenta, purple, blue, cyan, green, yellow, orange, white, grey, navy, black
Optionally you may disable border colouring with the --no-border flag:
slobs-cli --style="yellow" --no-border audio list
Or with environment variables:
SLOBS_STYLE=yellow
SLOBS_STYLE_NO_BORDER=true
Commands
Scene
- list: List all available scenes.
-
flags:
optional
- --id: Include scene IDs in the output.
-
slobs-cli scene list
- current: Show the currently active scene.
-
flags:
optional
- --id: Include scene IDs in the output.
-
slobs-cli scene current
- switch: Switch to a scene by its name.
-
flags:
optional
- --id: Include scene IDs in the output.
- --preview: Switch the preview scene.
-
args: <scene_name>
-
slobs-cli scene switch "slobs-test-scene-1"
Stream
- start: Start the stream.
slobs-cli stream start
- stop: Stop the stream.
slobs-cli stream stop
- status: Get the current stream status.
slobs-cli stream status
- toggle: Toggle the stream status.
slobs-cli stream toggle
Record
- start: Start recording.
slobs-cli record start
- stop: Stop recording.
slobs-cli record stop
- status: Get recording status.
slobs-cli record status
- toggle: Toggle recording status.
slobs-cli record toggle
Audio
- list: List all audio sources.
-
flags:
optional
- --id: Include audio source IDs in the output.
-
slobs-cli audio list
- mute: Mute an audio source by name.
- args: <source_name>
slobs-cli audio mute "Mic/Aux"
- unmute: Unmute an audio source by name.
- args: <source_name>
slobs-cli audio unmute "Mic/Aux"
- toggle: Toggle mute state of an audio source by name.
- args: <source_name>
slobs-cli audio toggle "Mic/Aux"
- status: Get the mute status of an audio source by name.
slobs-cli audio status "Mic/Aux"
Replay Buffer
- start: Start the replay buffer.
slobs-cli replaybuffer start
- stop: Stop the replay buffer.
slobs-cli replaybuffer stop
- status: Get the current status of the replay buffer.
slobs-cli replaybuffer status
- save: Save the current replay buffer.
slobs-cli replaybuffer save
Studio Mode
- enable: Enable studio mode.
slobs-cli studiomode enable
- disable: Disable studio mode.
slobs-cli studiomode disable
- toggle: Toggle studio mode.
slobs-cli studiomode toggle
- status: Check the status of studio mode.
slobs-cli studiomode status
- force-transition: Force a transition in studio mode.
slobs-cli studiomode force-transition
Scene Collection
- list: List all scene collections.
-
flags:
optional
- --id: Include scenecollection IDs in the output.
-
slobs-cli scenecollection list
- create: Create a new scene collection.
- args: <scenecollection_name>
slobs-cli scenecollection create "NewCollection"
- delete: Delete a scene collection by name.
- args: <scenecollection_name>
slobs-cli scenecollection delete "ExistingCollection"
- load: Load a scene collection by name.
- args: <scenecollection_name>
slobs-cli scenecollection load "ExistingCollection"
- rename: Rename a scene collection.
- args: <scenecollection_name> <new_name>
slobs-cli scenecollection rename "ExistingCollection" "NewName"
Special Thanks
- Julian-0 For writing the PySLOBS wrapper on which this CLI depends.
License
slobs-cli is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slobs_cli-0.11.5.tar.gz.
File metadata
- Download URL: slobs_cli-0.11.5.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.26.3 CPython/3.14.2 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0676be2a8bad202abbbdbda7783731cce0a4e0d02c028a2b3f590c1603f3c82f
|
|
| MD5 |
9395a4fee265b63d9d2dafbbcaf71e6c
|
|
| BLAKE2b-256 |
468afca770cdda2f7b4e0bdcee64b155b6b549620d701ae40f7d899d226a3761
|
File details
Details for the file slobs_cli-0.11.5-py3-none-any.whl.
File metadata
- Download URL: slobs_cli-0.11.5-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.26.3 CPython/3.14.2 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38f7a269a3304aceb57d2dfb51eacd2b62513be343af4ed5a6a2617729e2bcf8
|
|
| MD5 |
b67c180e7e3b5e513358e22467e66afd
|
|
| BLAKE2b-256 |
2c2f39d854f8159f306e846e89dd1144227b90c6c1fffa9efc7deac362195d53
|