Replicate zsxkib/seedvr2
SeedVR2 upscaling, without the datacenter GPU
- VIDEO
- IMAGE
- API_JSON
SeedVR2 is the best upscaler the community has right now - and the biggest catch nobody mentions is that the video path needs a GPU you almost certainly don't have. The community's own rule of thumb: video upscaling on SeedVR2 means "datacenter class" hardware, while single images run fine on a 6GB card. This node from the ComfyUI-API-DockerCPU pack is the version that skips the hardware question entirely by running ByteDance's model on Replicate's servers. You feed it frames, it hands you an upscaled stack back.
If you've never met SeedVR2: it's ByteDance Seed's one-step video restoration model (Apache 2.0), released mid-2025, which the community accidentally turned into the default image upscaler. It adds detail without re-inventing the subject, which is why it took over restoration work. It's the thing Comfy Org's upscaling handbook names by name. This node just hands you the API version of that.
How it works
The nodes in this pack are generated from each Replicate model's schema. You wire in frames - the VIDEO input is typed as IMAGE, because ComfyUI treats video as a stack of frames - the node base64-encodes them and calls Replicate's zsxkib/seedvr2 with your settings. Out the other side you get a new IMAGE tensor (your upscaled frames) plus API_JSON, which is a dump of the exact payload that was sent, handy for debugging.
A few inputs actually matter here:
sample_steps- defaults to 1, which is SeedVR2's whole trick: one-step restoration. It's the difference between "a stage in your workflow" and "an overnight job."model_variant-3bor7b. The 7B is the bigger, better-fidelity one; 3B is the practical choice if you care about cost per call.cfg_scale- classifier-free guidance, default 1. Higher = stronger restoration, but you pay the contrast-lift tax faster.fps- the frame rate for output. Only meaningful if you're actually doing video and wire the result into a save-video node.apply_color_fix- the optional wavelet color correction from the official demo. Switch it on if output colors drift.
output_format and output_quality only affect image inputs, per the schema's own description. And sp_size (sequence-parallel shard heuristic) should stay at 1 - the single-GPU build only accepts 1 anyway.
The two shared knobs
Every node in this pack ships dry_run and force_rerun. dry_run skips the API call entirely and returns your first input image as a mock, along with the JSON that would have been sent. That's your free "does this workflow wire up right" check before you spend money. force_rerun makes the node re-execute even if nothing changed, which matters because ComfyUI loves to cache outputs.
Installing
ComfyUI Manager is the easy route - search "ComfyUI-API-DockerCPU". Or the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/trustypangolin/ComfyUI-API-DockerCPU
cd ComfyUI-API-DockerCPU
pip install -r requirements.txt
Then set your token and restart ComfyUI:
export REPLICATE_API_TOKEN="your_token_here"
No model downloads, no VRAM budget, nothing. That's the entire point of the pack - it's built for CPU-only Docker boxes, but it works fine on a normal GPU rig where you just don't want to babysit a video upscale for twelve minutes.
Troubleshooting
- "Replicate client not available" - that's the node's own error when
replicateisn't installed orREPLICATE_API_TOKENis unset. Install the requirements, set the token, restart. - Grayscale/odd output - SeedVR2's known contrast lift. Try
apply_color_fix, and remember the community trick: if the source is soft rather than small, downscale it before upscaling rather than feeding full-res garbage in. - This isn't free - every call is a Replicate prediction you're billed for.
dry_runfirst, always. - It's a young pack - created April 2026, near-zero stars, no community track record. The author's schema-driven approach is sound, but expect to file an issue or two on the way.
One honest caveat: if you have a real GPU and only ever upscale single images, the local ComfyUI SeedVR2 node is free and faster than paying per call. This node earns its keep when you're on CPU-only hardware, or when the video path is the whole reason you're here - because the API is genuinely the sane way to do SeedVR2 video.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| dry_run | BOOLEAN | false | β |
| force_rerun | BOOLEAN | false | β |
| VIDEO | IMAGE | β | |
| cfg_scaleopt | FLOAT | 1.000β15 | β |
| sample_stepsopt | INT | 11β4 | β |
| sp_sizeopt | INT | 11β4 | β |
| fpsopt | INT | 241β120 | β |
| seedopt | INT | 0 | β |
| output_formatopt | COMBO | webp | 3 options: png, webp, jpg |
| output_qualityopt | INT | 9010β100 | β |
| apply_color_fixopt | BOOLEAN | false | β |
| model_variantopt | COMBO | 3b | 2 options: 3b, 7b |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |
| API_JSON | STRING | β |