Magnific Stock Picker
Search stock media from inside the graph
- folder
- image
- info
Stock photography as a node. Type a query, get a grid of results, click one, and it lands on an IMAGE socket ready to feed the rest of your graph.
It's a bridge node, and the bridge is less exotic than it sounds: this is the same stock library that Magnific's web app searches, exposed as a ComfyUI source. Where it's actually useful is the mundane workflow it removes - dowload a photo, drag it in, find out the resolution is wrong, resize it. Here you pick it and wire it.
What you set
query is the search text. Then four filters, all of which default to any: content_type (any, photo, vector, illustration, psd, design), license (any, free, premium), orientation (any, portrait, landscape, square, panoramic) and ai_generated (any, only, excluded).
That last one is the filter worth noticing. Two years ago "is this stock photo AI" was a question nobody asked; now it's a dropdown, and being able to exclude AI-generated results is a real capability for work where that matters - a comp that has to sit next to real photography, or anything with a client who'll ask.
selected is set by clicking a thumbnail in the results grid. Don't type into it.
folder is optional, and it does something slightly different from the other Magnific nodes: it doesn't choose where a generation is filed, it saves the stock item you picked into that Magnific project/folder. Wire it from Magnific Save To when you want the asset kept on Magnific's side rather than only in your graph.
Outputs are image and info. The info string carries the item's details - treat it as the receipt, because the image arriving as an IMAGE loses whatever the source file had attached to it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Code2Collapse/ComfyUI-CustomNodePacks.git
Or install "CustomNodePacks" from ComfyUI Manager, then restart. The Magnific family is ported into this pack from Magnific's vendor pack magnific-comfyui 0.7.0, so a pack install covers it - don't also install the vendor zip, or you'll end up with duplicate node names fighting for the same menu entries. Sign in via the Magnific menu or the Magnific Save To node; credentials live in ~/.magnific/comfyui_auth.json and stay out of the workflow.
If the results grid comes up empty or unpopulated, that's nearly always the session - sign in, then press R on the node to refresh.
The licensing thing, which is the actual point
You can filter for free versus premium, and you should use it deliberately rather than leaving it on any and hoping. Stock licences differ on the things that bite: commercial use, model releases for recognisable people, editorial-only restrictions, and whether resale or redistribution is allowed. A stock photo you drop into an AI composite and then sell is exactly the scenario those terms care about, and the node can't read them for you.
So: check the licence on the item itself before it ends up in something commercial. The info output and the picker's own details are where that starts.
Where it fits
Mostly it's for comps, backgrounds, and plates - the parts of a composite where you want reality rather than a generation. Dropping a real photograph behind a generated subject solves a class of "everything looks slightly plastic" problems in one move, and having the library one click from the graph is what makes that a habit rather than a chore.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| query | STRING | β | |
| content_type | COMBO | photo | 6 options: any, photo, vector, illustration, psd, design |
| license | COMBO | any | 3 options: any, free, premium |
| orientation | COMBO | any | 5 options: any, portrait, landscape, square, panoramic |
| ai_generated | COMBO | any | 3 options: any, only, excluded |
| selected | STRING | Set by clicking a thumbnail in the results grid. | |
| folderopt | MAGNIFIC_FOLDER | Optional: also save the stock item to this Magnific project/folder. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |
| info | STRING | β |