Save Text File To Output (Soze)
Write a string to disk, no fuss
Sometimes you've got a STRING sitting in your graph that's worth keeping - a caption a vision node produced, a prompt log, a running JSON blob, whatever config a run actually consumed - and you just want it on disk. That's the whole job here: take input_string, write it to a file, done. No formatting, no validation, no parsing. It's the terminal node you reach for once your string is already exactly what you want saved.
How it works
You give it the text, a path, and an extension; it writes the file. overwrite_file controls what happens if something's already sitting at that path - flip it on if you want every run of the same workflow to stomp the previous output, leave it off if you're accumulating separate files across runs (which usually means your filename_path needs to be unique per run too - this is exactly what pairing it with Output Filename's date-token support is for).
The inputs and outputs that matter
input_string(required) - the text getting written.filename_path(required) - where it goes. Don't put the extension in here; that's a separate field.file_extension(required, defaulttxt) - appended to the path. Since this node just dumps a raw string, nothing stops you setting it to.json,.log,.md, or anything else - it's your responsibility to make sureinput_stringis actually formatted like what the extension claims it is.overwrite_file(required, BOOLEAN, defaultfalse) - replace vs. don't-touch behavior when the target already exists.
There are no outputs - this node is flagged is_output_node, so it's a dead end in the graph by design. Don't go looking for a socket to wire onward; if you need the path again downstream, keep it available from whatever node built it (Output Filename, for instance) rather than expecting this node to hand it back.
How to install it
ComfyUI Manager → search "ComfyUI_Soze" → install → restart, or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt
No model downloads, no heavy dependencies - this is plain file I/O.
Common issues & troubleshooting
The most common surprise is expecting a socket that isn't there - because it's an output node with no return value, chaining anything off it (like a "did this save?" gate) isn't possible directly. If you need confirmation the write happened, that has to come from elsewhere in your workflow logic, not from this node's output.
overwrite_file off doesn't mean "queue up versions automatically" - it means don't-overwrite, and the schema doesn't spell out whether that fails loudly, silently skips, or errors the run. If your file isn't updating and you expect it to be, check that flag first before assuming something else broke.
Finally, a raw-write node like this generally expects the destination folder to already exist - it's writing a file, not creating a directory tree. If you're pointing it at a nested path that's never been used before, create the parent folder once by hand (or via whatever automation you're already running) before trusting a fresh path pattern in production.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| input_string | STRING | — | |
| filename_path | STRING | — | |
| file_extension | STRING | txt | — |
| overwrite_file | BOOLEAN | false | — |
Outputs (0)
No outputs