> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mosaic.so/llms.txt
> Use this file to discover all available pages before exploring further.

# 10. Montage

> Automatically create a montage by stitching together multiple videos or clips with rhythm, pacing, and style.

Automatically create a montage by stitching together multiple videos or clips with rhythm, pacing, and style. This is ideal for fast recap videos, highlight reels, travel edits, product showcases, or hype sequences.

Montage helps you turn raw media into something visually exciting without manually aligning clips or matching beats.

## How It Works

The Montage tile takes one or more input clips and arranges them into a cohesive sequence based on your creative style prompt. It can optionally sync cuts to music, making it feel more cinematic or energetic.

## Input & Options

### 1. Style Prompt (Required)

> *"How do you want the montage to look?"*

Describe the visual pacing and tone.\
Good examples:

* "Energetic montage with quick cuts"
* "Slow emotional montage with long shots"
* "TikTok-style fast-paced montage with hard cuts"
* "Cinematic travel montage with smooth transitions"
* "Sports highlight reel with snappy edits"

This tells Mosaic *how* to arrange your clips.

### 2. Audio Track (Optional)

You can **upload your own music** to control pacing.

Why use audio?

* Helps drive emotion
* Syncs cuts to beat (if BPM is provided)
* Gives more cinematic output

If no audio is uploaded:

* Mosaic will time clips based on visual pacing only.

### 3. Desired BPM (Optional)

If you provide music, you can enter a **beats per minute** value.

Examples:

* `60–90` → slow, emotional
* `100–130` → upbeat, pop
* `130–160+` → energetic, hype, sports

Mosaic uses BPM to:

* Decide cut frequency
* Match energy level
* Improve beat synchronization

If unsure, you can leave it as-is or remove it entirely.

***

## API Info

<AccordionGroup>
  <Accordion title="Node Params & API Details" icon="code">
    * **Node ID:** `627f0700-7417-414d-9793-58140a374e8f`

    ### Node params

    | Param           | Type            | Required | Default                               | Notes                                                          |
    | --------------- | --------------- | -------- | ------------------------------------- | -------------------------------------------------------------- |
    | `prompt`        | `string`        | Yes      | `"Energetic montage with quick cuts"` | Creative direction for sequencing/cut style.                   |
    | `bpm`           | `number`        | No       | `140`                                 | Target beat pacing; UI range is 60-500.                        |
    | `audio_file_id` | `string` (UUID) | No       | unset                                 | User-provided audio track; takes precedence over stock lookup. |

    ### Parameter groups

    * **Creative intent (required):** `prompt`
    * **Timing controls:** `bpm`, `audio_file_id`

    ### Runtime notes

    * If `audio_file_id` is present, backend tries to fetch and use that exact audio file.
    * If no `audio_file_id` is present, backend can select stock music based on `bpm`.
    * UI default for `bpm` is typically 140 via node defaults.

    ### Example

    ```json theme={null}
    {
      "prompt": "Fast-paced sports recap with punchy cuts",
      "bpm": 140,
      "audio_file_id": "bbbbbbbb-cccc-dddd-eeee-ffffffffffff"
    }
    ```
  </Accordion>
</AccordionGroup>
