ComfyUI Node

EDL Export

This node writes a real CMX EDL — the file your NLE still speaks

By criskb·Created 7 months ago·Updated 5 months ago· 0
EDL Export
    • edl_text
    • edl_path
    • summary
    events_json[]
    fps24.00
    titleMKR_EDL
    save_filetrue
    filename_prefixMKR_timeline
    subfolder
    overwritefalse
    filename_label

    An EDL (edit decision list) is a forty-year-old text format that every serious NLE - Premiere, Resolve, even Avid - can still import. It's also the perfect way to hand your AI-generated cut to a human editor without shipping them a raw file. MKREDLExport takes a JSON list of timeline events and writes out a proper CMX-style EDL, optionally saving it to disk. If you've been pushing clips around with a bunch of trim/concat nodes, this is the node that turns that mess into something an editor actually opens.

    From MKRShift_Nodes, criskb's pack. Install via ComfyUI Manager (search "MKRShift_Nodes") or clone https://github.com/criskb/MKRShift_Nodes into custom_nodes/, restart. No models, no Python deps.

    How it works

    You hand it events_json - a list of dicts, each describing one event with a source clip, in/out points, and (optionally) a reel name. The node converts those seconds into timecodes at your chosen fps and emits the classic layout:

    TITLE: MKR_EDL
    FCM: NON-DROP FRAME
    001  AX      V     C        00:00:00:00 00:00:05:00 00:00:00:00 00:00:05:00
    * FROM CLIP NAME: shot_001
    

    If save_file is on, it writes the text to edl_path using filename_prefix/subfolder/overwrite (plus an optional filename_label). If it's off, you still get the full edl_text out of the STRING socket to do whatever you want with.

    Inputs worth setting

    • events_json - the whole game. Expect entries with source, start_sec/end_sec (or equivalent in/out), and reel if you care about that column.
    • fps (default 24) - must match your timeline, or the timecodes will drift and your editor will quietly hate you.
    • title - the document title, and the save_file switch is right next to it if you'd rather keep everything in the graph.

    Outputs: edl_text, edl_path, and a summary.

    The honest caveats

    This writes the CMX-style EDL, not a complex XML or an FCP XML - that's fine, it's the format with the best import support, but it's flat. No nested effects, no audio mixing. And there's no community lore on this node yet (the pack as a whole barely shows up in public discussion), so treat it as a straightforward utility: feed it correct timestamps, get a correct EDL. Check the timecode math once before you hand it to an editor - garbage in, "your timeline is corrupt" out.

    CategoryMKRShift Nodes/Media/IO

    Inputs (8)

    NameTypeDefaultDescription
    events_jsonSTRING[]
    fpsFLOAT24.001–240
    titleSTRINGMKR_EDL
    save_fileBOOLEANtrue
    filename_prefixSTRINGMKR_timeline
    subfolderSTRING
    overwriteBOOLEANfalse
    filename_labeloptSTRING

    Outputs (3)

    NameTypeDescription
    edl_textSTRING
    edl_pathSTRING
    summarySTRING