mimoLive

The mimoLive action lets Action Phrase control mimoLive through its built-in HTTP API.

Use spoken phrases, scripts, Rooms, manual controls, and other Action Phrase triggers to:

  • Start, stop, or toggle a show.
  • Bring layers and variants live or take them off.
  • Trigger layer and source signals.
  • Control media playback.
  • Start and stop output destinations.
  • Recall layer sets.
  • Update sources, layers, variants, and output destinations.
  • Control mimoLive’s Zoom integration.
  • Send custom requests to additional API endpoints.

The integration uses the mimoLive HTTP API, which is normally available on port 8989.

Requirements

You need:

  • Action Phrase Core or higher.
  • A Mac running mimoLive.
  • The mimoLive HTTP API enabled.
  • Network access between Action Phrase and the mimoLive Mac.
  • An open mimoLive document for document-specific commands.

If Action Phrase and mimoLive run on different devices, both devices should normally be connected to the same trusted local network.

Enable the mimoLive HTTP API

  1. Open mimoLive.
  2. Open mimoLive > Settings > Remote Controls.
  3. Enable the mimoLive HTTP server.
  4. Note the displayed address and port.
  5. Optionally enable password authentication.
  6. Keep mimoLive running while Action Phrase sends commands.

The default API address on the mimoLive Mac is:

http://localhost:8989/api/v1

When Action Phrase runs on another device, replace localhost with the mimoLive Mac’s IP address or local hostname:

http://192.168.1.50:8989/api/v1
http://studio-mac.local:8989/api/v1

Important: On an iPhone or iPad, localhost refers to that iPhone or iPad—not the mimoLive Mac. Use the Mac’s IP address or .local hostname instead.

Configure the action

  1. In Action Phrase, open Actions.
  2. Create a new action or edit an existing action.
  3. Select mimoLive as the action type.
  4. Enter the mimoLive Mac’s host and port.
  5. Configure authentication if mimoLive requires a password.
  6. Leave Use Raw Request off.
  7. Select a command.
  8. Enter the required document, layer, source, or other identifiers.
  9. Select Test Connection.
  10. Add the action to a phrase, script, Room trigger, or other automation.

Connection settings

Setting Default Description
Host localhost The IP address or hostname of the Mac running mimoLive.
Port 8989 The port configured in mimoLive’s Remote Controls settings.
Use HTTPS Off Connect using HTTPS instead of HTTP. Enable only when the endpoint supports HTTPS.

For a direct local connection to mimoLive, leave Use HTTPS off. The built-in API normally uses HTTP.

Authentication

mimoLive can require a password for HTTP API requests. Action Phrase hashes the password with SHA-256 before sending it.

Setting Description
Password The password configured in mimoLive’s Remote Controls settings. Leave empty if authentication is disabled.
Auth Method Determines how the SHA-256 password hash is included in each request.

Header SHA-256

This is the recommended authentication method.

Action Phrase sends the password hash using the following HTTP header:

X-MimoLive-Password-SHA256: HASH

Query SHA-256

Action Phrase appends the password hash to the request URL:

?pwSHA256=HASH

Header authentication is preferable because query parameters may appear in URL logs, browser history, or diagnostic tools.

Security warning: Do not expose the mimoLive HTTP API directly to the public internet. mimoLive recommends using a secure tunnel or another protected network connection for remote access. See Access Remote Control Surfaces and HTTP API remotely.

Test the connection

Select Test Connection in the mimoLive action’s Connection section.

Action Phrase sends a request to:

GET /api/v1/documents

The test reports one of the following results:

  • Connected to mimoLive.
  • mimoLive returned HTTP status code.
  • Connection failed: error.
  • Missing mimoLive connection details.

A successful test confirms that Action Phrase can reach the HTTP API and that the configured authentication is accepted.

Find API identifiers

Most commands require stable mimoLive identifiers, such as:

  • Document ID
  • Layer ID
  • Variant ID
  • Source ID
  • Output Destination ID
  • Layer Set ID
  • Signal ID

In recent versions of mimoLive, you can Control-click or right-click an object in a document and copy its API endpoint. This is usually the easiest way to find the correct identifier.

For example:

http://192.168.1.50:8989/api/v1/documents/458706932/layers/BA868701-8131-49CB-8EDD-8C7E6E7CD60B

