LoadImage_Text
A Load Image node that takes any path you type — and drops the mask output
- IMAGE
LoadImage_Text swaps the stock Load Image node's "pick a file from your input folder" selector for a plain text box where you type a path. That sounds like a downgrade until you realize what it unlocks: this node will open any path your OS can open, not just files sitting in ComfyUI/input. Absolute paths, files another tool just exported, a path your script constructs at runtime - Image.open doesn't care where the file lives.
That's the genuinely useful part. Core LoadImage resolves a filename against the input folder; this one takes a raw path string. Combined with the pack's automation angle (the author's companion Chrome extension edits these text fields while you queue jobs), it means the image being processed can be chosen by something other than your mouse. Feed it "the latest screenshot this tool just saved" and the same workflow keeps working on new inputs without you touching a thing.
How it works
The code is essentially core LoadImage's loader: open with PIL, EXIF-transpose, convert to RGB, normalize to a float tensor. Two details are worth knowing.
First, it iterates image sequences. Feed it a multi-frame GIF or a multi-page TIFF and you get every frame concatenated into a single batched IMAGE tensor - a poor man's frame batch, and a nice bonus you wouldn't expect from a "text loader" node. (MPO files are excluded from this, so a stereoscopic photo won't explode into a batch.)
Second, and this is the trap: there is no mask output. Core LoadImage gives you IMAGE and MASK (the MASK being the alpha channel of a PNG). The README is explicit: "mask is invalid for this node, you should load your mask in another way." If you build an inpainting workflow here, you'll be missing half the load - the masked region never gets its mask. Load your mask separately, e.g. with the core LoadImageMask node on a dedicated PNG, and feed it into your inpainting path. Don't learn this one the hard way mid-workflow.
The input and output that matter
One input: path. Type a full or relative path to an image file. It works with whatever your system resolves - so C:\renders\last.png on Windows, /home/you/grab.png on Linux, or a relative path from where ComfyUI runs. Get it wrong and Image.open raises a FileNotFoundError, which you'll see as a node error.
One output: IMAGE. Wire it into a VAE encode for img2img, a ControlNet preprocessor, or anything else that eats images - same as the stock node.
How to install
Same dependency-free pack. No requirements.txt, no model downloads, just ComfyUI's own internals and the Pillow/numpy/torch it already has.
- Via ComfyUI Manager: search "ComfyUI_Textarea_Loaders", install, restart.
- Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Sieyalixnet/ComfyUI_Textarea_Loaders
Restart, then look under TextFormatter > BasicNodes.
Common issues
- "FileNotFoundError": path typo, or a path that was valid on the machine the workflow was built on. Because you can type arbitrary paths, a shared workflow can silently point at a file that doesn't exist on your box.
- Inpainting silently goes wrong: you expected a mask, there isn't one. Load it separately - this node simply doesn't do masks.
- When to skip it: if your images live in the input folder and you pick them by hand, the stock Load Image (with its thumbnail preview and its mask output) is the better tool. Reach for this one when the path comes from outside.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| path | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |