Premiere Image Output
Files an addon can actually find
- images
- written_paths_json
- primary_path
- summary_json
Let's get the honest version of the name out of the way: MKRPremiereImageOutput does not talk to Premiere Pro. It won't drop a graphic onto your timeline by itself. What it does is write your generated image to disk at a path a companion Premiere Pro addon already knows about - the "execute" half of the packet-first Premiere bridge that MKRShift_Nodes ships. The name is aspirational in a useful way: with the addon installed, this is the node that turns "I made an image" into "Premiere can see it."
What it's actually for
The Premiere lane in this pack is built around a describe-then-execute split. A planning node like MKRPremiereImageOutputPlan writes JSON that says what should happen - which file, which sequence, whether to add a new graphic or replace a clip. This node does the only part that touches the filesystem: it takes an IMAGE batch, reads that plan, and saves the frames to the asset_path the plan specifies. It returns exactly what it wrote, so a transport step (or you, manually) can hand the result to the Premiere addon.
You reach for it when your workflow ends in "these four frames need to become graphics in a Premiere sequence," and you want the file writing to follow a plan you can inspect and tweak rather than burying a path inside a Save Image node.
How it works
The runtime side is shared with the pack's Blender, Nuke, and After Effects output nodes - they all subclass the same image-output runtime. run parses the image_output_plan_json string, pulls asset_path (and apply_mode, image_role for the summary) out of it, and writes the batch. filename_override lets you force a name when the plan's generated one isn't what you want.
Inputs and outputs that matter
images- the IMAGE tensor you're exporting.image_output_plan_json- the plan, straight fromMKRPremiereImageOutputPlan. The tooltip-free reality is that an empty{}still runs but writes without a meaningful destination, so this is not the input to skip.filename_override(optional) - override the output filename.
Outputs:
written_paths_json- a JSON array of the paths actually written.primary_path- the first written file. This is the one to wire into a transport plan or copy node.summary_json- host, apply mode, image role, count, and any warnings.
Installing it
MKRShift_Nodes installs like any pack: ComfyUI Manager → search MKRShift_Nodes → Install → restart, or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
then restart ComfyUI. There's no requirements.txt to fight with - the pack uses what ComfyUI already ships. This specific node is plain PIL + JSON, so it works without ffmpeg installed (the video and audio nodes in the pack are the ones that need it).
Common issues
The biggest trap is treating this node as if the plan is optional. Feed it MKRPremiereImageOutputPlan's image_output_plan_json output, not an empty string, or you'll get files saved to the default output folder with no idea which clip they were meant for. The other thing to know: this node only writes - the actual placement in Premiere (new graphic, replace clip, bin import) is the addon's job on the other side of the bridge. If nothing appears in your sequence, the gap is almost always between the written path and the addon watching for it, not in the node itself.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| image_output_plan_json | STRING | {} | — |
| filename_overrideopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| written_paths_json | STRING | — |
| primary_path | STRING | — |
| summary_json | STRING | — |