From this URL:

Document ID: 458706932
Layer ID: BA868701-8131-49CB-8EDD-8C7E6E7CD60B

mimoLive stores these IDs with the document, so they remain stable as long as you continue using the same document. See mimoLive’s API usage examples for instructions on copying endpoints.

Available commands

Documents

Command Description Required parameters
List Documents Request a list of open mimoLive documents. None
Get Document Request information about one document. Document ID
Get Program Output Request the current program output for a document. Document ID
Start Show Start the selected document and trigger its show-start events. Document ID
Stop Show Stop the selected document and trigger its show-stop behavior. Document ID
Toggle Show Toggle the document between live and off. Document ID

Starting an already running show or stopping an already stopped show is accepted by mimoLive.

Layers

Command Description Required parameters
List Layers Request the layers in a document. Document ID
Create Layer Create a layer using a JSON:API request body. Document ID, Body
Get Layer Request information about one layer. Document ID, Layer ID
Update Layer Update a layer’s name, volume, input values, or other supported properties. Document ID, Layer ID, Body
Delete Layer Permanently remove a layer. Document ID, Layer ID
Set Layer Live Put the layer live. Document ID, Layer ID
Set Layer Off Take the layer off air. Document ID, Layer ID
Toggle Layer Toggle the layer between live and off. Document ID, Layer ID
Trigger Layer Signal Trigger a signal on the layer’s live or active variant. Document ID, Layer ID, Signal ID
Cycle Layer Variants Select the next variant without changing the current live state. Document ID, Layer ID
Cycle Layer Variants Backwards Select the previous variant without changing the current live state. Document ID, Layer ID
Set First Variant Live Select the first variant and put the layer live. Document ID, Layer ID
Set Last Variant Live Select the last variant and put the layer live. Document ID, Layer ID
Layer Media Control Send a media command to a source connected to a layer input. Document ID, Layer ID, Source Input Key, Media Command

Cycling a layer’s variants changes the active variant but does not disturb a layer that is currently live. The selected variant becomes visible the next time the layer goes live.

Media commands

Layer Media Control and Source Media Control accept commands supported by the underlying media source.

Common values include:

  • play
  • pause
  • stop
  • reverse
  • rewind
  • fastforward
  • skiptostart
  • skiptoend
  • skipback
  • skipahead
  • record
  • shuffle
  • repeat

Not every source supports every command.

Variants

Command Description Required parameters
List Variants Request all variants for a layer. Document ID, Layer ID
Get Variant Request information about one variant. Document ID, Layer ID, Variant ID
Update Variant Update a variant’s name or input values. Document ID, Layer ID, Variant ID, Body
Set Variant Live Activate the variant and put its layer live if necessary. Document ID, Layer ID, Variant ID
Set Variant Off Deactivate the variant and take its layer off. Document ID, Layer ID, Variant ID
Toggle Variant Toggle the variant between live and off. Document ID, Layer ID, Variant ID

Sources

Command Description Required parameters
List Sources Request all sources in a document. Document ID
Create Source Create a source using a JSON:API request body. Document ID, Body
Get Source Request information about one source. Document ID, Source ID
Update Source Update a source’s supported properties. Source ID, Body
Delete Source Permanently remove a source from a document. Document ID, Source ID
Get Source Preview Request a graphical preview of a source. Document ID, Source ID
Source Media Control Send a media playback command to a source. Document ID, Source ID, Media Command
Trigger Source Signal Trigger a signal exposed by a source. Document ID, Source ID, Signal ID

Signal identifiers can be discovered in the source or layer’s input-values. Signal keys generally end with _TypeSignal.

Output destinations

Command Description Required parameters
List Output Destinations Request all output destinations in a document. Document ID
Create Output Destination Create an output destination using a JSON:API body. Document ID, Body
Get Output Destination Request information about one output destination. Document ID, Output Destination ID
Update Output Destination Update supported properties such as its title, automatic start/stop behavior, or settings. Document ID, Output Destination ID, Body
Delete Output Destination Permanently remove an output destination. Document ID, Output Destination ID
Start Output Destination Start streaming, recording, playout, NDI, virtual camera, or another configured destination. Document ID, Output Destination ID
Stop Output Destination Stop the selected output destination. Document ID, Output Destination ID
Toggle Output Destination Toggle the output destination between live and stopped. Document ID, Output Destination ID

