I have the VAE diffusers but this one seems to be nowhere?
LTX-Video-0.9.7-diffusers-Q8_0.gguf
Its the only one missing,
I tried to sign up to we chat but is says i need to wait 3 months!
Please help!
I have the VAE diffusers but this one seems to be nowhere?
LTX-Video-0.9.7-diffusers-Q8_0.gguf
Its the only one missing,
I tried to sign up to we chat but is says i need to wait 3 months!
Please help!
Hmm… I found something a little hard to find, but there is a likely substitute. I think it should work if you rename it:
The exact filename from the ComfyUI_OmnimatteZero README:
LTX-Video-0.9.7-diffusers-Q8_0.gguf
does not seem to exist publicly on Hugging Face under that exact name, at least not in the obvious linked repo. However, I think the likely intended GGUF is this one:
ltxv-13b-0.9.7-dev-Q8_0.gguf
from:
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF
The reason I think this is the right substitute is that the OmnimatteZero README appears to use a simplified / renamed filename, while the actual available GGUF repos use the LTXV 13B naming convention.
Try this file:
Put it here:
ComfyUI/models/gguf/ltxv-13b-0.9.7-dev-Q8_0.gguf
Then, if the OmnimatteZero node expects the README-style name or you want to avoid confusion, rename it to:
ComfyUI/models/gguf/LTX-Video-0.9.7-diffusers-Q8_0.gguf
In the node, select the GGUF file from the gguf dropdown and set the dit / diffusion model field to none.
The OmnimatteZero README lists the model locations like this:
| Component | README location | README filename |
|---|---|---|
| VAE | ComfyUI/models/vae |
LTX-Video-0.9.7-vae-diffusers.safetensors |
| DiT / safetensors | ComfyUI/models/diffusion_models |
LTX-Video-0.9.7-diffusers.safetensors |
| GGUF | ComfyUI/models/gguf |
LTX-Video-0.9.7-diffusers-Q8_0.gguf |
Source:
smthemex/ComfyUI_OmnimatteZero README
The README links the DiT/GGUF model line to a Chinese cloud source and to this Hugging Face repo:
smthem/LTX-Video-0.9.7-diffusers-merge
But that smthem repo only appears to contain the safetensors file:
LTX-Video-0.9.7-diffusers.safetensors
I do not see the GGUF file there.
The likely matching GGUF is instead in:
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF
That model card says it is a direct GGUF conversion of the 13b-0.9.7-dev variant from Lightricks/LTX-Video and that it can be used in ComfyUI with the ComfyUI-GGUF custom node.
Relevant file:
ltxv-13b-0.9.7-dev-Q8_0.gguf
File page:
From your ComfyUI directory:
huggingface-cli download \
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF \
ltxv-13b-0.9.7-dev-Q8_0.gguf \
--local-dir ./models/gguf
Or with an explicit ComfyUI path:
huggingface-cli download \
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF \
ltxv-13b-0.9.7-dev-Q8_0.gguf \
--local-dir <path-to-your-ComfyUI>/models/gguf
Optional rename:
mv \
<path-to-your-ComfyUI>/models/gguf/ltxv-13b-0.9.7-dev-Q8_0.gguf \
<path-to-your-ComfyUI>/models/gguf/LTX-Video-0.9.7-diffusers-Q8_0.gguf
On Windows PowerShell:
Rename-Item `
"<path-to-your-ComfyUI>\models\gguf\ltxv-13b-0.9.7-dev-Q8_0.gguf" `
"LTX-Video-0.9.7-diffusers-Q8_0.gguf"
From the OmnimatteZero code, the filename does not appear to be hardcoded. The node registers a gguf folder and then exposes files from that folder in the gguf dropdown.
Relevant code:
The important part is that it adds:
ComfyUI/models/gguf
as a model folder, and then the node has separate dropdowns for:
dit
gguf
vae
So the practical setup should be:
dit = none
gguf = ltxv-13b-0.9.7-dev-Q8_0.gguf
vae = LTX-Video-0.9.7-vae-diffusers.safetensors
or, if renamed:
dit = none
gguf = LTX-Video-0.9.7-diffusers-Q8_0.gguf
vae = LTX-Video-0.9.7-vae-diffusers.safetensors
The loader code also has a separate GGUF path. If gguf_path is not None, it loads the transformer from the GGUF file with LTXVideoTransformer3DModel.from_single_file(...) and GGUFQuantizationConfig(...).
Relevant code:
Q8_0 is large. The wsbagnsv1 repo also has smaller quantized files:
| Quant | File | Approx. size |
|---|---|---|
| Q8_0 | ltxv-13b-0.9.7-dev-Q8_0.gguf |
14 GB |
| Q6_K | ltxv-13b-0.9.7-dev-Q6_K.gguf |
10.9 GB |
| Q5_K_M | ltxv-13b-0.9.7-dev-Q5_K_M.gguf |
9.82 GB |
| Q4_K_M | ltxv-13b-0.9.7-dev-Q4_K_M.gguf |
8.82 GB |
| Q3_K_S | ltxv-13b-0.9.7-dev-Q3_K_S.gguf |
5.86 GB |
Repo file list:
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF files
For a first test, Q4_K_M may be easier:
huggingface-cli download \
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF \
ltxv-13b-0.9.7-dev-Q4_K_M.gguf \
--local-dir ./models/gguf
There is also another GGUF repo here:
It contains a similarly named Q8 file:
ltxv-13b-0.9.7-dev-q8_0.gguf
File list:
I would try the wsbagnsv1 repo first, because its model card explicitly says it is a direct GGUF conversion of the LTXV 13b-0.9.7-dev variant and mentions ComfyUI / ComfyUI-GGUF usage.
For the VAE, the OmnimatteZero README points to:
a-r-r-o-w/LTX-Video-0.9.7-diffusers
The README says to place it as:
ComfyUI/models/vae/LTX-Video-0.9.7-vae-diffusers.safetensors
So if your downloaded VAE has a generic name like:
diffusion_pytorch_model.safetensors
rename it to:
LTX-Video-0.9.7-vae-diffusers.safetensors
I think the README filename:
LTX-Video-0.9.7-diffusers-Q8_0.gguf
is probably one of these:
ltxv-13b-0.9.7-dev-Q8_0.gguf;But the actual public HF file that seems to correspond to it is most likely:
ltxv-13b-0.9.7-dev-Q8_0.gguf
from:
wsbagnsv1/ltxv-13b-0.9.7-dev-GGUF
ComfyUI/models/gguf/
ltxv-13b-0.9.7-dev-Q8_0.gguf
# or renamed:
LTX-Video-0.9.7-diffusers-Q8_0.gguf
ComfyUI/models/vae/
LTX-Video-0.9.7-vae-diffusers.safetensors
ComfyUI/models/diffusion_models/
# leave empty / do not use if using GGUF
Then in OmnimatteZero_SM_Model:
dit = none
gguf = ltxv-13b-0.9.7-dev-Q8_0.gguf
vae = LTX-Video-0.9.7-vae-diffusers.safetensors
If it runs out of memory, try Q6_K, Q5_K_M, or Q4_K_M instead of Q8_0.
You’re a legend mate, much appreciated, Im new to all this but slowly getting there! I’ll give this a try today!
Thanks again!
Mac
HI, Not sure if you can help, but I got it working, but it renders a faint grid over everything, i tried to set the block count to zero to avoid tiling but it didnt work, is there any way to prevent this? i know this is for 12GB cards but I have 32GB so maybe I can skip the tiling somehow but it wont let me for some reason?
How can I disable group offloading?
Nice. Looks like there may be a more suspicious culprit than offloading:
I think the faint grid is probably not caused by the GGUF file itself, and maybe not by block_num either. The first thing I would test is VAE tiling.
In the current ComfyUI_OmnimatteZero code, block_num = 0 does not mean “disable all memory-saving behavior”. It only avoids the apply_group_offloading(...) branch. The fallback branch still calls model.enable_model_cpu_offload().
Relevant file:
The relevant logic is roughly:
if block_num > 0:
apply_group_offloading(
model.transformer,
onload_device=torch.device("cuda"),
offload_type="block_level",
num_blocks_per_group=block_num,
)
else:
model.enable_model_cpu_offload()
So the behavior is:
block_num value |
What happens | What it does not mean |
|---|---|---|
> 0 |
Uses Diffusers group offloading on the transformer | Not image tiling |
0 |
Skips group offloading, but still enables model CPU offload | Not “disable all offloading / tiling” |
The grid artifact sounds more like a VAE tiling artifact. In object_removal.py, VAE tiling is enabled unconditionally:
pipe.vae.enable_tiling()
There is also another one for the upsample path:
pipe_upsample.vae.enable_tiling()
Diffusers’ own docs describe VAE tiling as a memory-saving method that decodes the image in overlapping tiles, and they note that tile-to-tile tone variation can happen:
Diffusers memory optimization docs: VAE tiling
So if you have a 32GB card, I would test disabling VAE tiling first.
Open:
ComfyUI/custom_nodes/ComfyUI_OmnimatteZero/object_removal.py
Find:
pipe.vae.enable_tiling()
Change it to:
# pipe.vae.enable_tiling()
Also find:
pipe_upsample.vae.enable_tiling()
Change it to:
# pipe_upsample.vae.enable_tiling()
Then fully restart ComfyUI and test the same workflow again.
This is optional. I would only try this after testing VAE tiling first.
Open:
ComfyUI/custom_nodes/ComfyUI_OmnimatteZero/OmnimatteZero_node.py
Find this block:
if block_num > 0:
apply_group_offloading(
model.transformer,
onload_device=torch.device("cuda"),
offload_type="block_level",
num_blocks_per_group=block_num,
)
else:
model.enable_model_cpu_offload()
For a 32GB card, you can try replacing the else branch with model.to(device):
if block_num > 0:
apply_group_offloading(
model.transformer,
onload_device=torch.device("cuda"),
offload_type="block_level",
num_blocks_per_group=block_num,
)
else:
model.to(device)
There are two similar blocks in the file, so check both:
The second one appears around the compose_video(...) path.
| Step | Change | Reason |
|---|---|---|
| 1 | Comment out pipe.vae.enable_tiling() |
Most likely source of a visible grid |
| 2 | Also comment out pipe_upsample.vae.enable_tiling() if using the upsample path |
Same reason, but only matters if that path is used |
| 3 | Keep block_num = 0 |
Avoid group offloading while testing |
| 4 | If the grid remains, replace model.enable_model_cpu_offload() with model.to(device) |
Tests whether CPU/model offload is involved |
| 5 | If VRAM runs out, restore offloading or use a smaller GGUF quant | Q8_0 can still be heavy depending on resolution and frame count |
Disabling VAE tiling increases VRAM use. A 32GB card has a much better chance of handling it, but it can still OOM depending on:
So I would not change everything at once. First test only this:
# pipe.vae.enable_tiling()
# pipe_upsample.vae.enable_tiling()
If that removes the grid, then the issue was probably VAE tiling rather than group offloading.