VidBlasterX can be (remote) controlled through its API (Application Programming Interface). The API is a powerful feature enabling you to create complex series of commands using macros, or to operate the software from any application anywhere in the world using the TCP Server.

From an API point of view, VidBlasterX is a collection of modules where each module can have one or more pins. A pin can be input and/or output and exchange data in various formats. The following API commands are available to get information about the API, obtain a list of available modules and access each module:






When a command is recognized, 200 Ok will be returned, optionally followed by the requested value or an error message.

Almost all modules have pins that can be accessed through the API, a list of available pins for each module can be selected from the table of contents. Pins that are common to most or all modules are listed below and not repeated for each individual module.



Sets or returns the alias of a module.


Sets audio input.

audiosource, audiodevice¹

Sets audio device.

ontally <value>

Adds module <value> to events list. Event is triggered by tally change.


Used to read and set the tally status. When setting the tally state is specified in the value parameter. Available states are off, preview, previewoff, program, programoff, selected & selected off. An optional second value parameter (default is 0) can be added which is a zero-based index to the bus sending the command, enabling multiple buses to drive the same tally. A reference count will be kept and only when zero will a tally go in the off-state. Note that when dealing with single tallies, program state will always take precedence over preview state. When reading the possible return values are an empty string, "preview", "program" & "selected".

videosource, source¹

Reads or sets the video source.


The following example sets Camera 1's tally to program.

apiwrite Camera 1, tally, program

The following example starts all Players.

apiwrite Player 0, play, true

The following example sets Player 1's tally to preview. The command was sent from the second bus.

apiwrite Player 1, tally, preview, 1

¹ Deprecated, supported for a limited time only for backwards compatibility