mirror of
https://github.com/civitai/civitai.git
synced 2026-09-20 22:08:18 +08:00
6bec49c2d8
H3 comfy gains video ControlNet via the orchestrator's controlVideo operation, backed by the H3 Fun ControlNet Union checkpoint. The picker offers the five preprocessors PreprocessVideoInput implements — canny, depth-anything-v2, dwpose, hed, mlsd — which is exactly the Union's Canny/Depth/HED/MLSD/Pose set. Auto mode emits a preprocessVideo step and $refs its blob into the gen step; preprocessed mode passes a user-supplied control map straight through. Wired in both the data-graph and form-graph lanes. txt2vid only, and comfy only. ComfyMiniMaxH3ControlVideoInput inherits neither firstFrame/lastFrame nor images, so the three H3 operations are mutually exclusive — offering control on an image workflow would discard the user's frames at submit time. Both the graph and the handler enforce this; the handler re-checks because a stale value reaching it would fail as lost input rather than as an error. Also adds vid2vid:preprocess, the standalone control-preprocessor workflow for video, mirroring img2img:preprocess. Its control map is the deliverable, so unlike the in-generation step its output is not suppressed. Both surfaces show before/after previews, labelled as stills since no video samples exist. Control types come from @civitai/orchestration-client: the pinned @civitai/client predates preprocessVideo and has no equivalent type. Notes: - normalizeStepOutput and StepData.mediaType both defaulted an unknown step type to "no output" and "image" respectively, so a submitted preprocessVideo step rendered nothing. Both now handle it, with tests that fail on a revert. - kindParams spread last in both preprocess handlers, letting a caller override the validated kind and the clamped resolution. Now spread first; the image handler had the same ordering. - Extracts PreprocessKindParamsInput, shared by both preprocessor forms. - Fixes stale comments claiming ControlNets are disabled everywhere and that PreprocessorExamples is used by the ControlNets input. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>