An output destination may temporarily report a startup or shutdown state while mimoLive connects to or disconnects from an external service.

Warning: Starting an output destination can begin a real stream, recording, playout, or virtual-camera output. Test with a non-production destination first.

Layer sets

Command Description Required parameters
List Layer Sets Request all layer sets in a document. Document ID
Create Layer Set Create a layer set using a JSON:API body. Document ID, Body
Get Layer Set Request information about one layer set. Document ID, Layer Set ID
Update Layer Set Update a layer set’s name, recall behavior, or saved layer actions. Document ID, Layer Set ID, Body
Delete Layer Set Permanently remove a layer set. Document ID, Layer Set ID
Recall Layer Set Apply the saved live states to the layer set’s layers. Document ID, Layer Set ID

Layer sets act like scenes by changing the live state of multiple layers together.

Data stores

Command Description Required parameters
List Data Stores Request the data stores available through the selected document endpoint. Document ID
Get Data Store Request one data store. Document ID, Data Store ID
List Data Store Rows Request the rows in a data store. Document ID, Data Store ID
Focus Data Store Row Focus one row. Document ID, Data Store ID, Row ID
Unfocus Data Store Row Remove focus from one row. Document ID, Data Store ID, Row ID
Toggle Data Store Row Focus Toggle a row’s focus state. Document ID, Data Store ID, Row ID
Trigger Data Store Row Signal Trigger the selected row’s signal. Document ID, Data Store ID, Row ID

Data-store capabilities vary by mimoLive version and the type of data store used by the document. Verify the supported endpoints for your mimoLive installation.

Devices

Command Description Required parameters
List Devices Request the video and audio devices currently available to mimoLive. None
Get Device Request information about one video or audio device. Device ID

These commands refer to capture devices available to the mimoLive Mac, such as cameras, microphones, and audio interfaces.

Zoom

Command Description Required parameters
Join Zoom Meeting Join a Zoom meeting using mimoLive’s built-in Zoom integration. Meeting ID and Zoom Account Name
Leave Zoom Meeting Leave the current Zoom meeting. None
End Zoom Meeting End the current meeting when the logged-in user has host permission. None
List Zoom Participants Request the current participant list. None
Run Zoom Meeting Action Run a meeting-level or participant-level Zoom command. Command; User ID for participant-specific commands

Join Zoom Meeting parameters

Parameter Description
Meeting ID The Zoom meeting number.
Passcode The meeting passcode, when required.
Display Name The name shown for mimoLive in the meeting.
Zoom Account Name The name of a Zoom account logged in under mimoLive Settings > Accounts.
Virtual Camera Send mimoLive’s program output to Zoom as the camera feed.
Webinar Token The token required when joining certain webinars.

Current mimoLive versions require Zoom Account Name to match an account logged in under mimoLive Settings, even if the Action Phrase field does not appear as required.

Zoom meeting actions

Enter the mimoLive command name in the Command field. Add a User ID for participant-specific commands.

Common command values include:

requestRecordingPermission
muteVideo
unmuteVideo
muteAudio
unmuteAudio
enableUnmuteBySelf
disableUnmuteBySelf
muteAll
unmuteAll
lockMeeting
unlockMeeting
lowerAllHands
pauseShare
resumeShare
joinVoip
leaveVoip
allowParticipantsToChat
disallowParticipantsToChat
allowParticipantsToShare
disallowParticipantsToShare
allowParticipantsToStartVideo
disallowParticipantsToStartVideo
allowParticipantsToShareWhiteBoard
disallowParticipantsToShareWhiteBoard
allowParticipantsToRename
disallowParticipantsToRename
showParticipantProfilePictures
hideParticipantProfilePictures

Commands such as muteAudio, unmuteAudio, muteVideo, and unmuteVideo require the participant’s numeric User ID.

See the official mimoLive API endpoint reference for the current list of Zoom commands and their permission requirements.

JSON request bodies

Commands that create or update resources display a Body (JSON:API) field.

Action Phrase sends a non-empty body with:

Content-Type: application/vnd.api+json

The expected object depends on the selected endpoint. For example, updating an output destination may use a body similar to:

