Crates.io | vtubestudio-cli |
lib.rs | vtubestudio-cli |
version | 0.4.0 |
source | src |
created_at | 2021-11-22 06:07:39.569256 |
updated_at | 2022-10-29 17:38:51.130864 |
description | CLI program for interacting with the VTube Studio API |
homepage | https://github.com/walfie/vtubestudio-cli |
repository | https://github.com/walfie/vtubestudio-cli |
max_upload_size | |
id | 485549 |
size | 83,808 |
vts
)CLI program for sending one-off requests to the VTube Studio API. It connects to the websocket, authenticates, performs one or two other requests, and then disconnects and exits.
The primary use case is to do infrequent actions such as triggering hotkeys or registering custom parameters, without needing to establish a long-running websocket connection.
For more complex tasks, you might want to look at client libraries like
vtubestudio-rs
(the Rust library that this program uses under the hood).
Check the releases page to download prebuilt binaries for your platform.
Otherwise you can use cargo install vtubestudio-cli
or build it manually from
this repo using cargo build --release
.
vts
reads auth token info from a JSON config file whose default location depends on platform.
To generate the config in the default location, you can run:
vts config init
This will register the plugin with the VTube Studio API (the user will get a
pop-up in the app asking for confirmation) and save the token for use in future
calls. The plugin name and developer name can be customized with
--plugin-name
and --developer-name
, respectively.
By default, the config file can be found at:
%USERPROFILE%\AppData\Roaming\walfie\vtubestudio-cli\config.json
$HOME/Library/Application Support/com.github.walfie.vtubestudio-cli/config.json
$XDG_CONFIG_DIR/vtubestudio-cli/config.json
or $HOME/.config/vtubestudio-cli/config.json
This path can be overridden by setting the VTS_CONFIG
environment variable or
passing the --config-file
flag.
You can also run vts config path
to show the path to the config, or vts config show
to show the contents of the config file.
List hotkeys
vts hotkeys list
Trigger hotkey by id
vts hotkeys trigger e50ef5139b114d63af342eb65072a5e3
Trigger hotkey by name
vts hotkeys trigger --name MyHotkeyName
List artmeshes
vts artmeshes list
Tint artmesh (rainbow)
vts artmeshes tint --rainbow --duration 5s --tag-contains shirt sleeves
VTube Studio resets artmesh tints when the plugin disconnects. Since this
CLI program normally disconnects immediately after executing commands
(which would otherwise reset the tint), the --duration
flag adds a delay
afterwards, to keep the tint active.
Tint artmesh (hex color)
vts artmeshes tint --color ff0000 --duration 5s --tag-contains eye
The hex color also supports alpha, so values like ff0000aa
are also valid.
Create parameter
vts params create MyParameterName --default 0 --min 0 --max 50
Inject parameter value
vts params inject MyParameterName 5
Get value of parameter
vts params get MyParameterName
List models
vts models list
Load model by ID
vts models load 8caf15fa0c664f489873386e43835a7f
Load model by name
vts models load --name Akari
Move model
vts models move --relative --duration 0.5s --rotation 180
Get expression list.
vts expression list --details
Activate expression.
vts expression activate myExpression_1.exp3.json
Get physics settings.
vts physics get
Set base physics strength (default 500ms).
vts physics set base strength 50
Set base wind strength for 3 seconds.
vts physics set base wind 50 --duration 3s
Set strength multiplier.
vts physics set multiplier strength 1 --id PhysicsSetting1
Set wind multiplier.
vts physics set multiplier wind 0.5 --id PhysicsSetting1
vts --help