# Trailer

> The Trailer node cuts a 20 to 40 second trailer from a podcast or interview in one step, in each social format you choose, after an optional intro card.

Source: https://nodaro.ai/docs/nodes/video/episode-trailer

The **Trailer** node cuts a 20 to 40 second trailer from a podcast or interview recording in one step. It delivers the trailer in each social format you choose, and it can play an intro card first. It can also cut a conversation filmed on [several cameras](#several-cameras).

Inside, the node runs the same steps that you can wire by hand: [Transcribe](https://nodaro.ai/docs/nodes/audio/transcribe) with speaker labels and word timings, [Edit Plan](https://nodaro.ai/docs/nodes/video/edit-plan) in **Trailer** mode and [Apply EDL](https://nodaro.ai/docs/nodes/video/apply-edl). It adds [Combine Videos](https://nodaro.ai/docs/nodes/video/combine-videos) when an intro card is connected, and one [Social Media Format](https://nodaro.ai/docs/nodes/video/social-media-format) per format. Each step runs as its own job, so a long recording, a cancel or a failure behaves as it does in a hand-built workflow. One difference: a format that fails never stops the other formats.

- **The plan picks the length.** The trailer is 20 to 40 seconds of the recording's strongest moments, as Edit Plan in **Trailer** mode chooses them. There is no length setting. A recording with less than 20 seconds of strong moments gets a shorter trailer, and the edit's notes say so.
- **The moments are joined with short crossfades** that the plan sets. There is no setting for the joins.
- **Every format is padded, never cropped.** Each format fits the whole picture into its shape, with bars where the shapes differ. A center crop of a two-person shot would cut a speaker off.

Trailer runs its planning step on Nodaro Cloud. On a self-hosted install, [connect the install to Nodaro Cloud](https://nodaro.ai/docs/self-hosting/cloud-connect), under **Integrations › nodaro.ai** or with an API key. Without a connection, the node is not offered and a run is refused before anything starts.

## When to use it
- Promote a new episode on Instagram Reels, TikTok and YouTube Shorts, and in a square and a portrait feed post, from one run.
- Make a landscape `16:9` trailer for a website or X that opens on the show's intro card.
- Check the cut once, then render every format from it.

Use the individual nodes, such as Edit Plan, Apply EDL and Social Media Format, when you need more control over a step.

## Quick start
### Add the node

Press Tab on the canvas and choose **Video › Podcast › Trailer**.

### Connect the recording

Wire the episode into the **Recordings** input, for example from an [Upload Video](https://nodaro.ai/docs/nodes/video/upload-video) node. The recording can be up to 3 hours long. It must have sound and picture.

### Add an intro card (optional)

Wire a short video, 15 seconds at most, into the **Intro card** input. Make it the same size and shape as your recording, or one of the two is letterboxed.

### Choose the formats

Tick the **Formats** you want. The default is `9:16`, `1:1` and `4:5`.

### Run it

Click **Run** on the node. The node shows one chip per format. Click a chip to show that format's trailer.

Workflow: Trailer cuts a 20 to 40 second trailer from a recorded episode, plays the intro card first and renders the trailer in three formats.

- Upload Video → Trailer (recordings)
- Upload Video → Trailer (intro card)

The template marketplace has two ready workflows. **Trailer + Formats** is the same chain built by hand, ready to fill. **Trailer + Formats in One Node** is this node, with **Review before render** on and the `9:16`, `1:1` and `4:5` formats. Its **Intro card** is left for you to connect.

## Inputs
| Input | Accepts | What it does |
| --- | --- | --- |
| **Recordings** | Video | The episode recording, up to 3 hours. It must have sound. An audio-only recording is refused, because every format is a video. With [several cameras](#several-cameras), each camera's recording. Required. |
| **Intro card** | Video | A short video that plays before the trailer, 15 seconds at most. Make it the same size and shape as your recording. Optional. |
| **Master audio** | Audio | With [several cameras](#several-cameras), the mixer or recorder track. It is the sound of the trailer. Optional. |

A recording that is longer than 3 hours, or a recording with no sound or no picture, is refused before anything is charged. So is an intro card that cannot be read as a video, a still image as the intro card, or an intro card longer than 15 seconds. For the last one, the message reads: "The intro card is too long. Use a card of 15 seconds or less."

With more than one recording, the first one in the order of the **Recordings** list is Camera 1. The settings panel shows a **Cameras** section. See [Several cameras](#several-cameras).

## Outputs
| Output | What it carries |
| --- | --- |
| **Trailers** | One trailer per chosen format, in the order `9:16`, `1:1`, `4:5`, `16:9`. On an **Each** connection, the default, the next node runs once per format. |
| **Edit (EDL)** | The trailer's edit plan, with your review edits applied. Wired into a text or prompt input, it arrives as its JSON text. It is not media, so it does not connect to an input that takes only audio, video or images. Wire the **Trailers** output there. |

## Settings
| Setting | What it does |
| --- | --- |
| **Formats** | **9:16 Story / Reel**, **1:1 Square**, **4:5 Portrait** and **16:9 Landscape**. The default is the first three. Choose at least one. `9:16`, `1:1` and `4:5` are the Instagram story and reel, square feed and portrait feed sizes. `16:9` is a 1920 × 1080 landscape. |
| **Review before render** | Off by default. When on, the run stops at a quick preview of the trailer that you can review and edit. See [Review before render](#review-before-render). |
| **Editing quality** | **Economy**, **Standard** (the default) or **Premium**. The tier of the Edit Plan step, which sets the quality and the price of the plan. |
| **Instructions** | A short steer for the plan, up to 4,000 characters. For example, `open on the funniest moment`. |
| **Style guide** | Longer editorial guidance for the plan, up to 4,000 characters. |

## Several cameras

Wire each camera's recording into **Recordings**. When you have the mixer or recorder track, wire it into **Master audio**. The run then lines the recordings up with [Audio Sync](https://nodaro.ai/docs/nodes/audio/audio-sync), transcribes the sound, and works out which camera each speaker is on with [Speaker Map](https://nodaro.ai/docs/nodes/audio/speaker-map). It plans the trailer over every recording and puts each moment on whoever is talking, with [Camera Switch](https://nodaro.ai/docs/nodes/video/camera-switch). It then adds the intro card and makes every format, as it does for one recording.

- **Recordings.** 1 to 6 recordings of one conversation, in order: Camera 1, Camera 2, and so on. Drag them in the **Recordings** list of the settings panel to change the order. On the canvas, **Recordings** takes video only. Wire a recorder's track into **Master audio**.
- **Master audio.** The sound of the trailer, and the clock that the recordings are lined up to. Up to 6 recordings in all, the master audio included.
- **Without a master audio.** The sound is the wide camera's own sound, or else Camera 1's sound, so the sound never jumps between camera microphones. With two or more cameras, this keeps one place for the sound, so up to 5 cameras.
- **One camera and a master audio.** The camera is lined up to the master audio and cut on that one camera. A master audio wired from the same node as one of the cameras is that camera's own sound, and the node runs as without one.
- **Wide camera.** The camera that shows everyone. A speaker with no camera of their own is shown on it, and it is never a speaker's camera. None by default.
- **Recordings already in sync.** Turn it on when every recording already shares one clock. The run then skips the line-up, so there is no Audio Sync step.
- **Who is on which camera.** By default, Speaker Map decides from the cameras' own microphones: the camera that hears a speaker loudest is theirs. A speaker that no camera clearly leads for has no clear camera, and is shown on the wide camera, or else on any camera that filmed them. The node then says so under its result. Set a speaker to a camera, or to the wide shot, to override the automatic choice. Speaker 1 is the first voice heard, Speaker 2 the next, and so on.
- **Formats.** Every format is made from the one switched cut, padded as on one recording. A format that fails still never stops the others.
- **If a multicam step fails.** Audio Sync, Speaker Map and Camera Switch run before every format. When one of them fails, no format is made and the run fails, and its per-run fee is refunded. **Continue** runs the step that failed and the steps after it.
- **Review before render.** On several cameras, **Render final** of a reviewed run runs Camera Switch again on your edited cut, then the render, the intro card and every format.

The run's result names who was put on which camera, with the notes of the line-up and of the map. Where Speaker Map is not available to you, a run in the editor or in an app reads only the first recording, and the settings panel says so.

These are refused before anything is charged:

- Two sound-only recordings, or one sound-only recording with a master audio.
- More recordings than the limits above.
- Recordings none of which has picture.
- A wide camera that is not one of the recordings with picture.
- Settings under **Cameras** that are not valid.
- A master audio that cannot be read as audio.

**Cameras** settings on a run of one recording with no master audio are ignored.

## Review before render

With **Review before render** on, a run stops at a preview of the trailer. The render is a Preview, at the lower preview rate, and the intro card and the formats are not made yet.

1. Open the review and check the cut. You can restore what the plan removed and cut what it kept. See [Reviewing a cut](https://nodaro.ai/docs/nodes/video/edit-plan#reviewing-a-cut).
2. Click **Render final** on the node. The node renders the trailer at full quality with your edit, adds the intro card and makes every format, once.

- **Render final uses the settings of the preview.** To change a setting, such as the formats, run the node again.
- **You can render final again.** After a **Render final** has finished, edit the cut again and click **Render final**. The render and the steps after it run and are charged again, with no fee. Rendering the same edit a second time is refused, and only one **Render final** runs at a time.
- **In a published app,** the node shows its preview on the app's page with a **Render final** button, as an Apply EDL render does. Once a final is made, another **Render final** of the same run is refused. See [Render final in an app](https://nodaro.ai/docs/concepts/apps#render-final-in-an-app).
- **The nodes after it run on the preview.** On Nodaro Cloud, the node stops at its preview, but the nodes connected after it run on the preview and are charged. They run again on the trailers at **Render final**.
- **Someone has to review.** A run with nobody to review it cannot pass the node. That includes a run started from the API, the SDK, the MCP `run_workflow` tool or a trigger, and a run inside a component. The nodes before Trailer run and are charged. The node then fails with `preview_review_required`, with nothing charged for it. Turn **Review before render** off for those runs.

The MCP tools `make_trailer` and `continue_use_case` are reviewed by the AI assistant that calls them, so they can use **Review before render**.

## If a run fails

- **A format that could not be rendered.** Every chosen format is tried, on the first run and at **Render final**. A format that fails never stops the others. The run completes with the formats that rendered and keeps its fee. The node names the formats it could not render, for example "Could not render: 1:1". A format that failed is not charged. The run completed, so it has no **Continue**. There are two ways to get the missing format:
  - **The same trailer, with no fee.** Render the **Edit (EDL)** output yourself. Wire it into an Apply EDL node, then, if you used an intro card, a Combine Videos node with the card first. Finish with a Social Media Format node set to the missing format, with **Resize Method** set to **Pad (fit, add bars)**. Each step is charged at its own rate.
  - **A new run.** Run the node again with only that format ticked. Every step is charged again, including the per-run fee, and the new plan may pick other moments.
- **A run with no format rendered** fails, and its per-run fee is refunded. The steps that finished stay finished. Their results, such as the transcript, the edit and the trailer render, are kept and are not charged again. Press **Continue** on the node: only the step that failed and the steps after it run again.

## Not once per list item

A Trailer takes the recording of one conversation, and its result is already a list, one trailer per format. A Trailer fed by a List is refused before any of its runs starts, with nothing charged. The message reads: "Trailer takes the recordings of one conversation. Use a separate workflow run for each episode."

## Credits
Trailer charges each step at its own rate, the same as the node it stands for, plus a small per-run fee. The node shows the full estimate, fee included, before you run.

| Step | Price |
| --- | --- |
| Transcribe, on ElevenLabs STT | 25 credits per run |
| Edit Plan, **Trailer** mode | A flat part plus a rate per started minute of the recording, both set by the **Editing quality**. A 60-minute recording on **Standard** costs 286 credits. |
| Apply EDL | 11 credits per started minute of the trailer. A 20 to 40 second trailer is one minute. A Preview costs 2 credits per started minute. |
| Combine Videos, with an intro card | 11 credits for every 5 seconds, or part of 5 seconds, of the card and the trailer together |
| Social Media Format | 22 credits per chosen format. The three default formats cost 66 credits. |
| [Several cameras](#several-cameras) | [Audio Sync](https://nodaro.ai/docs/nodes/audio/audio-sync) over the sound and each camera, priced by the number of recordings it lines up, with no Audio Sync when the recordings are already in sync. With two or more cameras, also [Speaker Map](https://nodaro.ai/docs/nodes/audio/speaker-map) and [Camera Switch](https://nodaro.ai/docs/nodes/video/camera-switch), each at its own flat price per run. Edit Plan is priced at the length of the sound, and the render at the length of the trailer. |

- **The per-run fee** is charged once per run. A **Render final** after a review is not charged the fee again. A failed run's fee is refunded, and **Continue** holds it again. A run that keeps some of its formats is charged the fee.
- **You are charged for the trailer's own length,** not for the estimate.

### The estimate before you run

The estimate prices a run at 40 seconds, the longest trailer the plan cuts. That is one minute of render, and Combine Videos on those 40 seconds plus the intro card. After the preview, **Render final** is quoted on the trailer that the run cut, with your review edits, plus the intro card. A recording with no known length is estimated at Edit Plan's 180-minute ceiling. How Edit Plan counts the minutes is explained on [Edit Plan](https://nodaro.ai/docs/nodes/video/edit-plan#credits).

### Nodes after Trailer

A node wired to the **Trailers** output on an **Each** connection runs once per format, and is charged once per format. For example, an [Add Captions](https://nodaro.ai/docs/nodes/video/add-captions) node after a three-format Trailer is charged three times. A node priced by the length of the video it is given, such as [Trim Video](https://nodaro.ai/docs/nodes/video/trim-video#credits), [Loop Video](https://nodaro.ai/docs/nodes/video/loop-video#credits), [Combine Videos](https://nodaro.ai/docs/nodes/video/combine-videos#credits) or [Video SFX](https://nodaro.ai/docs/nodes/video/video-sfx#credits), is estimated at the trailer's 40 seconds plus the intro card. It is charged at the length that was rendered.

## Tips
- **Steer the moments.** Use **Instructions**, for example `open on the funniest moment` or `no spoilers from the last ten minutes`.
- **Review once, render everywhere.** Turn on **Review before render** to check the cut before every format is rendered.
- **Post each format once.** Wire **Trailers** into a publishing node on an **Each** connection.
- **Match the intro card.** Make the intro card the same size and shape as the recording, so neither of them is letterboxed.

## Troubleshooting
| Problem | What to do |
| --- | --- |
| The run is refused before it starts | Check that the recording is a video, at most 3 hours long, with sound. Check that the intro card is a video of 15 seconds or less. With several cameras, check the number of recordings and the **Cameras** settings. See [Several cameras](#several-cameras). |
| Only the first recording was used | Speaker Map is not available to you, so the node reads only the first recording. The settings panel says so. |
| A List refuses to run the node | Trailer takes one conversation. Use a separate workflow run for each episode. |
| One format is missing | The node names it. Run the node again with only that format, or render the **Edit (EDL)** output yourself. |
| The node fails with `preview_review_required` | The run had nobody to review the preview. Turn **Review before render** off for runs from the API, the SDK, a trigger or a component. |
| **Render final** is refused | The same edit was already rendered, or a **Render final** is already running. Change the cut first, or wait for the current render. |
| The node is missing on a self-hosted install | Connect the install to Nodaro Cloud. See [Connect to Nodaro Cloud](https://nodaro.ai/docs/self-hosting/cloud-connect). |

## From the API
`POST /v1/episode-trailer` starts a run and answers `202` with `jobId` and `executionId`. The body takes `mediaUrls` (one recording URL, or up to six of one conversation in order), and optionally `masterAudioUrl`, `cameras`, `introCardUrl`, `formats` (`"9:16"`, `"1:1"`, `"4:5"` and `"16:9"`), `reviewBeforeRender`, `planTier`, `instructions` and `styleGuide`. Poll the job with `GET /v1/jobs/:id/status`.

- Leave `formats` out for the three default formats. An empty list answers `400 validation_error` ("Choose at least one format"), and so does a list that names a format twice.
- `cameras` is `{ wide?, synced?, speakerCameras? }`. `wide` is the recording number of the wide camera, or `null`. `synced: true` skips the line-up. `speakerCameras` maps a speaker number to a recording number, where `0` is the wide shot. See [Several cameras](#several-cameras).
- Over the API, one of the recordings may be sound only. The run needs at least one recording with picture.
- Several recordings, or a `masterAudioUrl`, need Speaker Map. Where Speaker Map is not available to you, they are refused with `403 node_not_available` before anything is charged.
- The job's `output_data` carries the trailers (`formats`, a list of `{ format, url }` in format order) and the first one as `videoUrl`. It also carries the formats that could not be rendered (`failedFormats`, only when there are some), the edit (`json`), the transcript (`transcript`) and `quality` (`proxy` for a preview, `final` otherwise). A run on several recordings or a master audio adds `cameras`: each speaker, the recording number of the camera it got (`null` for the wide shot), and the notes of the line-up and of the map. A preview has no formats yet: its `formats` is empty and `videoUrl` is the preview. A failed run keeps what completed and names the failed step in `failedStep`.
- An `Idempotency-Key` header makes a retry of the same request answer with the same `jobId` and `"deduped": true`, and start nothing.
- `POST /v1/episode-trailer/estimate` takes the same body and answers `{ data: { totalCredits, stepsCredits, feeCredits, durationSec } }`, without starting anything.
- `POST /v1/episode-trailer/continue` with `{ jobId, mode }` continues a run. `"mode": "from-failed"` runs what a failed run did not complete. `"mode": "render-final"` renders a review run's final, with an optional `editedEdl`. A Render final of a run that was not a preview answers `render_final_not_preview`, and one of an edit already rendered answers `render_final_already_rendered`.

The SDK (`client.edit.episodeTrailer`, `client.edit.estimateEpisodeTrailer`, `client.edit.continueUseCase`), the CLI (`nodaro edit episode-trailer`, with `--estimate` for a quote, and `nodaro edit continue-use-case`) and the MCP tools `make_trailer`, `estimate_use_case` and `continue_use_case` call the same routes. See [Run a single node](https://nodaro.ai/docs/developers/api/nodes), [Editing in the SDK](https://nodaro.ai/docs/developers/sdk/editing) and the [MCP analysis and EDL tools](https://nodaro.ai/docs/mcp/tools/analysis-and-edl).

## Frequently asked questions

### What does the Trailer node do?

The Trailer node takes one video recording of a podcast or interview and returns a 20 to 40 second trailer of its strongest moments. It renders the trailer once in every social format you choose, such as 9:16, 1:1 and 4:5.

### Can I set the length of the trailer?

No. The Trailer node's plan picks the length, from 20 to 40 seconds of the recording's strongest moments. A recording with less than 20 seconds of strong moments gets a shorter trailer, and the edit's notes say so.

### Does the Trailer node crop my video for vertical formats?

No. The Trailer node pads every format and never crops it. Each format fits the whole picture into its shape, with bars where the shapes differ, so no speaker is cut off.

### How much does the Trailer node cost?

The Trailer node charges its steps at their own rates, plus a small per-run fee. That includes Transcribe, Edit Plan, the render and one Social Media Format per format. The node shows the full estimate before you run.

### What happens when one format fails?

The Trailer run completes with the formats that rendered, and the node names the ones it could not render. A format that failed is not charged. Run the node again with only that format, or render the Edit (EDL) output yourself.

### Can the Trailer node cut a podcast filmed on several cameras?

Yes. Wire up to 6 recordings of one conversation into Recordings, and the mixer track into Master audio if you have one. The node lines the recordings up, works out which camera each speaker is on, and puts each moment of the trailer on whoever is talking.

### Can the Trailer node make an audio-only trailer?

No. Every format of the Trailer node is a video, so an audio-only recording is refused before anything is charged.
