set_volume
Adjust Spotify playback volume on one, several, or all live devices: set or nudge levels, mute or unmute, apply presets, or copy the active device's level.
Instructions
Set playback volume on one device, on a selection of devices, or across every live device. volume_percent sets an absolute level; delta_step nudges the current level by a signed step. op picks the variant: "mute" drops to 0 and remembers the level, "unmute" restores what mute remembered, "preset" applies the per-device presets stored by set_device_volume_preset, and "level" with no volume_percent copies the active device's level to the others. Quota: 1 write for a single device; 1 read + N writes when fanning out.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | Variant: "level" (default) set or copy a level, "mute", "unmute", "preset" | |
| dry_run | No | Preview only: describe what would change without performing it. Default false — pass true to preview. | |
| device_id | No | Device ID for a single-device write (default: the active device) | |
| delta_step | No | Signed nudge, e.g. +10 or -10, clamped to 0–100. Mutually exclusive with volume_percent. | |
| device_ids | No | For op "level" with volume_percent: fan out to these device ids or names. Mutually exclusive with all_devices. | |
| all_devices | No | For op "level" with volume_percent: set every volume-capable device, not a named selection. | |
| volume_percent | No | Absolute level 0–100. Mutually exclusive with delta_step. | |
| response_format | No | 'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API object | concise |
| exclude_device_id | No | For op "level" with no volume_percent: leave this device untouched while levelling the rest |