Controlling MimoLive with Bitfocus Companion

I was recently asked how I control the video mixer software I use at work, BoinxTV MimoLive, with an Elgato Streamdeck.

Here are the important configuration bits to know. I'll assume you already have Bitfocus Companion and MimoLive installed, on the same network. I'm also assuming you've secured the network, so we won't be using any authentication on the MimoLive API.

Head to the MimoLive preferences, and ensure "Allow Remote Control Access" is enabled. Make a note of the MimoLive Base URL - in my case, http://10.200.10.240:8989/.

In Bitfocus Companion, add a new "Generic HTTP" instance. Set the Base URL to the URL you noted above.

Back in MimoLive, pick something you wish to control. I'm going to use a new Layer Set. Right-click, and choose "Copy [item]'s API Endpoint to Clipboard" - /api/v1/documents/1107045768/layer-sets/7FC83F18-7E04-4778-802F-3963CE2161FC.

In Companion, add a new button. Add an action "HTTP: Post", and paste in the API endpoint you copied earlier. It is important to delete the leading slash, or Companion will not call the API correctly.

Next, head to the MimoLive Docs and find the API call for the action you want to execute. In my case, I'm recalling a layer set, so the action I want is /recall. Append this to the API endpoint in Companion, which should give you api/v1/documents/1107045768/layer-sets/7FC83F18-7E04-4778-802F-3963CE2161FC/recall

Click "Test actions", and if you've done everything correctly, you'll see the action reflected in MimoLive!

If it doesn't work, check you've deleted the leading slash of the API endpoint. This is the thing that catches me out most often.

You can also use the tool HTTPie to test API calls. Installing HTTPie is outside the scope of this tutorial, but to test the API call we used above, I'd use the terminal command http POST http://10.200.10.240:8989/api/v1/documents/1107045768/layer-sets/7FC83F18-7E04-4778-802F-3963CE2161FC/recall.

I will come back to this blogpost at some point and add images, but I hope this is easy to follow!


No blogpost soundtrack today, since I wrote this as a quick reference and there's nothing playing in my flat right now!