Dream Journal Entry
Actually save your dream notes from inside ComfyUI
- markdown
- structured_json
- saved_path
Most ComfyUI graphs end in a picture. Dream Journal Entry is the one that ends in a note. It takes whatever you've typed about a dream - text, a reflection, a mood, some tags - and turns it into a clean, timestamped Markdown document plus a structured JSON version. Flip save_to_output on and it actually writes the .md file to disk under ComfyUI's output folder. It's the natural endpoint of a reflection graph: prompt builder and motif tagger feed it, and out pops something you could read back next week.
This is the pack's "we're not doing anything weird" node in a good way. The whole pack deliberately backs away from the "interpretation" its name once promised - the original 2024 version of this project was a fun LLM-driven dream explainer, and v3.0.0 replaced that with deterministic, offline tooling that makes zero psychological claims. Every journal entry carries a plain disclaimer: personal creative reflection, not clinical anything.
How it works
Pure string assembly, plus a small filesystem safety layer. It stamps the entry with the current local time, builds the Markdown and a JSON object (schema comfyui-dream-journal/v1, with created_at, title, dream, reflection, mood, tags), and - only if you ask - writes the file.
The file writing is where the code earns a little respect. The filename_prefix is sanitized (anything that isn't alphanumeric, dot, underscore or dash becomes an underscore), the output path is forced to stay inside ComfyUI's output directory, and a timestamp is appended so you never overwrite a previous entry. Path traversal gets rejected outright. No network, no model, nothing to download.
The inputs that matter
- title, dream_text, reflection - your actual notes; dream_text and reflection are multiline boxes.
- mood - a free-form string, so feed it whatever you like.
- tags - comma-separated. This is where the pack's Dream Motif Tags output (
comma_tags) plugs in to autopopulate. - save_to_output (default off) - the switch that actually writes the file.
- filename_prefix (default
dream_journal/dream) - subfolder + stem. The default saves tooutput/dream_journal/with filenames likedream_20260818_...md.
The three outputs are markdown (the rendered document as a string), structured_json, and saved_path - the absolute path of the file if you saved it, or an empty string if not.
Installing it
Same pack for all seven nodes - ComfyUI Manager (search ComfyUI-Dream-Interpreter) or:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-Dream-Interpreter.git
python -m pip install -r requirements.txt
Restart ComfyUI. Dependencies are just numpy and Pillow; the node sits under text/dream journal.
Gotchas
The saved_path is a real path on the machine running ComfyUI - fine if that's your own box, but don't expect it to mean anything on a different machine, and be aware files only land inside the ComfyUI output directory by design. Also, save_to_output defaults to off: if you're queueing a whole batch and forgot to flip it, you get strings out but no files. That's arguably the safer default, just know it's there.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| title | STRING | Untitled dream | — |
| dream_text | STRING | — | |
| reflection | STRING | — | |
| mood | STRING | — | |
| tags | STRING | — | |
| save_to_output | BOOLEAN | false | — |
| filename_prefix | STRING | dream_journal/dream | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| markdown | STRING | — |
| structured_json | STRING | — |
| saved_path | STRING | — |