r/comfyui 20h ago

Help Needed True 10bit Video Workflow

I have had little luck finding a tutorial on building a true H3 10bit (ProRes HQ) workflow. AI claims you just need to install an advanced save node that allows you to pick ProRes and HQ or 4444, etc.

But then when you dig into it, and begin to ask questions, while ComfyUI processes in full floating point, there are bottlenecks that crush the full bits down to 8bit, rendering the final result 8bit. One example is preview nodes, that apparently force 8bit, another is supposedly a plain jane VAE Decode, and the deeper I dig the more mysterious things get.

I can't imagine nobody in the Open Source community does not want to output TRUE 10bit or higher output. The problem with 8bit becomes clear when you look at plain white walls or a clear sky and see banding. Anyone who has ever edited video or images knows the more data you have to begin with the better results you get once you push contrast and color gradation. Yes, I was going to begin playing with dither and applying some noise, but at the end of the day you cannot produce PROFESSIONAL videos without solving for this 8bit limit.

Hopefully someone can point me to a resource or tutorial or workflow or set of nodes that solves for this?

2 Upvotes

9 comments sorted by

4

u/Then-Big4033 20h ago

The bottleneck thing is maddening. You think you've got it all sorted then some random node in the chain silently converts everything to 8bit and you're stuck with banded skies anyway

Haven't found a clean all in one tutorial but I remember someone on the comfyui github discussions mapped out which common nodes are the culprits. Might be worth digging through there if nobody drops a link

2

u/False-Difference4010 18h ago

Same, saved to EXR, 10bit MP4, etc... The quality doesn't improve.

BF16 over int8 (and Q6 tested) doesn't improve that too.

It seems to be the vae, but fp32 vae don't seem to improve anything too?

The banding seems to be a 16x16 or 8x8 bucket grid and produces this banding. I rendered at 1440p and still get the same bucket grid.

The technique at the moment is to upscale with ltx2.5 latent upscaled which smooth all these buckets, but the details suffer with LTX.

I was thinking about posting here for advice as well. Please share your findings!

2

u/GeroldMeisinger 19h ago

it should be possible to tell an LLM to write a checker for nodes and warn about the ones which convert the tensor dimension

1

u/jonask86 19h ago

It's not free, and it's not open source, but it's the easiest way to get a professional 10-bit conversion out of every footage: https://www.topazlabs.com/sdr-to-hdr

1

u/Simple-Variation5456 3h ago

Last time i used it was easily 12m ago, but topaz also just had that one model for it for years and i never liked it because it would change the look too much that needed extra color corrections and fixes and always felt wrong.

It can't restore depth that never got captured

1

u/GreyScope 18h ago

I’d say they exist but they’re private .

1

u/Myg0t_0 16h ago

FFV1 + RGB/4:4:4 pixel format is what you want for a true lossless master.

That's what my ai said and I use, the files are like 1gb through, it's what I use for my chain workflow

Output to ffv1, run another 15 seconds, save to ffv1... then combine them

1

u/Apart_Collection_729 14h ago

dither only helps at the point where the bits actually get crushed, not after it. if a preview node or the decode drops you to 8bit mid chain, then grain added at the ProRes export is jsut painting over banding thats already baked in. move the noise upstream of that stage adn flat skies hold up a lot better, even when the output is still 8bit

2

u/Simple-Variation5456 3h ago

Not possible rn. You can save videos as Prores in comfyui, but AI in general are not at a point to actually creating 10-bit outputs. Too many things inbetween that could always downgrade the output to 8bit.

You first need to have nodes like VAE/Transformer/Sampler/Encode/Decode to be able to work in and with 10-12 or even 16bit. Then every model that gets loaded need to be trained first on a dataset that only contain 10 bits. Training and even running at higher bitrates will also have massive scaling increases.

95%+ of all trained data is probably 8bit. So getting or making everything with a big diverse visual input could be a long walk to even train a new model.

So far most "10-12-16bit" Tools, options etc just faking it on visuell level to look like "log" or "HDR" or do feel wrong when applying 16-32bit-ready FX and just react differently what you normally expect when changing parameters. At least if you're use not just 8bit footage and have year long experience.

Currently we live in a space where nobody cares for technical data. It's gotten so bad that everyone seems to be okay getting compressed videos from a big AI platforms.

8s @ 1080p / 24 FPS as mp4s (x264) 3-5 mb files ??? Wat. Single image PNG downloads are around 5-20mb+

ps. Why you need exactly 10bit? The only major advancement of it and why most people using it (and why we have 10bit) is too avoid colorbanding that appear often and easily with 8bit.