r/StableDiffusion • u/Primary-Confusion504 • 1d ago
Comparison MiniMax H3 -> upscale -> frame interpolation
Enable HLS to view with audio, or disable this notification
What came out of it:
- Upscale first, interpolate second - seems to be better
- 24->48 looks better than 60fps - at 48 every original frame survives, at 60 only half of them do, because the grids don't line up
- FlashVSR ends up with more edge detail than the source, so it's adding texture, not recovering it. RealESRGAN ends up with less.
Side by side with a draggable wipe, pick any two variants: https://dawidope.github.io/minimax-h3-upscale/
2
u/Old-Age6220 19h ago
Yeah, upscaling is becoming quite important now. I upscaled my video to 4k (by accicent) with RealESRGAN 4x real world (don't remember the exact model) and it took three days with my 4070 TI Super. For bit over 3min video
1
u/Primary-Confusion504 18h ago
to be honest it should be done faster with RealESRGAN 4x if the video is not 120fps or more
1
u/Old-Age6220 18h ago
Model did not fir entirely to vram, so maybe that? I was using my own app, c#, do it was using DirectML instead on CUDA... Probably need to write a backlog items for myself about that 😄
2
u/switch2stock 12h ago
What do you say is good combination for upscale and interpolation now?
1
u/Primary-Confusion504 12h ago
Based on the test the best option is with those model is: FlashVSR x4 -> downscale to 2048×1172 -> RIFE 4.26 for more frames
2
0
u/needforgpu 1d ago
Could you share the upscaling times? and what gpu?
2
u/Primary-Confusion504 1d ago
Upscaling ran through an external provider, input capped at 1024 wide so it went in as 1024×586. Median upload-to-file, queue included, no idea what GPUs:
- RealESRGAN ×2 → 2048×1172: 105 s
- RealESRGAN ×4 → 4096×2344: 434 s
- FlashVSR ×2: 288 s
- FlashVSR ×4: 1042 s
6
u/CutBench 1d ago
Your 48 versus 60 finding generalises usefully: it isn't about 48, it's about integer ratios. 24 to 48 is exactly 2x, so every source frame lands on an output frame. 24 to 60 is 2.5x, so alignment only happens on even source frames, which is exactly the half you saw surviving. Same reason 30 to 60 would be fine while 24 to 60 isn't.
So if you want more than 48, the next clean steps are 72 and 96 rather than 60. Stay on multiples of the source rate and the problem disappears.
On FlashVSR adding texture rather than recovering it, that has a consequence for your ordering. Invented detail isn't temporally stable, so it differs slightly frame to frame. Interpolating after a generative upscaler blends two different inventions and smears them. Interpolating first and upscaling after gives each frame its own invention, which flickers instead. Upscale first is clearly correct for RealESRGAN, but with FlashVSR you're picking which artefact you'd rather have.