RSS Feed Reader
Turn your RSS feed into live news prompts
- script_output
The idea behind RSS Feed Reader is neat in a slightly unhinged way: instead of typing a prompt by hand, you point it at a news feed and it writes the prompt for you, fresh from whatever your favorite outlet just published. You wire it into a CLIP Text Encode node and your positive prompt literally becomes "here's what's in the news." It's the kind of node you build because you can, then discover is either a surprisingly fun way to autopilot topical images or a gimmick you disable after a week. Both are legitimate.
It's also the whole pack. One node, one input, one output, ~50 lines of Python. No API key, no model downloads, no heavy dependency. For a "Data Fetching" category node, it's about as minimal as it gets.
How it works
The node runs every RSS/Atom feed through Python's feedparser library and flattens it into a text blob. For each entry it appends Title: ... and Description: ... lines, prefixed with a News Update: header. That string is your output. Under the hood that's the whole mechanism - fetch, parse, format, return. feedparser is pure Python and handles RSS 2.0, Atom, and just about any syndication format you can throw at it, so it's not just "the feed must be RSS" - the name undersells it.
The inputs and outputs that matter
There's exactly one input worth knowing about:
feed_url- a single-line string, the only thing this node asks for. Drop in a feed URL likehttps://www.theverge.com/rss/index.xmlorhttps://hnrss.org/frontpageand hit queue. That's it; there are no optional inputs hiding anywhere.
The single output, script_output (a STRING), carries the assembled text. Wire it straight into the text input of a CLIP Text Encode (Prompt) node and it becomes your positive prompt, or into any other node that accepts a string if you want to mangle it first. Note the node sets dynamicPrompts: False in the schema, so don't expect {wildcards} or seed randomization to do anything here - the output is just static text from the feed.
Installing it
Grab it through ComfyUI Manager (search "RSS Feed Reader" or the repo name), or clone it the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/BAIS1C/ComfyUI_RSS_Feed_Reader
Then restart ComfyUI. The only dependency is feedparser, which the requirements.txt installs for you - a refreshingly light install in a world where most custom nodes drag in a whole ML stack. No models, no weights, no CUDA anything.
Where people get burned
The default feed_url is http://example.com/rss, which doesn't actually serve a feed - leave it and you'll get a string that's just News Update: with zero entries. Replace it before you queue. Also be aware the fetch is synchronous: a slow or dead feed stalls that execution step until it times out, so a flaky feed source will make your whole workflow feel hung. And many feeds include HTML in their descriptions, which lands in your prompt as raw markup - so keep an eye on what a particular feed's description field actually contains before you build a whole workflow around it.
The README is one line long and the author (Sean Uddin, GitHub BAIS1C) even notes confusion about why their name doesn't attach to the node in ComfyUI - it's a small, semi-unofficial project, and the CC BY-NC 4.0 license means no commercial use without permission. Keep that in mind if "commercial" is in your plans.
Honestly? If you want fresh prompts from the web, this is a serviceable quick win, and it's the only thing the pack does - so there's no bloat to fight. But a 50-line node writing prompts from news headlines is a niche you'll likely outgrow. For most people it's a fun afternoon experiment more than a daily-driver workflow.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| feed_url | STRING | http://example.com/rss | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| script_output | STRING | — |