# Multiple Program Outputs

Source: https://mimolive.com/user-manual/using-mimolive/multiple-program-outputs/  
Last updated: 2026-10-25  
Section: Core Interface & Show Basics  

> **Note:** Available in mimoLive 7.0b1 and newer.

With multiple program outputs, one mimoLive document produces your show in several frame sizes at the same time. A 16:9 program for YouTube and a 9:16 program for Shorts, Reels or TikTok come from the same [Layer Stack](https://mimolive.com/user-manual/using-mimolive/layers-and-variants/), stay in sync, and can each have their own layout.

### How Multiple Program Outputs Work

Every document has a **main program output**. Its size is the video size you set in the [Show Settings](https://mimolive.com/user-manual/using-mimolive/show-settings/), exactly as before. You can add more program outputs, each with its own name and pixel size.

All program outputs render the same layers at the same moment. When a layer goes live, it goes live in every output. When you switch a Layer Variant or recall a [Layer Set](https://mimolive.com/user-manual/using-mimolive/layer-sets-scenes/), every output follows. There is only one Layer Stack, and you edit it once.

What can differ between program outputs are the parameter values of your layers. In an additional program output, every parameter starts out **locked** to the main program output and follows its value. Unlock a parameter to give it its own value in that output, for example to move a lower third up and toward the center in a portrait frame.

| Term | Meaning |
| --- | --- |
| Main program output | Named “Main”. Uses the document’s video size from the Show Settings. It can’t be renamed or removed, and it holds the values that locked parameters follow. |
| Additional program output | Any program output you add. It has its own name and size and shows the same layers as the main program output. |
| Locked parameter | Follows the value of the main program output. Its controls are dimmed. Every parameter starts out locked. |
| Unlocked parameter | Has its own value in one program output. Changes in the main program output no longer reach it. |

### Adding a Program Output

#### In the Show Settings

1. Open the [Show Settings](https://mimolive.com/user-manual/using-mimolive/show-settings/) by clicking the clapperboard icon in the Status Display, or choose **Show > Show Settings…**.
2. In the **Program Outputs** section at the bottom, click the **+** button.

mimoLive adds a program output with the main size turned on its side: a 1920 × 1080 document gets a 1080 × 1920 output named “Vertical”, and a portrait document gets a landscape output named “Horizontal”. If the name is already taken, mimoLive adds a number, such as “Vertical 2”.

#### From the Show Menu

1. Choose **Show > Add Program Output…**.
2. Enter a name and the width and height in pixels. The dialog suggests “Vertical” at 1080 × 1920.
3. Click **Add**.

Width and height can each be between 10 and 7680 pixels. If a value is outside this range, mimoLive beeps and doesn’t add the program output.

#### Common Sizes

| Use | Size | Aspect Ratio |
| --- | --- | --- |
| YouTube, desktop players, TV | 1920 × 1080 | 16:9 |
| YouTube Shorts, Instagram Reels, TikTok, Stories | 1080 × 1920 | 9:16 |
| Square feed posts | 1080 × 1080 | 1:1 |
| Portrait feed posts | 1080 × 1350 | 4:5 |

A new program output starts with every parameter locked, so it shows the same design as the main program output, rendered in the new frame. Layers place their content relative to the frame, so most graphics land somewhere sensible. In a portrait output you will usually still want to adjust positions and sizes, as described below.

### Managing Program Outputs

You manage all program outputs in the **Program Outputs** section of the [Show Settings](https://mimolive.com/user-manual/using-mimolive/show-settings/).

- **Main program output:** The first row can’t be edited here. Change its size with the **Size** fields in the Video Configuration section of the Show Settings.
- **Rename or resize:** Click the name, width or height field of another program output and type the new value. Press Return or click elsewhere to apply it. An invalid size makes mimoLive beep and the field goes back to the previous value.
- **Reorder:** Drag the rows. This order is used in every program output menu in mimoLive. The main program output always stays first.
- **Remove:** Click the **–** button of a program output and confirm. You can also choose **Show > Remove Program Output…** and pick the program output from the list.

> **Important:** Removing a program output can’t be undone
>
> Output destinations that used the removed program output switch to the main program output, and every parameter value you unlocked for it is lost.

### Adjusting the Layout for Each Program Output

The Layer Stack is shared by all program outputs. As soon as a document has more than one program output, its header reads **Layer Stack (all program outputs)** as a reminder. Adding, removing and reordering layers or Layer Variants, switching layers live and recalling Layer Sets always apply to every program output.

The **layer preview column** decides which program output you are editing:

1. Select the layer and Layer Variant you want to adjust in the Layer Stack.
2. In the header of the layer preview column, choose the program output from the popup menu, for example **Vertical (1080×1920)**. The preview switches to the frame of that program output. The popup menu only appears when the document has more than one program output.
3. In the layer settings below the preview, click the lock icon at the left of a parameter. The lock opens and turns white, and the control becomes editable.
4. Change the value. Only this program output changes.

| Lock Icon | Meaning |
| --- | --- |
| Closed, dark lock | The parameter follows the main program output. Its control is dimmed. |
| Open, white lock | The parameter has its own value in the selected program output. |

#### Locking or Unlocking a Whole Parameter Group

Right-click on the parameter group bar in the layer settings, for example **Layout**, and choose **Unlock Layout Attributes For Program Output “Vertical”** or **Lock Layout Attributes (Follow Main Program Output)**.

#### Going Back to the Main Value

Click an open lock to close it. The parameter follows the main program output again and takes over its current value right away.

> **Note:** Undo restores the lock, not the old value
>
> Edit > Undo Lock Parameter opens the lock again, but the parameter keeps the value of the main program output. The separate value it had before doesn’t come back.

#### Good to Know

- **Locks belong to a Layer Variant:** If a layer has several Layer Variants, unlock and adjust each variant you use in that program output.
- **Text styles lock together:** The font, size and color of a text field share one lock.
- **On-screen controls unlock automatically:** If a layer lets you drag something directly in the preview, dragging it in the preview of an additional program output unlocks that parameter for that output. Dragging it in the preview of the main program output moves it in every program output where it is still locked.
- **Signal buttons work from the main program output:** Buttons such as Next or Reset are disabled while an additional program output is selected. Select the main program output to trigger them; the signal reaches all program outputs. Keyboard shortcuts for signals are also set in the main program output.
- **Finding unlocked parameters:** The Layer Stack doesn’t mark layers with unlocked parameters yet. Select the program output in the popup menu of the layer preview column and look for white locks.
- **Saved with the document:** Program outputs, locks and unlocked values are stored in the document.

### Watching the Program Outputs

#### Program Output Area

With more than one program output, a popup menu appears in the header of the Program Output area. Choose what it shows:

| Option | What You See |
| --- | --- |
| Fit All | Shows every program output side by side at the same height. |
| All to Scale | Shows every program output at the same pixel scale, so a 1080 × 1920 output appears taller than a 1920 × 1080 one. |
| Follow Layer Preview | Shows the program output that is selected in the layer preview column. |
| A program output by name | Shows only that program output, for example “Vertical (1080×1920)”. |

mimoLive remembers this choice with the document.

#### Multiview

Click the name tag at the bottom of a view in the [Multiview](https://mimolive.com/user-manual/using-mimolive/multiview/) and choose **Program Out – Vertical** from the popup menu (with the name of your program output). The view is then labeled “Program Output – Vertical”. If you remove that program output, the view switches back to the main program output.

> **Note:** The Program Output window shows the main program output
>
> In mimoLive 7.0b1, View > Show Program Output in Window still shows the main program output only.

### Sending a Program Output to an Output Destination

Each [output destination](https://mimolive.com/user-manual/using-mimolive/output-destinations/) sends one program output. This works for Live Streaming, File Recording, NDI®, Virtual Camera, Full Screen Playout and all other output destinations that let you choose a video source.

1. Open the settings of the output destination.
2. In the **Video** popup menu, choose the program output, for example **Program Output – Vertical (1080×1920)**. Documents with a single program output still show **Program Output** as before.
3. Check the video size of the output destination, see below.

> **Important:** “Same As Program Output” always means the size of the main program output
>
> In the video size settings of File Recording, Live Streaming and NDI® output destinations, “Same As Program Output” uses the size of the main program output, even if the output destination sends another program output. To keep the size of a vertical program output, choose “Same as Video Source” or enter a custom size such as 1080 × 1920.

- **Audio:** All program outputs share the same program audio. Output destinations keep their audio selection as before. Additional program outputs never add audio of their own, so nothing plays twice.
- **Removing a program output:** Output destinations that used it switch back to the main program output.
- **Full Screen Playout:** If you choose another program output while full screen playout is running, it switches immediately.

### Things to Know

- **One frame rate:** All program outputs run at the frame rate of the document and render the same frames in sync.
- **Each program output needs computing power:** Every program output renders the whole Layer Stack for every frame. Test your show on the Mac you will use for it. If an additional program output can’t finish a frame in time, it drops that frame.
- **Actions happen only once:** Media playback commands (play, pause, next clip), PTZ camera moves and layer volume changes are carried out by the main program output only, so a clip doesn’t skip twice. The [Automation Layer](https://mimolive.com/user-manual/remote-control-automation/automation/) runs its script in the main program output only.
- **Third-party layers** that contact web services may do so once for every program output. Layer developers can detect additional program outputs with the [Custom Layer API](https://mimolive.com/user-manual/custom-layers/custom-layer-api/#tvIn_SecondaryPipeline).
- **Sources sized to the document,** such as the Web Browser Capture Source, keep the size of the main program output. Other program outputs show that same image.
- **Older mimoLive versions:** Documents saved with mimoLive 7.0b1 or newer show a warning when you open them in an older version, which only knows the main program output.
- **Remote control:** Program outputs can be listed, created and assigned to output destinations through the [HTTP API](https://mimolive.com/user-manual/remote-control-automation/http-api/endpoints/#render-pipelines), the [WebSocket API](https://mimolive.com/user-manual/remote-control-automation/http-api/websocket-api/) and the [MCP tools for AI agents](https://mimolive.com/user-manual/remote-control-automation/ai-agents/).
