Nodes/MKRShift_Nodes/Maya Image Output
ComfyUI Node

Maya Image Output

The node that finally writes the images to disk

By criskb·Created 7 months ago·Updated 5 months ago· 0
Maya Image Output
  • images
  • written_paths_json
  • primary_path
  • summary_json
image_output_plan_json{}
filename_override

The write half of the Maya roundtrip

If MKRMayaImageOutputPlan is the plan, this is the execution. MKRMayaImageOutput takes the images you generated, reads the plan JSON that says where they should go, and writes them to disk. No live Maya connection, no API - it makes files, and the pack's Maya add-on picks them up from the asset_path you planned. Simple, deterministic, auditable.

It's part of MKRShift_Nodes, the DCC-bridge pack by Cris K B, and it's one of a family of identical runtime nodes (MKRBlenderImageOutput, MKRNukeImageOutput, MKRPhotoshopImageOutput, …) sharing the same _BaseHostImageOutputRuntime base. Same behavior across every host.

How it works

Two required inputs: images (a standard IMAGE batch - one frame or a whole batch) and image_output_plan_json (the plan string from MKRMayaImageOutputPlan). The node parses the plan, reads the asset_path and optional role/mode fields, writes each image in the batch to disk, and reports exactly what happened.

There's one optional input: filename_override. Normally filenames come from the plan's asset path; if you pass this, it replaces the filename portion. Handy when you're re-running the same plan with different outputs and don't want to rebuild the plan each time.

The outputs

Three strings:

  • written_paths_json - a JSON array of every path actually written, plus the plan that was used. This is your audit trail.
  • primary_path - the first path, as a convenience string so you can wire the result into a filename or manifest node without parsing JSON.
  • summary_json - host name, apply mode, image role, count, primary path, warnings.

That written_paths_json output is the one you'll actually care about if you're building a delivery manifest - it's literally the list of files this node created, ready to feed a manifest node or a handoff document.

Install and gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes

Restart, or install "MKRShift Nodes" via ComfyUI Manager. No pip deps, no models, no ffmpeg.

Where it bites: the node will happily write into whatever directory the plan says, so a plan with a bad or empty asset_path is how you get files dumped somewhere you didn't intend. Get in the habit of feeding it a plan fresh from MKRMayaImageOutputPlan - don't hand-roll the JSON unless you're sure. And filename_override only overrides the name, not the directory. If you expected to control the full path from the runtime node, that's the plan node's job, and it's doing it.

CategoryMKRShift Nodes/Addons/Maya

Inputs (3)

NameTypeDefaultDescription
imagesIMAGE
image_output_plan_jsonSTRING{}
filename_overrideoptSTRING

Outputs (3)

NameTypeDescription
written_paths_jsonSTRING
primary_pathSTRING
summary_jsonSTRING