Nodes/ComfyUI-CustomNodePacks/Magnific Stock Search
ComfyUI Node

Magnific Stock Search

Licensed stock photos, pulled straight into your graph

By Code2CollapseΒ·Created 8 months agoΒ·Updated a day agoΒ· 58
Magnific Stock Search
  • folder
  • image
  • info
β—„queryβ–Ί
β—„content_typephotoβ–Ί
β—„licenseanyβ–Ί
β—„orientationanyβ–Ί
β—„ai_generatedanyβ–Ί
β—„selectionindexβ–Ί
β—„result_index0β–Ί
β—„range_from0β–Ί
β—„range_to9β–Ί
β—„seed0β–Ί

What this is, honestly

Nothing here runs on your GPU. This node searches Magnific's stock library and hands you one result as a plain IMAGE, so a photo you did not generate can sit in the same graph as your LoRA stack, your ControlNet and your upscaler. It works because it is talking to your Magnific account over their MCP endpoint (https://mcp.magnific.com) - the same edge Magnific's own editor plugins use. No account, no images.

That framing matters more than the filter list. The KB's chapter on API-wrapper nodes applies in full: you are trading a per-item licence and a per-call cost for convenience, and your query leaves the machine.

How it works

You type a query, it pages the catalog (20 hits at a time), and it keeps only the results that can come back as a bitmap. Vectors, PSDs and "designs" are rendered to JPG on download; icons and video have no image surface at all and are skipped entirely. Then it downloads the one you asked for and loads it as a batch.

The index math is worth understanding, because it explains a surprise: the index counts image-capable hits, not raw results. The code walks pages accumulating usable items until it has more than your target index, so result_index = 3 means "the fourth thing I could actually use", even if page one was half video.

The inputs you'll actually touch

  • query - the search string. Empty raises a hard error.
  • content_type (any, photo, vector, illustration, psd, design), license (any, free, premium), orientation, ai_generated (any / only / excluded). These are the catalog's own filters; any genuinely means unfiltered and is the default for most of them.
  • selection - index takes result_index; random picks uniformly between range_from and range_to (both inclusive, 0–9 by default, i.e. the first ten hits).
  • seed - drives that random pick. Randomize it and each run is a different stock photo; pin it and you can reproduce the one you liked. That is the author's own tooltip, and it is the right way to use it.

The optional folder input is a Magnific project/folder from a Magnific Save To node. Leave it unconnected and the item lands in your Personal project anyway - connecting it means the download is also filed where you keep the rest of your Magnific work.

Outputs

image is the picture. info is a numbered listing of everything the query matched, with a > marker on the line you got, plus a note when the range only had a few usable results - handy when you want to change result_index and re-run instead of re-searching.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/Code2Collapse/ComfyUI-CustomNodePacks.git

Or ComfyUI Manager β†’ search "CustomNodePacks". Restart and confirm the console line:

[C2C] CustomNodePacks: 142 nodes loaded (...) - 0 failed

The Magnific half of this pack is a port of Magnific's own ComfyUI plugin (the vendor declares it UNLICENSED), so do not also install comfyui-magnific - both register the same fifteen node IDs and ComfyUI keeps whichever loads last, which makes for confusing "my dropdown is empty" reports.

You also need to sign in: ComfyUI menu β†’ Magnific β†’ Sign in. It is a device-code flow, so you approve in a browser and the token lands in ~/.magnific/comfyui_auth.json. Your password never touches ComfyUI.

For the rest of the pack, resist pip install -r requirements.txt done blind - ComfyUI ships its own torch and numpy, and overwriting them is a bad afternoon:

pip list | grep -i "opencv\|scipy\|safetensors"
pip install opencv-python>=4.7.0 scipy>=1.10.0 safetensors>=0.4.0

Where people get burned

  • Not signed in and the node errors with the sign-in message. Fix it in the menu, then press R in ComfyUI to refresh node definitions before retrying.
  • "No usable stock image results" - the filters are too tight, or content_type is any and the query is full of video and icons. Set content_type to photo and search again.
  • Index out of range. It clamps to the last usable result and says so in info, so you get a picture rather than an exception - but it may not be the one you wanted.
  • Credits. Downloads and project saves go through your metered Magnific account. Random-picking across 200 prompts is an easy way to find out what your plan costs.
  • Licence. license = free is the filter you want for anything public. "It came from a stock library" is not a licence - check the item.

One last thing about provenance: this pack comes from u/kyahinaamrakhe-1, a working compositor who announced it on r/comfyui in May 2026 at 72 nodes - it has since doubled. The Magnific half is its newest and most vendor-dependent corner.

Category🐺 C2C/🧰 Core/Magnific

Inputs (11)

NameTypeDefaultDescription
querySTRINGβ€”
content_typeCOMBOphoto6 options: any, photo, vector, illustration, psd, design
licenseCOMBOany3 options: any, free, premium
orientationCOMBOany5 options: any, portrait, landscape, square, panoramic
ai_generatedCOMBOany3 options: any, only, excluded
selectionCOMBOindexindex = take result_index; random = pick between range_from and range_to.
result_indexINT00–999Used when selection = index.
range_fromINT00–999Random range start (0 = first result).
range_toINT90–999Random range end, inclusive β€” first 10 results by default.
seedINT00–4294967295Drives the random pick: randomize for a different item per run, fix it to reproduce one.
folderoptMAGNIFIC_FOLDEROptional: also save the stock item to this Magnific project/folder.

Outputs (2)

NameTypeDescription
imageIMAGEβ€”
infoSTRINGβ€”