SuperAPI AI 工具集

comfyui

设计与创作

查看项目

更新于 10-15 16:35

技能介绍

ComfyUI Workflows in OpenMontage

用途

本技能用于在 OpenMontage 中处理 ComfyUI 工作流,适用于调用 comfyui_image、comfyui_video、comfyui_music 之前,以及把社区 ComfyUI 工作流转换为 OpenMontage 工具调用时。

服务端契约

工具生成前必须先运行 ComfyUI。默认服务端为 http://localhost:8188,可用 COMFYUI_SERVER_URL 覆盖。

若按能力运行不同的 ComfyUI 实例(不同 GPU、不同模型集),可用 COMFYUI_IMAGE_SERVER_URL / COMFYUI_VIDEO_SERVER_URL / COMFYUI_MUSIC_SERVER_URL 分别覆盖对应工具的地址;这是可选项,单服务端部署无需设置。

健康与硬件状态来自 GET /system_stats。任务提交到 POST /prompt,完成输出从 GET /history/{prompt_id} 读取,产物字节用 GET /view 下载。

长等待任务(视频、音乐)优先使用 ComfyUI 的 websocket 推送以立即检测完成或错误,未安装 websocket-client 时自动回退到 REST 轮询。无论哪种方式,超时都可恢复:把错误中的 prompt_id 作为 resume_prompt_id 传回,即可继续等待同一任务,而无需重新提交。

工作流应以 ComfyUI 的 API 格式 JSON 导出,而非 UI 布局格式。若下载的工作流无法提交,请在 ComfyUI 中启用 API 格式重新导出。

Partner Nodes 为托管节点

comfyui_video 中的 gemini_omni_flash、seedance_2.5、minimax_h3_api 是官方 ComfyUI Partner Nodes,会调用托管 API,需要网络访问、已登录的 Comfy 账号和预付费额度。不要仅因图在本地 ComfyUI 进程中运行,就把 Partner Nodes 描述为本地、离线或免费。

minimax_h3_local 是单独的开放权重路径,需要以 API 格式导出的官方 MiniMax H3 工作流、其 output_node,以及工具报告的模型栈。

工作流选择

当请求的操作匹配且本机具备所需模型与显存时,使用内置工作流。

当用户需要社区配方、更低显存模型、不同风格家族或自定义节点时,使用自定义 workflow_json 或 workflow_path。

对于 8GB-12GB GPU,优先使用占用更低的工作流,例如 Wan 2.1 1.3B、LTXV FP8 或量化工作流,或 Wan 2.2 GGUF/量化社区工作流。内置的 Wan 2.2 14B FP8 视频工作流属于 16GB 级别路径,并非所有提供方的下限。

不要承诺任意自定义工作流都能适配某台机器。工作流、量化、分辨率、帧数与卸载设置共同决定真实资源边界。

输出节点契约

自定义工作流必须传入 output_node。选择写出产物的节点,通常是 SaveImage、SaveVideo、VHS_VideoCombine 或其他终端保存节点。以字符串形式传入节点 ID,例如 "108",不要传类名。若工作流有多个保存节点,选择最终交付节点,而非预览或中间节点。

模板化节点与固定节点

执行前先识别模板化节点:提示词文本、种子、尺寸、帧数、源图、采样器设置、输出文件名前缀。固定节点包括模型加载器、VAE、文本编码器、LoRA 加载器、调度器与图连线,除非工作流作者有意允许定制,否则不要修改。对于社区工作流,运行前检查每个加载器节点,记录所有必需模型或自定义节点。缺失模型应通过工具的结构化 missing_models 载荷处理(如可用)。

视频工作流需要时间潜变量

视频工作流的空潜变量节点必须是视频潜变量——Wan 2.2 t2v 用 EmptyHunyuanLatentVideo,图像条件变体用 Wan22ImageToVideoLatent 或 WanImageToVideo。帧数放在 length;batch_size 表示生成多少段独立片段,保持为 1。把 EmptyLatentImage 的 batch_size 设为帧数是一个陷阱:它会请求 N 张互不相关的图像,生成的 MP4 帧数、时长和编码都正确且能通过 ffprobe,但画面会闪烁。运行不熟悉的视频工作流前先检查潜变量节点。

模型与 LoRA 设置

可用时使用 ComfyUI Manager 或工作流作者提供的模型链接,并遵守模型许可。将模型放入加载器节点预期的目录:扩散模型放在 ComfyUI/models/diffusion_models/,文本编码器放在 ComfyUI/models/text_encoders/,VAE 放在 ComfyUI/models/vae/,LoRA 放在 ComfyUI/models/loras/。对于 LoRA 栈,在工作流中使用 LoraLoader 或 LoraLoaderModelOnly 链,记录每个 LoRA 名称及(适用时)strength_model 与 strength_clip。当前 ComfyUI 工具不会向任意图注入 LoRA;要使用 LoRA,请提供已包含 LoRA 加载器链的工作流并传递模型栈来源信息。

来源信息

对自定义工作流,已知时提供 workflow_name 与 workflow_model。当工作流非内置时,为可复现性提供 workflow_model_stack,包括基础检查点或扩散模型、量化、文本编码器、VAE、LoRA 及强度、采样器或调度器、步数以及工作流暴露的引导系数。工具会记录最终工作流哈希。将该哈希连同模型栈、种子、尺寸与提示词视为可复现契约。

失败处理

若服务端不可用,展示结构化设置建议;启动 ComfyUI 或设置 COMFYUI_SERVER_URL 是首选修复方式。若模型缺失,读取 data.missing_models[],每项应包含文件名、角色、目标路径提示,以及 OpenMontage 已知时的下载 URL。若自定义节点缺失,请用户通过 ComfyUI Manager 或工作流作者记录的安装方式安装,然后重启 ComfyUI。若长时间渲染在本地超时,重试前先检查 ComfyUI 历史,服务端可能已完成该提示词;或者直接再次调用并把 resume_prompt_id 设为超时错误中的 prompt_id。

音乐(comfyui_music)

内置默认为 ACE-Step v1(3.5B)文本转音频,由 ComfyUI 原生 TextEncodeAceStepAudio/EmptyAceStepLatentAudio 节点(核心节点,非第三方包)构建——与 ACE-Step 1.5 或其他自定义节点包不同,v1 的接口足够标准化,可安全内置。

prompt 映射到内置工作流的 tags 字段(风格/流派/情绪,例如 "upbeat electronic pop, female vocals"),与 suno_music 使用的 "prompt = 音乐描述" 约定一致。lyrics 是单独的可选字段——纯音乐留空,非英文歌词可使用 [verse]/[chorus]/[bridge] 结构标签和 [zh]/[ja]/[ko] 风格的语言代码前缀。

duration_seconds、steps、cfg、lyrics_strength 和 seed 可在内置工作流上打补丁。缺少 ace_step_v1_3.5b.safetensors 会通过与图像/视频相同的 data.missing_models[] 契约暴露。

需要 ACE-Step 1.5、不同节点包或非 ACE-Step 音频模型?回退到 workflow_json/workflow_path + output_node,与自定义图像/视频工作流完全一样;在该模式下 prompt 再次仅用于来源与日志,且必须已烘焙进图中。

output_node(内置或自定义)应是写出最终音频的节点——内置工作流的为 SaveAudioMP3。客户端从该节点的 "audio" 输出键读取产物(与图像/视频保存节点的 "images" 相对应)。

对自定义工作流,提供 workflow_name/workflow_model/workflow_model_stack 作为来源信息,方式与自定义图像/视频工作流相同。