Dream Motif Tags
Tag your dream text without a language model
- comma_tags
- tag_report_json
Dream Motif Tags reads your dream text and returns a small set of descriptive tags - water, flight, threshold, pursuit, home, nature, transformation, cosmic - based on plain keyword matching. No language model, no network call, no GPU, no API key. It's the fastest "what themes are in this text?" answer you can get inside a ComfyUI graph, and it's deliberately dumb about it, which is the point.
Worth saying up front: this node is named to disappoint you on purpose. The pack dropped the "interpretation" ambitions its 2024 ancestor had (that version leaned on an LLM to spin dream meanings). The modern one is adamant that motif labels are descriptive organizational keywords, not diagnoses, not universal symbols, not Jungian archetypes with authority behind them. The tag_report_json output literally carries a disclaimer saying so. You get a filing system, not a fortune teller.
How it works
There are eight motif buckets, each with a short list of trigger words. water matches ocean, sea, river, rain, water, flood, lake; flight matches fly, flew, flying, floating, wings, sky; and so on. The node lowercases your text, tokenizes it, counts how many times each trigger word appears, ranks the motifs by score (ties broken alphabetically), and returns the top ones up to max_tags. Deterministic to the byte - same text, same tags, forever. That makes it usable as a stable labeler for organizing entries, not a source of surprises.
Inputs and outputs
Two inputs, both obvious: dream_text (multiline) and max_tags (1…32, default 8 - the cap on how many tags come out).
- comma_tags - a plain
water, flight, homestring. This is the one you actually use: wire it straight into Dream Journal Entry'stagsinput and your journal entries get auto-tagged. - tag_report_json - a JSON string with the ranked tags and the matched keyword counts per tag, so you can see why it tagged something. Handy when a tag looks wrong and you want to check the evidence.
Installing it
Shared with the whole pack - 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. numpy and Pillow are all it needs. The node lives under text/dream journal.
Gotchas
It's exact-token matching with zero semantic cleverness. "water" won't match "waterfall" (that's a different token), "sun" won't match "sunrise," and a word like "house" only fires home if it appears literally. If your tags feel sparse or a bit off, that's the trade-off for something this fast and private - either enrich your text or treat the tags as a starting point and edit the comma list before it hits the journal. And since it never rewrites your words, there's no hallucination risk. For a creative-organizing utility, that's worth a lot.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| dream_text | STRING | — | |
| max_tags | INT | 81–32 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| comma_tags | STRING | — |
| tag_report_json | STRING | — |