mirror of
https://github.com/calesthio/OpenMontage.git
synced 2026-08-05 15:20:40 +08:00
COGVIDEO_VARIANTS declares cogvideo-2b i2v=False (it is t2v-only), but cogvideo_video advertised image_to_video + reference_image unconditionally and the variant flag was never consulted. An image_to_video brief against the 2B variant reached the diffusion pipeline and failed opaquely. - Add is_operation_available(operation) that derives capability from the variant table (the selector calls it without inputs, so it reports the DEFAULT variant cogvideo-5b: t2v + i2v both True). This replaces an implicit unconditional-True. - Add an execute()-time guard that consults the CALLER's chosen variant and fails fast with a clear error when it lacks the requested mode (2B + image_to_video), instead of dropping into generate_local_video. - Add _variant_for(inputs) helper shared by estimate_runtime / the guard. Tests pin: the 2B premise (i2v=False), default-variant capability reporting, fast-fail for 2B+i2v (generation never runs), and that 5B+i2v still routes through to generate_local_video. Refs: docs/REVIEW-image-to-video-voice.md §8 #4 Co-Authored-By: Claude <noreply@anthropic.com>