Video Enhance - Restore Original Resolution
Put the enhanced video back to the exact size it started as
- ltx_enhanced_frames
- video_enhance_context
- enhanced_video_frames
- frame_count
- original_width
- original_height
- fps
Here's the thing about the Video Enhance pipeline: LTX works at a temporary working resolution that's almost never your source resolution, and its frame counts won't line up with your video either. So the last step has to be a careful restoration - take the enhanced frames LTX produced, resize them back to the exact source width and height, and reconcile the frame count. VRGDG Video Enhance - Restore Original Resolution is that step, and it's the node that makes the whole enhancement honest: you get back a video that matches your original in every dimension, just better-looking.
It also does something a plain resize node can't: it preserves source-tail frames that LTX's output doesn't cover, and it can blend with the untouched original so over-processing is something you control rather than something you discover after encoding.
The inputs
- ltx_enhanced_frames - the final decoded
IMAGEbatch from LTX. These working-resolution frames get resized back to the source dimensions. - video_enhance_context - connect Collect LTX Inputs. This is where the untouched source frames, exact source dimensions, and frame count live. The tooltip is the contract: the context contains everything this node needs to know what "original" means.
- resize_method -
Bicubicrecommended for the restore. Note the tooltip's useful aside: "This changes dimensions only; optional AI upscalers may be inserted before this node if desired." So if you want a generative upscale (SeedVR2-style) in addition to the LTX enhancement, insert it between LTX and this node, and this node still lands you exactly on source dimensions. - enhancement_strength (default 1) - blends the restored LTX result with the untouched original. 1 = pure LTX result. Lower values keep more original pixels and reduce over-processing. This is your anti-"looks like AI plastic" dial, and it's the single most useful control here for dialing in a natural result.
The outputs
enhanced_video_frames (the final frames), plus frame_count, original_width, original_height, and fps - metadata you can feed into a save/encode node so the file header matches reality. The frame count and dimensions come from the source, not from LTX's working resolution, which is the whole point.
How to use it well
The strength dial is where people get it wrong in both directions. Run at 1 and LTX's stylization can make a face or texture look repainted. Drop to 0.5 and you blend away the enhancement along with the artifacts. The right move is a compromise you actually look at: run the pipeline once at 1.0, then compare against the original with the pack's Video Compare Slider and dial enhancement_strength down until the enhancement is visible but the source character is intact. That's also the honest workflow - enhancement is subjective, and this node gives you the knob rather than a binary choice.
Frame math is the other place to trust, not fight: LTX frame counts have to be divisible by 8 plus 1, which almost never matches your source, so unmatched tail frames are expected. This node preserves them from the original rather than dropping them - that's a feature, not a bug.
Install
Standard pack install (Manager → search vrgamedev, restart, hard-refresh). It's the tail of the Video Enhance node set, so it needs the full context chain before it; install VHS and have the Z-Image/LTX models the pipeline expects.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| ltx_enhanced_frames | IMAGE | Connect the final decoded IMAGE batch from LTX. These temporary working-resolution frames are resized back to the exact source dimensions. | |
| video_enhance_context | VRGDG_VIDEO_ENHANCE_CONTEXT | Connect Collect LTX Inputs context. It contains the untouched source frames, exact source dimensions, and frame count. | |
| resize_method | COMBO | Bicubic (recommended) | Interpolation used to restore LTX frames to the exact source width and height. This changes dimensions only; optional AI upscalers may be inserted before this node if desired. |
| enhancement_strength | FLOAT | 1.000–1 | Blends the restored LTX result with the untouched original video. 1 uses the complete LTX result; lower values retain more original pixels and can reduce over-processing. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| enhanced_video_frames | IMAGE | — |
| frame_count | INT | — |
| original_width | INT | — |
| original_height | INT | — |
| fps | FLOAT | — |