Nodes/ComfyUI_IndustrialMagick/Industrial Magick Image Loader
ComfyUI Node

Industrial Magick Image Loader

Turn graph tensors into a file path ImageMagick can read

By my-opencode·Created 2 years ago·Updated 2 years ago· 1
Industrial Magick Image Loader
  • image
  • image_path

This node exists because ImageMagick doesn't eat tensors. The "Industrial Magick Image Loader" (the AKA in the README, and the honest name) takes the IMAGE still living in your graph, writes it to a temporary PNG on disk, and hands you back the absolute file path as a string - which is exactly what its big sibling, the Industrial Magick node, needs to do anything useful.

Why this node has to exist

Here's the mismatch it bridges. ComfyUI's whole world is in-memory tensors: you VAE-decode and an image is just a wire you can drag into the next node. The main IndustrialMagick node, though, shells out to the magick CLI, and the command line works on files, not tensors. Somebody has to convert. Without this loader you'd be manually saving your output and typing a path by hand every single run - which is what the pack was built to spare you. That's the whole job, and it does it in one shot.

How it works

Under the hood it's about as simple as a node gets. On execution it loops over the incoming batch, saves each frame as a PNG into ComfyUI/temp with a timestamped ImageMagick_<time>.png name, and returns the last frame's path. One input, one output:

  • image (IMAGE) - anything that produces an image tensor: a VAE decode, a Load Image, an upscale result.
  • image_path (STRING) - the absolute path to the just-saved temp file.

Typical wiring: VAE decode → Industrial Magick Image Loaderimage_pathparam_1 of an Industrial Magick node, then follow it with -rotate, -resize, -threshold, whatever the job needs. The path is a plain string, so it also wires into any text node if you want to see or log where the file landed.

Installing

Install is shared with the rest of the pack, and it's worth repeating the twist: no Python dependencies at all, no models, nothing to pip. The one real requirement is the ImageMagick 7 binary itself, because this node just saves a file - it's the main node downstream that needs magick on your PATH. Grab it from imagemagick.org, then either use ComfyUI Manager (search "Industrial Magick") or:

cd ComfyUI/custom_nodes
git clone https://github.com/my-opencode/ComfyUI_IndustrialMagick

…and restart ComfyUI.

Things worth knowing

Three things worth knowing before you rely on it:

  • It returns only the last frame of a batch. Feed it a stack and you get one path back. If you're doing frame-by-frame magick work, feed frames one at a time or you'll only ever touch the final frame.
  • The temp files pile up in ComfyUI/temp, not your output folder - most ComfyUI setups wipe that directory on restart, so don't treat anything there as durable output. If you want to keep a result, use the main node's last_param_is_save_path and save where you actually want it.
  • If the chain dies with a FileNotFoundError or a red node further down, it's a PATH problem, not this node's fault. That means ImageMagick 7 isn't installed or magick isn't reachable from the ComfyUI process - see the main node's article for the Windows "Add to PATH" checkbox and the ImageMagick 6 vs 7 Linux gotcha.

It's a one-purpose utility node and proud of it. There's nothing clever to configure and nothing to break - if you're using Industrial Magick at all, you'll want this sitting in front of it.

CategoryIndustrialMagick

Inputs (1)

NameTypeDefaultDescription
imageIMAGE

Outputs (1)

NameTypeDescription
image_pathSTRING