Commands
Full command reference for all LiveWing API domains.
Commands are sent as { "id": "...", "type": "domain.action", "params": { ... } }. Params can be omitted for zero-argument commands.
Switcher
switcher.cut
Cut from preview to program.
{ "id": "1", "type": "switcher.cut" }switcher.cutToSource
Cut directly to a source, bypassing preview.
{ "id": "1", "type": "switcher.cutToSource", "params": { "sourceId": 2 } }switcher.setPreview
Set the preview source.
{ "id": "1", "type": "switcher.setPreview", "params": { "sourceId": 3 } }switcher.fade
Fade from program to preview.
{ "id": "1", "type": "switcher.fade" }switcher.getState
Get current switcher state (program, preview, transition).
{ "id": "1", "type": "switcher.getState" }Audio
audio.setGain
{ "id": "1", "type": "audio.setGain", "params": { "sourceId": 0, "gainDb": -6.0 } }audio.setMasterGain
{ "id": "1", "type": "audio.setMasterGain", "params": { "gainDb": 0.0 } }audio.setPan
Pan from -1.0 (left) to 1.0 (right).
{ "id": "1", "type": "audio.setPan", "params": { "sourceId": 0, "pan": -0.5 } }audio.mute / audio.toggleMute
{ "id": "1", "type": "audio.mute", "params": { "sourceId": 0, "muted": true } }
{ "id": "1", "type": "audio.toggleMute", "params": { "sourceId": 0 } }audio.toggleSolo
{ "id": "1", "type": "audio.toggleSolo", "params": { "sourceId": 0 } }audio.toggleBusSend
{ "id": "1", "type": "audio.toggleBusSend", "params": { "sourceId": 0, "busId": 1 } }audio.setAFV
Audio-follows-video.
{ "id": "1", "type": "audio.setAFV", "params": { "sourceId": 0, "enabled": true } }audio.setEQ
{
"id": "1", "type": "audio.setEQ",
"params": { "sourceId": 0, "bands": [{ "frequency": 100, "gain": -3.0, "q": 1.0, "type": "lowShelf" }] }
}audio.setDynamics
{
"id": "1", "type": "audio.setDynamics",
"params": { "sourceId": 0, "threshold": -18.0, "ratio": 4.0, "attack": 10.0, "release": 100.0 }
}audio.setLimiter
{ "id": "1", "type": "audio.setLimiter", "params": { "sourceId": 0, "threshold": -3.0 } }audio.setBusVolume / audio.enableBus
{ "id": "1", "type": "audio.setBusVolume", "params": { "busId": 1, "gainDb": 0.0 } }
{ "id": "1", "type": "audio.enableBus", "params": { "busId": 1, "enabled": true } }audio.getState
{ "id": "1", "type": "audio.getState" }Output
output.setSource
{ "id": "1", "type": "output.setSource", "params": { "channel": 1, "source": "program" } }source accepts "program", "preview", or a numeric source ID.
output.setEnabled
{ "id": "1", "type": "output.setEnabled", "params": { "channel": 1, "enabled": true } }output.configureRTMP
{ "id": "1", "type": "output.configureRTMP", "params": { "channel": 1, "url": "rtmp://...", "key": "..." } }output.configureSRT
{ "id": "1", "type": "output.configureSRT", "params": { "channel": 1, "host": "srt.example.com", "port": 9000 } }output.configureRecord
{ "id": "1", "type": "output.configureRecord", "params": { "channel": 1, "path": "/path/to/output.mov" } }output.getState
{ "id": "1", "type": "output.getState" }display.list / display.openFullscreen / display.closeFullscreen
{ "id": "1", "type": "display.list" }
{ "id": "1", "type": "display.openFullscreen", "params": { "displayId": "uuid", "source": "program" } }
{ "id": "1", "type": "display.closeFullscreen", "params": { "displayId": "uuid" } }Replay
replay.enterMode / replay.exitMode
{ "id": "1", "type": "replay.enterMode" }
{ "id": "1", "type": "replay.exitMode" }replay.play
speed: 1.0 = normal, 0.5 = half speed, -1.0 = reverse.
{ "id": "1", "type": "replay.play", "params": { "speed": 0.5 } }replay.pause
{ "id": "1", "type": "replay.pause" }replay.seek
{ "id": "1", "type": "replay.seek", "params": { "positionSeconds": 12.5 } }replay.markIn / replay.markOut
Mark the in/out point at the current position.
{ "id": "1", "type": "replay.markIn" }
{ "id": "1", "type": "replay.markOut" }replay.quickEvent
{ "id": "1", "type": "replay.quickEvent", "params": { "label": "Goal" } }replay.playEvent
{ "id": "1", "type": "replay.playEvent", "params": { "eventId": "uuid", "speed": 0.5 } }Overlay
overlay.list / overlay.add / overlay.remove / overlay.update
{ "id": "1", "type": "overlay.list" }
{ "id": "1", "type": "overlay.add", "params": { "name": "Lower Third", "url": "https://..." } }
{ "id": "1", "type": "overlay.remove", "params": { "sourceId": 2 } }
{ "id": "1", "type": "overlay.update", "params": { "sourceId": 2, "name": "New Name" } }overlay.getProgramState
{ "id": "1", "type": "overlay.getProgramState" }overlay.assignProgramSlot / overlay.unassignProgramSlot / overlay.toggleProgramSlot
{ "id": "1", "type": "overlay.assignProgramSlot", "params": { "slot": 0, "sourceId": 2 } }
{ "id": "1", "type": "overlay.unassignProgramSlot", "params": { "slot": 0 } }
{ "id": "1", "type": "overlay.toggleProgramSlot", "params": { "slot": 0 } }transform.set / transform.reset / transform.get
{ "id": "1", "type": "transform.set", "params": { "sourceId": 2, "x": 0.0, "y": 0.0, "width": 1.0, "height": 1.0 } }
{ "id": "1", "type": "transform.reset", "params": { "sourceId": 2 } }
{ "id": "1", "type": "transform.get", "params": { "sourceId": 2 } }Input
input.list / input.add / input.remove
{ "id": "1", "type": "input.list" }
{ "id": "1", "type": "input.add", "params": { "type": "camera", "name": "Camera 1" } }
{ "id": "1", "type": "input.remove", "params": { "inputId": "uuid" } }input.assign / input.unassign
{ "id": "1", "type": "input.assign", "params": { "inputId": "uuid", "slot": 1 } }
{ "id": "1", "type": "input.unassign", "params": { "inputId": "uuid" } }input.rename
{ "id": "1", "type": "input.rename", "params": { "inputId": "uuid", "name": "Main Camera" } }input.assignNDI / input.assignImage
{ "id": "1", "type": "input.assignNDI", "params": { "inputId": "uuid", "sourceName": "LAPTOP (Camera)" } }
{ "id": "1", "type": "input.assignImage", "params": { "inputId": "uuid", "path": "/path/to/image.png" } }input.setFileLoop / input.refreshDevices
{ "id": "1", "type": "input.setFileLoop", "params": { "inputId": "uuid", "loop": true } }
{ "id": "1", "type": "input.refreshDevices" }System
system.auth
See API Reference for full auth details.
{ "id": "1", "type": "system.auth", "params": { "token": "your-token" } }system.getState
Get full application state. Rate limited to 5 calls/minute — use subscriptions for real-time updates.
{ "id": "1", "type": "system.getState" }system.getVersion
{ "id": "1", "type": "system.getVersion" }
// → { "data": { "app": "1.0.0", "protocol": "v1" } }system.ping
{ "id": "1", "type": "system.ping" }
// → { "data": { "pong": true } }system.describe
Discover all commands and topics at runtime.
{ "id": "1", "type": "system.describe" }system.subscribe / system.unsubscribe
See API Reference for all topics.
{ "id": "1", "type": "system.subscribe", "params": { "topics": ["switcher.state"] } }
{ "id": "1", "type": "system.unsubscribe", "params": { "topics": ["switcher.state"] } }system.getClients
{ "id": "1", "type": "system.getClients" }preset.list / preset.apply / preset.save / preset.delete
{ "id": "1", "type": "preset.list" }
{ "id": "1", "type": "preset.apply", "params": { "presetId": "uuid" } }
{ "id": "1", "type": "preset.save", "params": { "name": "Show Setup" } }
{ "id": "1", "type": "preset.delete", "params": { "presetId": "uuid" } }