用途:介绍 ComfyUI 自定义节点的输入定义方式,区分控件输入(生成 UI 控件)与连接输入(生成插槽)。
主要能力:控件类型包括 INT(default、min、max、step、control_after_generate、display_mode、tooltip)、FLOAT(增加 round、gradient_stops)、STRING(multiline、placeholder、dynamic_prompts)、BOOLEAN(label_on/label_off)、COMBO 下拉(options、Enum、文件上传 upload/image_folder、remote 远程选项与刷新)、MULTICOMBO、COLOR、COLORS、BOUNDING_BOX、BOUNDING_BOXES、CURVE、RANGE、WEBCAM、IMAGECOMPARE。通用选项含 optional、tooltip、lazy、advanced、raw_link。force_input 把控件强制显示为连接插槽;socketless 只显示控件、不生成插槽。
使用方式:在 define_schema 的 io.Schema inputs 中声明输入;可选输入在 execute 中默认 None;隐藏输入通过 hidden=[io.Hidden.unique_id、prompt、extra_pnginfo、dynprompt、auth_token_comfy_org、api_key_comfy_org、comfy_usage_source] 声明,运行时经 cls.hidden 读取。惰性输入需 lazy=True 并实现 check_lazy_status(),返回需要计算的输入名列表,未计算值为 None,该方法可能被多次调用。文中同时给出 V1 旧版 INPUT_TYPES 格式作为参考。
适用场景:为 ComfyUI 自定义节点配置各类输入控件、连接插槽与参数元数据。
限制:示例中的 CurveInput.from_raw、RangeInput.from_raw 需从 comfy_api.input 导入;部分能力的具体行为与版本相关,资料未提供版本号与兼容范围。