Maya Image Output
The node that finally writes the images to disk
- images
- written_paths_json
- primary_path
- summary_json
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.
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 | — |