Magnific Upscale Video
Three paid video upscalers behind one dropdown
- video
- folder
- video
- creation_identifier
- metadata
What it is
Video upscaling is the one upscaling job nobody has settled, and this node is the "just pay someone" answer to it. It takes a VIDEO, uploads it to Magnific, and returns a bigger VIDEO. Three engines live behind the mode dropdown: Magnific's own upscaler, its precision variant, and Topaz - the commercial tool the local stack keeps being benchmarked against.
That last part is the interesting bit. The KB's read on 2026 video upscaling is that SeedVR2 wins when the lift is large (256px to 1024px), NVIDIA's RTX DeBlur-then-VSR chain wins when the source is already decent and you want it cheap, and Topaz remains the paid default people compare against - roughly 223 threads in the first half of 2026, more than SUPIR and ESRGAN combined. This node is how Topaz's paid baseline gets into a Comfy graph without leaving it.
How it works
Your clip is normalised to MP4 in memory (any input container works), uploaded, and submitted as one creation with the options for the mode you picked. The node then waits for the creation to finish and downloads the result as a VIDEO - so it never touches your VRAM, and you pay in minutes rather than in GPU memory.
Presets are fixed bundles, not vibes: realistic is creativity 0 with natural flavour, animationAnd3D switches flavour to vivid, artistic keeps vivid and pushes creativity to 50. Pick custom and the sliders below are used instead.
The inputs that matter
- mode -
magnific,magnific_precision, ortopaz. - target_resolution (
1280,1920,2560,3840) is the output width for the two Magnific modes.upscale_factor(2or4) is the scale multiplier, and it only applies to Topaz mode. The author's tooltips say this outright, and mixing the two up is the most common "why is my 720p clip still 720p" moment. - preview - runs a 12-frame preview instead of the whole clip. Turn this on first. Every other input here is a paid round trip you cannot un-spend.
- fps_boost - also hands the clip over for frame-rate boosting, not just resolution.
- strength (0β100) is
magnific_precisiononly.
Optional extras: creativity, sharpen, smart_grain (custom preset, 0β100), flavor (natural / vivid), premium_quality and turbo toggles, and a folder from a Magnific Save To node - leave it off and results land in your Personal project.
Outputs
video goes straight into a video container or save node. creation_identifier names the job on Magnific's side, and metadata is a JSON string (model, seed, duration, size, creation link) that Magnific Metadata (unpack) turns into plain sockets - worth wiring into a filename so you can tell two upscales apart a week later.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Code2Collapse/ComfyUI-CustomNodePacks.git
Manager β "CustomNodePacks" is equivalent. Then restart and look for [C2C] CustomNodePacks: 142 nodes loaded (...) - 0 failed.
Sign in via the ComfyUI menu (Magnific β Sign in): a device-code flow, approved in your browser, token stored at ~/.magnific/comfyui_auth.json. And skip Magnific's own comfyui-magnific plugin if you install this - the two register identical node IDs and last-load wins.
The Magnific nodes need no extra Python packages, but the pack's other nodes do, so install those deliberately rather than running the whole requirements file over ComfyUI's torch:
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
- Cost scales with duration, not with a nice round number. A ten-second 1080p clip is a metered render; a 4K pass on a minute of footage is a different order of money. Use
previewand short trims to find a setting you like, then spend once. - Upload time is real. A large MP4 goes up and comes back down through your connection, and the node polls until the creation finishes - this is not a "queue and forget for 30 seconds" node.
VIDEOis a container, not a batch. If you have a stack ofIMAGEframes from a loader, you need a node that builds a video container first. Feeding it a raw frame batch will not work.- Temporal shimmer is the failure mode of this whole job, and it is worth knowing before you blame the model: per-frame upscalers resolve fine repeating texture differently on consecutive frames. A clip that looks great on a still can crawl in motion. Watch the result, do not just check frame 0.
- It is a cloud round trip. Your footage leaves the machine and the request is metered - the honest reason to keep a local option (SeedVR2, or the cheap NVIDIA RTX path) in your back pocket for drafts.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | β | |
| mode | COMBO | magnific | 3 options: magnific, magnific_precision, topaz |
| target_resolution | COMBO | 1920 | Output width (Magnific/Precision modes). |
| upscale_factor | COMBO | 2 | Scale multiplier (Topaz mode). |
| preset | COMBO | realistic | Creative bundle for the magnific mode; custom uses the sliders below. |
| fps_boost | BOOLEAN | false | β |
| preview | BOOLEAN | false | 12-frame preview run instead of the full clip. |
| folderopt | MAGNIFIC_FOLDER | Optional β from a Magnific Save To node. Not connected β your Personal project. | |
| creativityopt | INT | 00β100 | β |
| sharpenopt | INT | 00β100 | β |
| smart_grainopt | INT | 00β100 | β |
| flavoropt | COMBO | natural | 2 options: natural, vivid |
| premium_qualityopt | BOOLEAN | true | β |
| turboopt | BOOLEAN | false | β |
| strengthopt | INT | 500β100 | Precision mode only. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | β |
| creation_identifier | STRING | β |
| metadata | STRING | β |