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.
Metadata
Release files for slobs-cli 0.11.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| slobs_cli-0.11.5.tar.gz | 13.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| slobs_cli-0.11.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.7 kB
Release files / slobs_cli-0.11.5.tar.gz
| Download URL | slobs_cli-0.11.5.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0676be2a8bad202abbbdbda7783731cce0a4e0d02c028a2b3f590c1603f3c82f
|
|
BLAKE2b-256 checksum How to use checksums |
468afca770cdda2f7b4e0bdcee64b155b6b549620d701ae40f7d899d226a3761
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.26.3 CPython/3.14.2 Linux/6.11.0-1018-azure
|
Release files / slobs_cli-0.11.5-py3-none-any.whl
| Download URL | slobs_cli-0.11.5-py3-none-any.whl |
|---|---|
| Size | 15.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38f7a269a3304aceb57d2dfb51eacd2b62513be343af4ed5a6a2617729e2bcf8
|
|
BLAKE2b-256 checksum How to use checksums |
2c2f39d854f8159f306e846e89dd1144227b90c6c1fffa9efc7deac362195d53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.26.3 CPython/3.14.2 Linux/6.11.0-1018-azure
|
Security for slobs-cli 0.11.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.