{
  "data": {
    "type": "output-destinations",
    "id": "OUTPUT-DESTINATION-ID",
    "attributes": {
      "title": "Main Stream",
      "starts-with-show": true
    }
  }
}

Only include properties supported by the selected mimoLive resource. Refer to the mimoLive endpoint documentation for request examples.

Use phrase variables

Command parameters and request bodies support Action Phrase template variables.

For example, a phrase could use:

Show lower third for {{speaker}}

An Update Variant action could use the captured value in its JSON body:

{
  "name": "{{speaker}}"
}

Identifiers can also use variables:

Document ID: {{documentId}}
Layer ID: {{layerId}}
Variant ID: {{variantId}}

The resolved value must be a valid mimoLive identifier.

For production workflows, fixed IDs are generally safer than speaking long identifiers. A common approach is to create separate actions for each frequently used layer, variant, output destination, or layer set.

Raw requests

Turn on Use Raw Request to call a mimoLive endpoint that is not included in the command picker.

Setting Description
Raw Method GET, POST, PUT, PATCH, or DELETE.
Raw Path A path relative to the mimoLive /api/v1 base. Query parameters are supported.
Body (JSON) An optional request body for POST, PUT, and PATCH.

Example:

Method: POST
Path: /documents/458706932/layers/LAYER-ID/toggleLive

You may also include the API prefix:

/api/v1/documents/458706932/layers/LAYER-ID/toggleLive

Action Phrase detects the existing /api/v1 prefix and does not add it a second time.

Raw paths and bodies support Action Phrase template variables.

A request body is not sent with GET or DELETE.

Security warning: Raw Path accepts absolute HTTP and HTTPS URLs. If you enter an absolute URL, Action Phrase may send the configured mimoLive authentication hash to that destination. Use relative paths unless you have verified and trust the absolute URL.

Read-command results

Commands such as List Documents, Get Document, List Layers, Get Source Preview, List Devices, and List Zoom Participants send read-only requests to mimoLive.

Action Phrase does not currently expose the returned JSON, image, or media response as a phrase variable or action output. Use these commands only when making the request itself is useful, or use mimoLive’s API directly when you need to inspect the returned data.

Destructive commands

The following commands permanently remove resources:

  • Delete Layer
  • Delete Source
  • Delete Output Destination
  • Delete Layer Set

Warning: Action Phrase does not display a separate confirmation prompt when a phrase reaches one of these commands. Use destructive actions only in carefully restricted phrases or manual workflows.

Troubleshooting

Test Connection fails

Confirm that:

  • mimoLive is running.
  • The HTTP server is enabled under mimoLive’s Remote Controls settings.
  • The host and port are correct.
  • The device running Action Phrase can reach the mimoLive Mac.
  • The macOS firewall permits access to mimoLive.
  • Action Phrase has permission to access the local network.
  • Use HTTPS is off for a normal direct connection.

localhost does not work

Use localhost only when Action Phrase runs on the same Mac as mimoLive.

From an iPhone, iPad, or another computer, use the mimoLive Mac’s IP address or .local hostname.

mimoLive returns an authentication error

Confirm that:

  • The password matches the one configured in mimoLive.
  • Header SHA-256 is selected.
  • Authentication is configured consistently in mimoLive and Action Phrase.
  • There are no accidental spaces before or after the password.

Action Phrase hashes the password automatically. Enter the original password, not a manually calculated hash.

A command runs but nothing changes

Confirm that:

  • Every required ID is present.
  • The IDs came from the currently open mimoLive document.
  • The selected resource still exists.
  • The selected layer, source, or output destination supports the requested operation.
  • A create or update command includes a valid body.
  • The mimoLive user or Zoom account has permission to perform the operation.

Zoom Join returns HTTP 400

Confirm that Zoom Account Name exactly matches a Zoom account logged in under mimoLive Settings > Accounts.

An output destination does not start

The destination must be fully configured in mimoLive and permitted by the current mimoLive license. Streaming destinations must also be able to connect to their configured service.

A media command does nothing

Media commands depend on the source type. Verify that the source reports support for the selected command in the mimoLive API.

A read command does not display its response

Action Phrase currently sends the request but does not convert the response into a variable or visible result. Use the mimoLive API directly when you need to inspect returned JSON or preview media.

results matching ""

    No results matching ""