Apply EDL
Render an edit decision list into one finished video or audio file, with cuts and crossfades, and remap a transcript so captions follow the finished cut.
The Apply EDL node renders an edit decision list (EDL) into one finished video or audio file. An EDL is a small JSON description of an edit: the media it draws from, and an ordered list of segments that say which part of which source plays next. An Edit Plan node, an AI agent or you decide what the edit is, and Apply EDL turns that decision into picture and sound.
When you wire a transcript into the node, it also outputs that transcript remapped through the cut. Words in removed parts are dropped, and a word that crosses a cut is shortened to the kept part, so captions built from it stay in sync with the finished edit. A word that runs across two segments that continue each other, with no crossfade between them, keeps its full length. Apply EDL runs no AI model.
When to use it
- Render a tightened version of a long recording, planned from its transcript.
- Assemble a set of clip ranges into one deliverable from a single edit description.
- Produce an audio-only cut, for example a podcast episode, on the same timeline as the video version.
- Output a transcript that matches the cut, for Add Captions.
Quick start
Add the node
Press Tab on the canvas and choose Video › Cut & Assemble › Apply EDL.
Connect the EDL
Wire the Edit plan (EDL) output of an Edit Plan node into the EDL input. You can also wire a text or JSON node that holds an EDL. The media is fetched from the URL of each source in the EDL.
Connect the transcript (optional)
Wire the transcript of a Transcribe node into the Transcript input to receive it remapped through the cut.
Choose the output and the quality
Open the settings panel. Set Output to Video or Audio only. Set Quality to Preview first — review, then Render final while you review, or to Final — no review step for delivery.
Run it
Click Run on the node. The finished cut appears on the node.
Inputs
| Input | Accepts | What it does |
|---|---|---|
| EDL | JSON, such as the output of Edit Plan, or a text node that holds JSON | The edit decision list. Required. The editor refuses a transcript output here, such as the output of Transcribe. |
| Transcript | JSON transcripts, such as the output of Transcribe | A transcript to remap through the cut. Optional. The editor refuses an EDL output here, such as the output of Edit Plan. |
| Sources | Video and audio nodes | Optional replacements for the media URLs in the EDL, applied by position in connection order. Use it only when the media cannot be reached by the URL in the EDL. |
Outputs
| Output | What it carries |
|---|---|
| Video or Audio | The rendered cut. The name and the type follow the Output setting. |
| Transcript | The wired transcript remapped through the cut. Empty when no transcript is wired. |
The node keeps every render it makes. The Latest Results gallery in the settings panel shows each render as video or audio, as it was rendered. The selected render is the cut that the output passes on, and a new render is selected as soon as it finishes. To pass an earlier render on, select it in the gallery.
- A render of the other medium cannot be selected. A render made before you changed Output is dimmed, and its tooltip says which Output to set.
- The transcript follows the selected render. Selecting a render also sets the Transcript output to the transcript that render was cut with. When that transcript is not known, or the render had none, the Transcript output is cleared, so a node such as Add Captions never gets a transcript timed to a different cut.
- A render per clip passes on its latest clips. When the node ran once per clip, an Each connection gets the latest run's clips only, one per clip, in the plan's order.
Settings
| Setting | What it does |
|---|---|
| Output | Video, the default, renders picture and sound. Audio only renders the sound. |
| Quality | Final — no review step, the default, is the full-quality delivery, with stereo sound. Preview first — review, then Render final makes a Preview: a fast review copy at the lower preview rate. See Preview and Render final. |
| Default crossfade (ms) | A crossfade applied at every join that has no transition of its own in the EDL. The default, 0, gives hard cuts. From 0 to 5,000 ms. At each join, the crossfade is limited to 90% of the shorter neighboring segment, so it never over-blends a short segment. |
The render check in the panel
The settings panel shows a badge for every render the node would make if it ran now. The badge applies the same rule that the render applies before it charges anything:
- Ready to render means that the render accepts this EDL.
- 1 EDL issue or N EDL issues means that the render would refuse this EDL before charging anything. Click the badge to see each issue.
The badge cannot see the media files. A URL that cannot be fetched, or a segment that runs past the end of its file, is still reported by the render, and the credits are refunded.
When the run makes several renders, for example one per clip of a Clips plan or one per row of a List, the badge shows one summary: Ready to render, or the number of failing renders. Click it to see each failing render and its issues.
When the node before Apply EDL has not run yet, the panel says so and offers Run up to here. It runs the nodes before Apply EDL without rendering, so you can read the plan, and the badge can check it, before you pay for the render. Run up to here is also in the node's right-click menu.
Replace with Speaker View
Apply EDL draws one camera at a time, full frame. When the badge's issues include a layout or a crop, such as the layout hints that Camera Switch writes, the badge offers Replace with Speaker View. After you confirm, the node is replaced in place by a Speaker View node, as one undo step. The EDL and Transcript connections and the outputs move to the new node, and Quality carries over. The Sources connections are dropped, because Speaker View reads the media from the EDL's own URLs. A published app's inputs and outputs follow the node.
The swap is refused for an Audio only render, because Speaker View renders video only, and for an edit whose cameras come from the Sources connection. The Speaker View panel offers Back to Apply EDL to swap back.
What an EDL contains
An EDL has two parts:
- Sources are the media the edit draws from. Each source has a URL, and it can have a role.
- Segments are the pieces of the edit, in playing order. Each segment names a source and a time window, in milliseconds, on the edit's master clock.
The joins between segments are hard cuts or crossfades. A video render needs a picture source on every segment. The MCP tools page describes the apply_edl tool, which takes the same EDL.
How the edit is rendered
- Segment order is the timeline. The node never sorts segments. An edit may go back to earlier parts of a source, for example to switch between cameras or to reorder clips.
- Cuts and crossfades. At a cut, two segments meet end to end. At a crossfade, they overlap, so the finished cut is shorter than the sum of the segments by the total crossfade time.
- Master audio. A segment that names its own
audiosource plays the sound of that source. Every other segment takes its sound from the source with the rolemaster-audio, when there is one, so a camera switch never changes the sound. Without a master audio source, the segment plays the sound of its own picture's source. A role must bemaster-audio,camera,wideorscreen. An unknown role, for example a misspelled one, is refused. - Checks before the render. The EDL is checked before any rendering starts. A missing or unreachable source, or a video edit with a segment that has no picture, is reported at once, and the message names the segment or source.
- Segments must fit their sources. After the sources are downloaded, each segment is checked against the real end of the track it reads. A segment that runs past its media fails the run at once, names the segment, the source and the track, and refunds the credits. A reach of up to 1 second past the end counts as rounding: the last frame holds and the sound continues as silence, so the cut keeps its exact length.
- Long edits have no gaps. A long edit is rendered in pieces that are joined frame-exact and sample-exact, so there is no gap or click at any join.
- Sound stays in sync at any sample rate. Every render's sound is 48 kHz. A source recorded at another rate, such as 44.1 kHz, is resampled exactly, so its sound stays in sync with the picture across hundreds of cuts.
What Apply EDL refuses
Apply EDL renders one source per segment, full frame, with cuts or crossfades. It refuses the rest of what an EDL can describe, instead of dropping it silently:
- Layouts with several sources. A layout mode other than
single, a layout with more than one slot, or a slot that names a different source than its segment is refused. - Layout effects. A layout emphasis other than
none, or a layout transition other thancut, such aspanorzoom, is refused. - Crops. A region crop on a segment, a slot or a source is refused.
- Early segments. A segment that starts before the start of its source is refused.
The 180-minute limit
One render produces at most 180 minutes of output, measured on the finished cut after crossfades. A longer edit is refused before anything is charged, and the message names the edit's length and the limit. Split a longer programme into parts of at most 180 minutes and render each part on its own.
Long renders in a workflow
A final-quality render of a long episode can take hours. Inside a workflow, Apply EDL gets a time budget sized from its own edit, instead of the standard 90 minutes per node. The workflow's overall limit, normally 120 minutes, grows by the same amount. If the service restarts during a render, the resumed run reconnects to the render that is still in progress. Cancelling the run stops the render at its next piece.
A piece that stops making progress, with no new output and no work for about 30 seconds, is stopped and rendered again. This happens at most three times in all, within that piece's own time allowance. If every attempt stalls, the render fails and says so. A piece that is only slow is never stopped. Speaker View renders its pieces the same way.
Preview and Render final
A Preview is the same edit for review, cut on the same frames as the final:
- The picture is scaled down to at most 720p, keeping the aspect ratio, and encoded faster, at the final's frame rate.
- The sound is lighter mono, at the final's exact timing. Speech plays as loud as in the final. A Preview of an Audio only render is mono too, so render the final for delivery.
- A Preview is always private. It never appears in the public gallery. It is labeled Preview on the node, in Latest Results, in the Executions tab and in My Library. The label stays when you switch the node to Final.
While the node shows a Preview, it carries a Render final button. Render final is also in the right-click menu of the render and of the Edit Plan behind it. It renders this run at Final only, then runs every node after the render. The node keeps its own Quality, so Run keeps making Previews. The Edit Plan does not run again: the render reads the saved plan with your review applied. A Camera Switch between the Edit Plan and the render runs again first, and is billed again.
Render final always asks first. The confirmation shows the price at the final rate, with one row per node that runs, and lists the nodes that keep their saved results. Before anything is billed, Render final saves your changes and checks the render's rule. It stops with A newer run finished when a run finished that the canvas does not show, and it asks before it re-renders exactly what the last final was made from.
When the Preview on show came from a run of the workflow on the server, such as Run, Run from here or a continued run, Render final continues that run. A run continued after a failure then knows that its Preview's final is done. This happens only while every node that feeds the final still holds what that run handed on. When anything differs, for example you ran a node again on its own, replaced its take or edited an input, Render final is a plain run of the render and the nodes after it, from the saved workflow.
On Nodaro Cloud, a run does not stop at a Preview. The nodes after the render run on the Preview in the same run, and Render final runs them again on the final. To skip the review, set Quality to Final — no review step.
Review cut
An Apply EDL node fed by an Edit Plan in Tighten mode carries a Review cut button. For a Clips plan, it reads Review clips. The review opens at this render, where you can hear and change the cut, and render from the same screen. See Reviewing a cut.
A run that would run the Edit Plan again asks first, with the message "Re-running replaces your edits", and says what is lost: the spans you restored and dropped, or the clips you dropped and the hooks you edited.
Credits
Apply EDL is priced per started minute of rendered output, at the rate of the render's Quality, with a minimum of 1 minute. The length is measured on the finished cut, after crossfades shorten it.
- Final: 11 credits per started minute.
- Preview: 2 credits per started minute, for a video render and an audio-only render alike.
A Preview and its final are two separate renders, each billed at its own rate. A render that runs once per clip bills each clip at its own length, so 8 clips of 90 seconds bill 2 minutes each.
| Rendered length | Minutes billed |
|---|---|
| 40 seconds | 1 |
| 3 minutes 10 seconds | 4 |
| 12 minutes | 12 |
The estimate before you run
The cost on the node, on the Run button and in the run confirmation is an estimate on the high side, at the rate of the node's Quality. You are always charged for the length of the cut that is actually rendered, computed from its EDL.
- The estimate is exact when the cut already exists: when the EDL is set on the node itself, or when you run only this node, which renders the plan already on the canvas.
- An Edit Plan that plans again in the same run is estimated from the recording, because the new cut does not exist yet. Tighten is priced at the full length of the episode. Clips is priced at twice the target clip length for each clip, times the number of clips. Without a target length, 90 seconds is assumed, and without a clip count, 8 clips. Nodes fed from the render with an Each connection, such as Add Captions, are counted once per clip.
- Trailer is priced at 40 seconds, the longest trailer the plan cuts, and never more than the episode. That is one minute of render. A node after the render that is priced by length is estimated on those 40 seconds, for example Combine Videos, Trim Video, Loop Video or Video SFX. Render final is quoted on the trailer the run cut, with your review edits. When your review edits make a trailer longer than 40 seconds, its Render final is charged on the edited length, above the listed price.
- An EDL from any other node that runs again is priced at the 180-minute ceiling.
The balance check before a run compares your balance with this estimate. See Edit Plan for how the plan itself is estimated.
Tips
- Keep hard cuts for speech. Leave Default crossfade (ms) at 0 for talking-head and podcast edits. The EDL can still ask for a crossfade at any single join.
- Review with a Preview. Render with Preview first — review, then Render final while you check the edit, at the lower preview rate. Then click Render final for delivery. A Preview's mono sound is fine for judging cuts, filler and breaths, but it is not a master.
- Tighten an episode in one node. Tighten Episode plans and renders a tightened cut of one recording, with Apply EDL as its render step.
- Use word-level transcripts for captions. Add Captions needs the transcript's words. Run Transcribe on ElevenLabs STT or Incredibly Fast Whisper, which return word timestamps. A Whisper transcript has phrases only, and Add Captions refuses it before the run, with nothing billed.
Frequently asked questions
What is an edit decision list?
An edit decision list, or EDL, is a small JSON description of an edit. It lists the media the edit draws from and an ordered list of segments, each naming which part of which source plays next.
How much does Apply EDL cost?
A Final render costs 11 credits per started minute of rendered output, and a Preview costs 2 credits per started minute. Every render bills at least 1 minute. The length is measured on the finished cut, after crossfades shorten it.
What is the difference between a Preview and a Final render?
A Preview is a fast review copy of the same cut, at most 720p with lighter mono sound, billed at a lower rate and always private. A Final is the full-quality delivery with stereo sound. Click Render final on a Preview to render the final.
How long can one Apply EDL render be?
Up to 180 minutes of finished output. A longer edit is refused before any credits are charged. Split a longer programme into parts and render each part on its own.
How do I keep captions in sync with the edited video?
Wire a Transcribe node's transcript into the Transcript input. Apply EDL outputs the transcript remapped through the cut, and Add Captions can use that transcript directly.
Can Apply EDL render only the sound?
Yes. Set Output to Audio only. The audio cut follows the same timeline as the video version of the edit, which suits podcast episodes.
Related
Edit Plan
Transcribe
Add Captions
Silence Detect
Combine Videos
Last updated on
Combine Videos
Join several video clips into one in the order you set, with more than 50 transitions, audio crossfades, seam trims and jump-free joins for continuous shots.
Assemble Narrated Video
Fit each voice take to its video clip and join the blocks into one narrated MP4. Short voices are centered, long voices slow the clip, and no voice is ever cut.