Nuke Read Output
Writing your render where the Read expects it
- images
- written_paths_json
- primary_path
- summary_json
MKRNukeReadOutput executes a Nuke read plan by writing your generated images to the exact path that plan describes. It's the runtime half of MKRNukeReadPlan, and it's about as direct a node as this pack gets: parse the plan, save the pixels, report where they landed. The Nuke side then picks that file up as a Read node or sequence reference.
If you've already read about MKRNukeImageOutput, you know the drill - this is the same "plan → output" split, just aimed at the "put stuff back as a Read" lane rather than a general image handoff. The distinction matters for organizing your graph: image-output plans tend to be about plates and look-dev stills; read plans are about the literal Nuke Read node you're feeding. The node reads the plan's asset_path (or an asset dict's path), makes sure the directory exists, and writes each frame. A batch becomes a numbered sequence, exactly what a Nuke Read with a %04d frame pattern wants.
The inputs
- images - your IMAGE tensor. One frame → one file; a batch →
stem_0000.ext,stem_0001.extand so on. - nuke_read_plan_json - the plan from MKRNukeReadPlan. That's where the node gets its target path, node name, colorspace, and frame mode. Feed an empty
{}and it will write somewhere with a warning rather than hard-fail. - filename_override (optional) - beats the plan's path. Handy mid-iteration when you don't want to rebuild the plan.
The outputs
- written_paths_json - all paths written plus the plan that drove it.
- primary_path - the first path. Wire this into any node that wants "the file that just got made" as a string.
- summary_json - host, schema, target name, file count, warnings. Your first stop when something doesn't show up in Nuke.
A practical pattern
For a stills-to-Read roundtrip: MKRNukeReadPlan (set asset_path to your shared render folder, frame_mode to single for one image or sequence for frames, node_name matching the Read you're refreshing) → MKRNukeReadOutput → Nuke bridge panel. The manifest_line from the plan side is meant to be collected so a later review or delivery node knows exactly which file became which Read.
Installing and gotchas
This is one node in the MKRShift Nodes pack, so install is the pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
then restart ComfyUI, or use Manager and search "MKRShift". No requirements.txt, no downloads, no GPU-heavy work - just a PNG write.
The traps are path-based, not code-based. If the file isn't showing up in Nuke, the path isn't shared, or the frame pattern on the Nuke side doesn't match what the node produced (_0000 suffixes included). And one honest caveat: this node writes flat PNGs. If your pipeline needs EXR or 16-bit depth for compositing, this handoff lane will happily write them as PNG and warn about the suffix - the pack's bridge is aimed at speed and iteration, not deep-format delivery.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| nuke_read_plan_json | STRING | {} | — |
| filename_overrideopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| written_paths_json | STRING | — |
| primary_path | STRING | — |
| summary_json | STRING | — |