{ "id": "wan_video", "name": "Wan 2.2 Video (local, MLX)", "category": "video-gen", "description": "Prompt → MP4 (text-to-video), or image + prompt → MP4 (image-to-video), via Wan 2.2 TI2V-5B on mlx-video (native MLX/Metal). 24fps, native 1280x704. Defaults are deliberately small (832x480, 49 frames ≈ 2s ≈ 130s to render) — scale up once you know the node's speed. Weights: vendor/mlx-video-models/Wan2.2-TI2V-5B-mlx-q8 (~18GB, 8-bit transformer + bf16 UMT5 + VAE). Replaced the ComfyUI/PyTorch-MPS backend on 2026-08-02: that path was 1.6x slower and emitted garbage frames while reporting success.", "accepts": ["image"], "produces": ["video"], "resources": "gpu", "entry": "run.py", "params_schema": { "type": "object", "properties": { "prompt": {"type": "string", "default": "", "description": "What happens in the shot"}, "negative": {"type": "string", "default": "blurry, distorted, low quality, static image, watermark, text", "description": "What to avoid"}, "width": {"type": "integer", "default": 832, "minimum": 256, "maximum": 1280}, "height": {"type": "integer", "default": 480, "minimum": 256, "maximum": 1280}, "length": {"type": "integer", "default": 49, "minimum": 5, "maximum": 121, "description": "Frames, must be 4n+1 (49≈2s, 121≈5s at 24fps)"}, "steps": {"type": "integer", "default": 20, "minimum": 4, "maximum": 50}, "cfg": {"type": "number", "default": 5.0, "minimum": 1, "maximum": 15}, "seed": {"type": "integer", "default": -1, "description": "-1 = random"} } } }