modelbeast/server/operators/wan_video/manifest.json
type-two 110b2298b7 audio/video/text operator suite: stt_local, lipsync_local, voice_clone_local, wan_video, llm_local
- stt_local: Whisper large-v3-turbo MLX, transcript + timestamped json
- lipsync_local: Rhubarb visemes (CPU lane), dialog-guided
- voice_clone_local: Chatterbox on MPS (needs setuptools<81 for perth/pkg_resources)
- wan_video: Wan 2.2 TI2V-5B t2v/i2v via resident ComfyUI, frames->mp4
- llm_local: Qwen3-30B-A3B-4bit dialogue writer (primary-only)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 18:26:51 +10:00

24 lines
1.4 KiB
JSON

{
"id": "wan_video",
"name": "Wan 2.2 Video (local, ComfyUI)",
"category": "video-gen",
"description": "Prompt → MP4 (text-to-video), or image + prompt → MP4 (image-to-video), via Wan 2.2 TI2V-5B on the resident ComfyUI (Metal). 24fps, native 1280x704. Defaults are deliberately small (832x480, 49 frames ≈ 2s) — scale up once you know the node's speed. Weights: vendor/comfyui/models (wan2.2_ti2v_5B_fp16 + umt5_xxl_fp8 + wan2.2_vae, ~18GB).",
"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"}
}
}
}