π€ CR Save Text To File
Write prompts or captions out to a .txt/.csv
- show_help
CR Save Text To File does exactly what it says: takes text and writes it to a file on disk, as .txt or .csv. It's a terminal node - the end of a branch, not something you wire onward - and it's the counterpart to CR Load Text List. Generate or assemble some text in your graph, then persist it so you can reuse it, version it, or feed it back in later.
The practical uses are logging and export. Save the prompt that produced a good image alongside it. Export a list of captions or tags you built up in the workflow. Dump a wildcard set to a file so the next run can load it. Anywhere the text is a deliverable and not just an intermediate, this is how it leaves the graph.
How it works
You give it the text, a folder, a file name, and an extension, and it writes the file. That's the whole operation. It's marked as an output node, meaning it's a leaf - running the graph triggers the write, and there's no data output to chain from (just a show_help string that isn't part of your pipeline). Think of it like a Save Image node, but for text.
The inputs and outputs that matter
multiline_text- the text to write. Wire it from a CR Text, a Combine Prompt, or any string source, or type it in.output_file_path- the destination folder. A directory.file_name- the base name, without the extension.file_extension(txt / csv) - the format.
Output:
show_help- a wiki link. There's no text or data output; this node's job is the side effect of writing the file.
How to install it
Comfyroll Studio (Suzie1 and RockOfFire), a mature utility pack - no models, no heavy dependencies.
- ComfyUI Manager - search Comfyroll Studio, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git, then restart.
Also on CivitAI.
Common issues
The gotchas here are all about the filesystem. The target folder needs to exist and be writable by the ComfyUI process - point it at a directory that isn't there and the write fails. Keep the extension out of file_name (the file_extension field supplies it), or you'll get a doubled .txt.txt. And be aware of overwrite behavior: saving repeatedly to the same name can clobber the previous file, so if you're logging across runs, vary the name.
The big one for hosted or serverless ComfyUI: writes land wherever the server runs, not on your machine, and on an ephemeral serverless container that filesystem may not persist after the run ends - so an arbitrary local path won't do what you expect, and files can vanish when the container spins down. If you need the output to survive, write somewhere the platform actually keeps, or treat this node as local-only.
And if it doesn't show up at all, that's the pack load failure: Comfyroll Studio: Failed to load ... with NameError: name 'CR_HalftoneGrid' is not defined in the log. The NameError is a symptom of a real import error (usually an incompatible Pillow version from another node) that can down the whole pack. Reinstall Pillow (pip install --upgrade --force-reinstall pillow) and restart.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| multiline_text | STRING | β | |
| output_file_path | STRING | β | |
| file_name | STRING | β | |
| file_extension | COMBO | 2 options: txt, csv |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| show_help | STRING | β |