Instructions to use Tongyi-MAI/Z-Image with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use Tongyi-MAI/Z-Image with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("Tongyi-MAI/Z-Image", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
Z-Image and Turbo produces corrupted output on an NVIDIA RTX 5070 Ti 16 GB running Windows 11.
Z-Image Turbo β RTX 5070 Ti / Blackwell Troubleshooting Report
Summary
Z-Image and Turbo produces severely corrupted output on an NVIDIA RTX 5070 Ti 16 GB running Windows 11.
The workflow completes successfully without a CUDA error, Python exception, or out-of-memory error, but the resulting image is unusable and appears as severe noise/corruption.
The same system successfully runs other models, including Krea/Flux and H3.
Both Z-Image Turbo BF16 and NVFP4 were tested and both produce corrupted output.
The exact cause is currently unknown.
A possible Z-Image / Blackwell compatibility issue is being investigated, but this has not been confirmed.
Hardware
- GPU: NVIDIA GeForce RTX 5070 Ti 16 GB
- Architecture: NVIDIA Blackwell
- CPU: AMD Ryzen 7 5700X
- OS: Windows 11
- NVIDIA Driver: 616.92
Software Environment
ComfyUI: 0.36.0
Python: 3.13.14
PyTorch: 2.12.1+cu130
torchvision: 0.27.1+cu130
torchaudio: 2.11.0+cu130
CUDA: 13.0
comfy-aimdo: 0.5.5
comfy-kitchen: 0.2.35
SageAttention:
2.2.0+cu130torch2.10.0andhigher.post5-cp310-abi3-win_amd64
The versions were verified directly using ComfyUI's embedded Python environment.
Z-Image Models Tested
BF16
z_image_turbo_bf16.safetensors
Result:
FAIL β severely corrupted output
NVFP4
Z-Image Turbo NVFP4 was also tested.
Result:
FAIL β severely corrupted output
Important Observation
Both precision/model variants fail:
Z-Image Turbo BF16 -> corrupted output
Z-Image Turbo NVFP4 -> corrupted output
This suggests that the problem is not limited to the BF16 model or BF16 precision alone.
Symptoms
The generated images can contain:
severe noise
black/gray areas
random colors
colored lines
severe visual distortion
completely unusable image content
The sampler itself completes normally.
No Runtime Error
The workflow does not produce a conventional CUDA or Python failure.
Example:
100%|ββββββββββββββββββββββββββββββββββββββββββββββββ| 8/8
followed by:
[INFO] Prompt executed in 7.10 seconds
There is no reported:
CUDA error
RuntimeError
Out of memory
Python exception
The workflow therefore appears to complete successfully while producing invalid output.
Relevant ComfyUI Log
Example:
[INFO] got prompt
[INFO] model weight dtype torch.bfloat16, manual cast: None
[INFO] model_type FLOW
[INFO] Model storage policy: fast_disk=True paths=['C:\ComfyUI_windows_portable\ComfyUI\models\diffusion_models\z_image_turbo_bf16.safetensors']
[INFO] Requested to load Lumina2
[INFO] Model Lumina2 prepared for dynamic VRAM loading. 11738MB Staged. 0 patches attached. Force pre-loaded 205 weights: 1045 KB.
100%|ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| 8/8 [00:04<00:00, 1.70it/s]
[INFO] 0 models unloaded.
[INFO] Model AutoencodingEngine prepared for dynamic VRAM loading. 159MB Staged. 0 patches attached. Force pre-loaded 108 weights: 182 KB.
[INFO] Prompt executed in 7.10 seconds
ComfyUI Environment
Relevant startup information:
[INFO] Total VRAM 16275 MB, total RAM 65458 MB
[INFO] pytorch version: 2.12.1+cu130
[INFO] Set vram state to: NORMAL_VRAM
[INFO] Device: cuda:0 NVIDIA GeForce RTX 5070 Ti : cudaMallocAsync
[INFO] Using async weight offloading with 2 streams
[INFO] Enabled pinned memory 26183.0
[INFO] Using pytorch attention
[INFO] Using Comfy Kitchen attention
[INFO] DynamicVRAM support detected and enabled
[INFO] Python version: 3.13.14
[INFO] ComfyUI version: 0.36.0
[INFO] comfy-aimdo version: 0.5.5
[INFO] comfy-kitchen version: 0.2.35
Crystools reports:
[Crystools INFO] GPU/s:
[Crystools INFO] 0) NVIDIA GeForce RTX 5070 Ti
[Crystools INFO] NVIDIA Driver: 616.92
Text Encoder
The workflow uses:
qwen_3_4b.safetensors
The text encoder was tested with CPU/offloading variations.
Moving the Qwen text encoder to CPU did not resolve the corruption.
VAE
The workflow uses:
ae.safetensors
The VAE loads successfully.
The problem was also investigated separately from the VAE.
Latent / VAE Test
The latent was saved directly after the sampler and before VAE decoding.
The corruption was still present.
This indicates that the issue does not appear to be simply a VAE decoding problem.
The corruption appears to already exist in the latent/output produced by the sampling stage.
SageAttention Tests
SageAttention was tested both enabled and disabled.
Installed version:
sageattention-2.2.0+cu130torch2.10.0andhigher.post5-cp310-abi3-win_amd64
Changing SageAttention settings did not resolve the problem.
ComfyUI Versions
Multiple ComfyUI versions were tested, including:
ComfyUI 0.35.x
ComfyUI 0.36.0
The problem remained.
CPU / Offloading Tests
Different CPU/offloading configurations were tested.
The Qwen text encoder was also moved to CPU.
The problem remained.
This makes a simple VRAM/offloading problem less likely.
Launch Options
Multiple ComfyUI launch flags/configurations were tested.
The problem remained.
Model Loader Verification
The diffusion model selection was checked.
The correct Z-Image model was confirmed as loaded.
The log reports:
model weight dtype torch.bfloat16
model_type FLOW
and the expected model path:
C:\ComfyUI_windows_portable\ComfyUI\models\diffusion_models\z_image_turbo_bf16.safetensors
Therefore, the issue does not appear to be caused by accidentally loading a different diffusion model.
Other Models Work
The same computer, GPU, driver, Python environment, PyTorch/CUDA environment, and ComfyUI installation successfully run other models.
Tested examples:
Krea/Flux
H3
These models produce normal images.
This is an important observation because the GPU and general ComfyUI installation are capable of running other models correctly.
The problem appears to be specific to the Z-Image workflow/execution path.
PyTorch Verification
The installed versions were verified directly using ComfyUI's embedded Python:
.\python_embeded\python.exe -c "import torch, torchvision, torchaudio; print('torch:', torch.__version__); print('torchvision:', torchvision.__version__); print('torchaudio:', torchaudio.__version__)"
Output:
torch: 2.12.1+cu130
torchvision: 0.27.1+cu130
torchaudio: 2.11.0+cu130
Available Newer PyTorch Versions
The CUDA 13.0 PyTorch package index was checked.
Available latest versions were:
torch: 2.14.0+cu130
torchvision: 0.29.0+cu130
torchaudio: 2.11.0+cu130
Currently installed:
torch: 2.12.1+cu130
torchvision: 0.27.1+cu130
torchaudio: 2.11.0+cu130
The newer PyTorch stack is being considered as an A/B test.
The purpose is to determine whether the corruption is affected by the PyTorch/CUDA runtime.
Test Matrix
Test Result
Z-Image Turbo BF16 FAIL β corrupted
Z-Image Turbo NVFP4 FAIL β corrupted
Krea/Flux WORKS
H3 WORKS
CPU Qwen text encoder FAIL
SageAttention enabled FAIL
SageAttention disabled FAIL
Save latent before VAE FAIL
Multiple ComfyUI versions FAIL
Multiple launch configurations FAIL
Correct model verified FAIL
PyTorch 2.12.1 + CUDA 13.0 FAIL
What Has Been Made Less Likely
Based on the tests above, the following do not appear to be the sole cause:
VAE decoding
BF16 precision alone
NVFP4 precision alone
SageAttention alone
Qwen text encoder being on the GPU
insufficient VRAM
incorrect model selection
general ComfyUI failure
general GPU failure
This is because:
the latent is already corrupted before VAE decoding
both BF16 and NVFP4 fail
SageAttention on/off makes no difference
CPU text encoder makes no difference
there is no out-of-memory error
other models work normally
the correct Z-Image model is confirmed as loaded
Current Hypothesis
The exact cause has not been identified.
A possible compatibility issue involving Z-Image and NVIDIA Blackwell / sm_120 is being investigated.
Potential areas include:
Z-Image-specific CUDA kernels
Blackwell sm_120 support
BF16 operations
NVFP4 operations
Qwen3-4B conditioning
attention implementation
numerical instability
NaN/Inf propagation
PyTorch + CUDA 13.0
model-specific operations that behave differently on Blackwell
This is currently a hypothesis and has not been confirmed.
Expected Behavior
Z-Image Turbo should generate a normal image on an NVIDIA RTX 5070 Ti / Blackwell GPU.
The sampler should produce a valid latent and the VAE should decode it into a normal image.
Actual Behavior
The workflow completes successfully, but the generated output is severely corrupted.
No useful runtime error is reported.
Next Test
The next planned A/B test is to update the PyTorch stack while remaining on CUDA 13.0:
torch 2.14.0+cu130
torchvision 0.29.0+cu130
torchaudio 2.11.0+cu130
Then run the exact same Z-Image workflow again.
The result should help determine whether the issue is related to the current PyTorch runtime.
Request for Help
Could someone familiar with Z-Image, ComfyUI, or NVIDIA Blackwell GPUs help determine whether this is a known compatibility issue?
Specifically:
Is NVIDIA RTX 5070 Ti / Blackwell officially supported for Z-Image Turbo?
Are there known issues with sm_120?
Are there specific PyTorch/CUDA versions recommended for RTX 5070 Ti?
Is CUDA 13.0 required or recommended?
Are there known BF16 issues with Z-Image on Blackwell?
Are there known NVFP4 issues with Z-Image on Blackwell?
Are there recommended environment variables or launch flags for Blackwell?
Is there a recommended way to detect NaN/Inf values during Z-Image sampling?
Could Qwen3-4B conditioning produce invalid values specifically on Blackwell?
Are there Z-Image-specific CUDA kernels or operations that may not yet be compatible with sm_120?
Is there a known debugging workflow for identifying the exact Z-Image operation where the values become invalid?
Any debugging guidance would be greatly appreciated.
Short Technical Summary
GPU:
NVIDIA GeForce RTX 5070 Ti 16 GB
Blackwell
OS:
Windows 11
Driver:
616.92
ComfyUI:
0.36.0
Python:
3.13.14
PyTorch:
2.12.1+cu130
torchvision:
0.27.1+cu130
torchaudio:
2.11.0+cu130
CUDA:
13.0
Z-Image BF16:
FAIL - corrupted output
Z-Image NVFP4:
FAIL - corrupted output
Krea/Flux:
WORKS
H3:
WORKS
Sampler:
Completes normally
CUDA error:
None
Python error:
None
OOM:
None
Latent before VAE:
Already corrupted
Qwen on CPU:
No improvement
SageAttention on/off:
No improvement
Multiple ComfyUI versions:
No improvement
Conclusion
The issue is reproducible with Z-Image Turbo on an RTX 5070 Ti / Blackwell system.
Both BF16 and NVFP4 produce corrupted output.
Other models work correctly on the same system.
The corruption is present before VAE decoding and occurs without a reported runtime error.
The next major variable to test is the PyTorch runtime, followed by investigation of possible Z-Image / Blackwell / sm_120 compatibility issues.
Same file works fine on my RTX 5060 Ti 16 GB, which is also Blackwell. z_image_turbo_bf16.safetensors at 1024x1024, 8 steps takes about 11 s per image with a 14.6 GB peak, and the images are clean. So I don't think it's a Blackwell or a 16 GB problem. Your log looks normal too, 8 steps in 4 s is about what I'd expect for a 5070 Ti. Since the noise is already in the latent and other models work, I'd test a clean run with --disable-all-custom-nodes and the Z-Image Turbo workflow from the built-in Templates menu. If that works, add your nodes back one by one. Timings for my card are here: https://vramready.com/benchmarks/
Thanks for your suggestions. Unfortunately, disabling all custom nodes does not help either. I have also re-downloaded all the models to make sure the files are not corrupted, but the problem persists. The images still have strange colors and patterns.
Thanks for testing. The latent is already broken before the VAE, and Flux works fine, so I think it is something that only Z-Image does differently. A few things I would try:
- Load the built-in template (Workflow > Browse Templates > Z-Image Turbo) and change nothing. It should be 8 steps, CFG 1, res_multistep / simple, ModelSamplingAuraFlow shift 3. With a higher CFG or another sampler, Z-Image gives exactly this kind of colored noise.
- Start ComfyUI with no extra flags at all. Especially no --fast, --force-fp16 or --fp16-unet. Z-Image runs in bf16; forced fp16 can overflow and give garbage without any error.
- Try the FP8 text encoder instead of the full one: qwen_3_4b_fp8_mixed.safetensors from Comfy-Org/z_image_turbo. That is the one I use, and it rules out the encoder file.
- If you use MSI Afterburner or any GPU overclock or undervolt, reset it to default and try again. Memory overclocks can break one model and not another.
For me, z_image_turbo_bf16 at 1024x1024 works on a 5060 Ti with ComfyUI portable and PyTorch 2.12 cu130, so Blackwell itself should be fine.