ComfyUI
安装官方 comfy 插件,以支持工作流驱动的 ComfyUI 运行:
安装操作会自动应用到正在运行的 Gateway;否则将在下次启动时生效。参见 应用更改并检查。
该插件完全由工作流驱动:OpenClaw 不会将通用的 size、aspectRatio、resolution、durationSeconds 或 TTS 风格的控制映射到你的图上。
| 属性 | 详情 |
|---|---|
| Provider | comfy |
| Model | comfy/workflow |
| Shared tools | image_generate, video_generate, music_generate |
| Auth | 本地 HTTP 认证可选用 headers;云模式使用 COMFY_API_KEY 或 COMFY_CLOUD_API_KEY |
| API | ComfyUI /prompt / /history / /view;Comfy Cloud /api/* |
支持的功能¶
- 通过工作流 JSON 进行图像生成和编辑(编辑模式使用 1 张上传的参考图像)
- 通过工作流 JSON 进行视频生成,支持文本生成视频或图像生成视频(1 张参考图像)
- 通过共享的
music_generate工具进行音乐/音频生成,可选用 1 张参考图像 - 从配置的输出节点下载结果;若未配置节点,则从所有匹配的输出节点下载
快速开始¶
你可以选择在自己的机器上运行 ComfyUI,或使用 Comfy Cloud。
**适用场景:** 在你的机器或局域网上运行你自己的 ComfyUI 实例。
1. 在本地启动 ComfyUI
确保你的本地 ComfyUI 实例正在运行(默认地址为 http://127.0.0.1:8188)。
2. 准备工作流 JSON
导出或创建一个 ComfyUI 工作流 JSON 文件。记下提示词输入节点和输出节点的节点 ID,OpenClaw 将从这些节点读取数据。
3. 配置提供方
设置 mode: "local" 并指向你的工作流文件。最小图像示例:
{
plugins: {
entries: {
comfy: {
config: {
mode: "local",
baseUrl: "http://127.0.0.1:8188",
image: {
workflowPath: "./workflows/flux-api.json",
promptNodeId: "6",
outputNodeId: "9",
},
},
},
},
},
}
4. 设置默认模型
将 OpenClaw 指向你为相应能力配置的 comfy/workflow 模型:
5. 验证
**适用场景:** 在 Comfy Cloud 上运行工作流,无需管理本地 GPU 资源。
1. 获取 API 密钥
在 comfy.org 注册并从你的账户仪表板生成 API 密钥。
2. 设置 API 密钥
可通过以下任一方式提供你的密钥:
# Onboarding flag
openclaw onboard --comfy-api-key "your-key"
# Environment variable (preferred for daemons)
export COMFY_API_KEY="your-key"
# Alternative environment variable
export COMFY_CLOUD_API_KEY="your-key"
# Or inline in config
openclaw config set plugins.entries.comfy.config.apiKey "your-key"
3. 准备工作流 JSON
导出或创建一个 ComfyUI 工作流 JSON 文件。记下提示词输入节点和输出节点的节点 ID。
4. 配置提供方
设置 `mode: "cloud"` 并指向你的工作流文件:
```json5
{
plugins: {
entries: {
comfy: {
config: {
mode: "cloud",
image: {
workflowPath: "./workflows/flux-api.json",
promptNodeId: "6",
outputNodeId: "9",
},
},
},
},
},
}
```
Tip
云模式下 baseUrl 默认为 https://cloud.comfy.org。仅为自定义云端点设置 baseUrl。
5. 设置默认模型
6. 验证
配置¶
Comfy 支持共享的顶级连接设置,以及按能力划分的工作流配置段(image、video、music):
{
plugins: {
entries: {
comfy: {
config: {
mode: "local",
baseUrl: "http://127.0.0.1:8188",
image: {
workflowPath: "./workflows/flux-api.json",
promptNodeId: "6",
outputNodeId: "9",
},
video: {
workflowPath: "./workflows/video-api.json",
promptNodeId: "12",
outputNodeId: "21",
},
music: {
workflowPath: "./workflows/music-api.json",
promptNodeId: "3",
outputNodeId: "18",
},
},
},
},
},
}
共享键¶
| 键 | 类型 | 描述 |
|---|---|---|
mode |
"local" 或 "cloud" |
连接模式。默认为 "local"。 |
baseUrl |
字符串 | 本地模式默认为 http://127.0.0.1:8188,云端模式默认为 https://cloud.comfy.org。 |
apiKey |
字符串或 SecretRef | 可选的云端密钥,作为 COMFY_API_KEY / COMFY_CLOUD_API_KEY 环境变量的替代。 |
allowPrivateNetwork |
布尔值 | 允许在云端模式下使用私有/局域网的 baseUrl,或允许本地的私有 DNS FQDN。 |
headers |
对象 | 额外的请求头;每个值接受字符串或 SecretRef。 |
对于位于 HTTP 认证之后的 ComfyUI 实例,请使用 headers.Authorization。
对于凭据,优先使用 secret 引用。
在两种模式下,请求头都适用于上传、工作流提交、轮询和下载。它们以不区分大小写的方式覆盖默认请求头,但图片上传时的 Content-Type 除外:运行时负责设置 multipart 边界。如果某个请求头引用的 SecretRef 不可用,则在发送任何请求之前就会失败。响应错误中会隐去回显的请求头值。
Note
在 local 模式下,回环/私有 IP 字面量和单标签服务名(如 http://comfyui:8188)无需 allowPrivateNetwork 即可使用。看起来像公网的私有 DNS FQDN(如 https://comfy.local.example.com)需要设置 allowPrivateNetwork: true。私有来源信任仅限于所配置的协议、主机名和端口;本地重定向不能离开所配置的主机名,而指向公共 CDN 的云端重定向会按照默认 SSRF 策略进行检查。
各能力对应的键¶
这些键适用于 image、video 或 music 部分:
| 键(Key) | 是否必填 | 默认值 | 描述(Description) |
|---|---|---|---|
workflow 或 workflowPath |
是 | -- | 内联工作流 JSON,或 ComfyUI 工作流 JSON 文件的路径。 |
promptNodeId |
是 | -- | 接收文本提示的节点 ID。 |
promptInputName |
否 | "text" |
提示节点上的输入名称。 |
seedNodeId |
否 | -- | 每次提交时其输入都会收到新的随机种子的节点 ID。省略则每次运行时都复用工作流文件中内置的种子。 |
seedInputName |
否 | "seed" |
种子节点上的输入名称。 |
outputNodeId |
否 | -- | 从中读取输出的节点 ID。如果省略,则使用所有匹配的输出节点。 |
pollIntervalMs |
否 | 1500 |
任务完成的轮询间隔(毫秒)。 |
timeoutMs |
否 | 300000 |
工作流运行的超时时间(毫秒)。 |
image 和 video 部分还支持一个参考图片输入节点:
| 键(Key) | 是否必填 | 默认值 | 描述(Description) |
|---|---|---|---|
inputImageNodeId |
是(当传递参考图片时) | -- | 接收上传的参考图片的节点 ID。 |
inputImageInputName |
否 | "image" |
图片节点上的输入名称。 |
apiKey 接受字面字符串或 secret 引用 对象。
工作流详情¶
图片工作流
将默认图片模型设置为 comfy/workflow:
参考图片编辑示例:
要使用上传的参考图片进行图片编辑,请将 inputImageNodeId 添加到你的图片配置中:
视频工作流
将默认视频模型设置为 `comfy/workflow`:
```json5
{
agents: {
defaults: {
mediaModels: {
video: {
primary: "comfy/workflow",
},
},
},
},
}
```
Comfy 视频工作流支持通过已配置的图实现文本生成视频和图像生成视频。
!!! note
OpenClaw 不会将输入视频传入 Comfy 工作流。仅支持文本 Prompt 和单张参考图像作为输入。
音乐工作流
捆绑插件会为工作流定义的音频或音乐输出注册一个音乐生成 provider,并通过共享的 music_generate 工具暴露。它接受一个可选参考图像(最多 1 张):
使用 music 配置段指向你的音频工作流 JSON 和输出节点。
向后兼容
现有的顶层 image 配置(没有嵌套的 image 段)仍然有效:
{
plugins: {
entries: {
comfy: {
config: {
workflowPath: "./workflows/flux-api.json",
promptNodeId: "6",
outputNodeId: "9",
},
},
},
},
}
OpenClaw 会将该旧格式视为 image 工作流配置。你无需立即迁移,但新配置建议使用嵌套的 image / video / music 段。如果只使用图像生成,旧版扁平配置和新的嵌套 image 段在功能上是等价的。
实时测试
捆绑插件支持可选启用的实时测试覆盖:
除非配置了匹配的 Comfy 工作流段,否则实时测试会跳过单独的 image、video 或 music 用例。
相关¶
图像生成工具的配置和使用。
视频生成工具的配置和使用。
音乐和音频生成工具的设置。
所有 provider 和模型引用的概览。
完整配置参考,包括 agent 默认值。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw