Comfy-Org / Comfy-Org/ComfyUI

CUIB-15010: Wan 2.2 TI2V 5B produces vertical banding on Apple Silicon

Open
#15,010 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 7h
Merged PRs (30d)
158

Description

Discovery date: 2026-07-20
Detected in version: ComfyUI 0.27.0 (commit bb131be9e83d2f773c90f1d6f1e4b248a498c8c5)
Reported by: Codex
Severity: medium
Environment: Comfy Desktop 1.0.28 on macOS 26.5.1, Apple M4 Max (40-core GPU), 64 GB unified memory, MPS, PyTorch 2.10.0
Scope / affected surface: Native Wan 2.2 TI2V 5B image-to-video workflow on Apple Silicon / MPS
Evidence: A 49-frame, 512×896, 16 fps render completes without an exception, but progressive vertical bands and severe saturation appear from approximately frame 16 and intensify through frame 48. Prompt execution ID: `08778304-163a-4009-b8f8-8371b2c6dffe`. Model: `wan2.2_ti2v_5B_fp16.safetensors`.

## Summary

The native Wan 2.2 TI2V 5B image-to-video pipeline successfully completes on Apple Silicon MPS, but the decoded video becomes progressively corrupted. The initial frame is correct; subsequent frames develop vertical striping, contrast amplification, and saturation until facial and phone-screen details are badly degraded.

## Expected behavior

The generated frames should preserve the input image structure and produce temporally coherent motion without device-specific banding or progressive color corruption.

## Current behavior

Sampling completes all 20 steps and VAE decoding finishes without an exception. Frame 0 is visually correct. By frame 16, thin vertical bands cover the smartphone display. The artifacts intensify by frames 32 and 48, together with clipped highlights and excessive saturation. Content outside the phone remains comparatively stable.

## Reproduction steps

1. Run ComfyUI 0.27.0 on an Apple M4 Max using the MPS backend.
2. Load the native Wan 2.2 TI2V 5B components:
- `wan2.2_ti2v_5B_fp16.safetensors`
- `umt5_xxl_fp8_e4m3fn_scaled.safetensors`
- `wan2.2_vae.safetensors`
3. Use `Wan22ImageToVideoLatent` with an input image, width 512, height 896, length 49, and batch size 1.
4. Sample with `KSampler`: 20 steps, CFG 5, `uni_pc`, `simple`, denoise 1, through `ModelSamplingSD3` with shift 8.
5. Decode with `wan2.2_vae.safetensors` and save at 16 fps.
6. Inspect frames 0, 16, 32, and 48.

## Environment details

- Mac Studio Mac16,9
- Apple M4 Max, 16 CPU cores, 40 GPU cores
- 64 GB unified memory
- macOS 26.5.1
- Comfy Desktop 1.0.28
- ComfyUI 0.27.0
- Frontend 1.45.20
- PyTorch 2.10.0
- Python 3.13.12
- Device: MPS
- VAE dtype: `torch.bfloat16`
- Diffusion model weight dtype: `torch.float16`
- Split attention enabled by the default MPS startup path

## Notes

- This is distinct from #9255: that report fails with an unsupported Float8 MPS conversion. In this reproduction, the fp16 5B model runs to completion but produces visibly corrupted output.
- The same ComfyUI installation generates stable Z-Image-Turbo images on MPS.
- No custom-node functionality is used in the reproduction graph; all generation nodes are native ComfyUI nodes.

Contributor guide

Open the contributing guide

Research direction

Reproduce the native Wan 2.2 TI2V workflow using Wan22ImageToVideoLatent, KSampler, the listed model and VAE files, and the MPS device. Inspect frames 0, 16, 32, and 48 while checking the split-attention path and VAE dtype described in the report. Done means the Apple Silicon render completes with temporally coherent frames without progressive banding, saturation, or clipped highlights.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, python, pytorch
Domain
backend, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.