Bria Video Increase Resolution
2x or 4x, and your VRAM never notices
- result_video_url
Video upscaling is the problem everyone still hates. Images have a settled answer - a dozen good ESRGAN-family models, SeedVR2 for detail, pick your tool. Video has no equivalent that's both good and easy: "more pixels over time" means every frame has to agree with its neighbors, and most local video upscalers either churn for hours on your GPU or pump out flickering garbage. Bria Video Increase Resolution sidesteps the whole fight: it's a hosted 2x or 4x upscale that runs on Bria's servers. You hand it a URL or a local file path, it returns a URL to a bigger, sharper video. Zero VRAM, zero model downloads, one API token and a per-request fee.
That's the honest framing for every node in this pack, and it's worth saying plainly here: this is a rental, not an acquisition. You get the result, you don't get the model. That's fine for a one-off client deliverable, and it's often cheaper in real terms than the hours a local pipeline would eat. Just know what you're buying.
What you set
api_key- required. The prefilledBRIA_API_TOKENis a placeholder; the node rejects it with "Please insert a valid API key."video_url- required. A hostedhttp(s)URL, or a local path (tooltip: "URL of video to process (provide either frames or video_url)"). Local files get uploaded to Bria's S3 through a presigned URL automatically - so you can wire the pack'sLoadVideoFramesNodeoutput directly in.desired_increase- the only fun knob:'2'or'4', default2. 4x is a bigger ask on the model, so expect it to cost more and take longer. Default to 2x unless you actually need 4x; 4x from a bad source just gives you bigger bad.output_container_and_codec- nine combos, defaultmp4_h264.mov_proresksif the result is going into an NLE,webm_vp9for web,giffor a quick look.preserve_audio- default true. Leave it unless the audio is broken.
The single output is result_video_url - a STRING, not a video tensor. To actually see the upscaled clip, run that URL into PreviewVideoURLNode (same pack), which downloads and previews it in ComfyUI.
Installing
Identical to the rest of the pack. ComfyUI Manager → search "BRIA API", or:
cd path_to_comfyui/custom_nodes
git clone https://github.com/Bria-AI/ComfyUI-BRIA-API
Restart, paste your token from platform.bria.ai. No model downloads, no dependencies beyond requests and the standard ComfyUI stack. The node is async: it POSTs to Bria's /v2/video/edit/increase_resolution, polls a status URL every 5 seconds (allowing up to an hour), and returns the result when the job completes. Longer videos spend real time in "waiting"; the console prints the poll status so you can watch it breathe.
Where it bites
First, source quality caps everything. The upscaler can add pixels and sharpen, but it can't invent detail that was never there - the same rule that applies to local generative upscalers applies here. Feed it a blurry 360p clip and you get a blurry, slightly less blurry 720p/1440p clip. The KB's upscaling essay makes this exact point about the "more pixels" vs "more detail" distinction, and it holds across every implementation, hosted or local.
Second, cost and latency scale with the ask: 4x on a long clip is the expensive, slow combination, and it's a paid API - don't run your whole backlog through it in one queue. Third, the output is a remote URL with an expiry. Download it while it's live; don't build a project file that references the URL weeks later.
Would I reach for this over local tools? If I had a good local setup and time, no - a tiled local pipeline on a decent card is free and private. If I'm on a deadline, a laptop, or a client job where the licensing needs to be clean (Bria trains on 100% licensed data), then yes, the flat fee is the pragmatic answer. It's the "pay to skip the grind" option, and sometimes that's exactly the right call.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | BRIA_API_TOKEN | — |
| video_url | STRING | URL of video to process (provide either frames or video_url) | |
| desired_increaseopt | COMBO | 2 | 2 options: 2, 4 |
| output_container_and_codecopt | COMBO | mp4_h264 | 9 options: mp4_h264, mp4_h265, webm_vp9, mov_h265, mov_proresks, mkv_h264, +3 |
| preserve_audioopt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| result_video_url | STRING | — |