# ComfyUI

> OpenClaw 中的 ComfyUI 工作流图像、视频和音乐生成设置

- 网址：https://funcoding.ai/agents/openclaw/providers/comfy/
- 来源：OpenClaw 官方文档原文（中文），MIT 许可，同步于 2026-10-11
- 官方原文：https://docs.openclaw.ai/zh-CN/providers/comfy

---
OpenClaw 内置了一个 `comfy` 插件，用于运行工作流驱动的 ComfyUI。该
插件完全由工作流驱动：OpenClaw 不会将通用的 `size`、
`aspectRatio`、`resolution`、`durationSeconds` 或 TTS 风格的控件映射到
你的图中。

| 属性         | 详情                                                                             |
| ------------ | -------------------------------------------------------------------------------- |
| 提供商       | `comfy`                                                               |
| 模型         | `comfy/workflow`                                                               |
| 共享工具     | `image_generate`、`video_generate`、`music_generate`                      |
| 身份验证     | 本地 ComfyUI 无需身份验证；Comfy Cloud 使用 `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 实例。

**在本地启动 ComfyUI**

确保本地 ComfyUI 实例正在运行（默认为 `http://127.0.0.1:8188`）。

**准备工作流 JSON**

导出或创建 ComfyUI 工作流 JSON 文件。记下提示词输入节点以及希望 OpenClaw 读取的输出节点的节点 ID。

**配置提供商**

设置 `mode: "local"` 并指向你的工作流文件。最小图像配置示例：

```json5
{
  plugins: {
    entries: {
      comfy: {
        config: {
          mode: "local",
          baseUrl: "http://127.0.0.1:8188",
          image: {
            workflowPath: "./workflows/flux-api.json",
            promptNodeId: "6",
            outputNodeId: "9",
          },
        },
      },
    },
  },
}
```

**设置默认模型**

将 OpenClaw 指向你所配置能力对应的 `comfy/workflow` 模型：

```json5
{
  agents: {
    defaults: {
      imageGenerationModel: {
        primary: "comfy/workflow",
      },
    },
  },
}
```

**验证**

```bash
openclaw models list --provider comfy
```

**Comfy Cloud**

**最适合：** 在 Comfy Cloud 上运行工作流，而无需管理本地 GPU 资源。

**获取 API key**

在 [comfy.org](https://comfy.org) 注册，并从账户仪表板生成 API key。

**设置 API key**

通过以下任一方式提供你的密钥：

```bash
# 新手引导标志
openclaw onboard --comfy-api-key "your-key"

# 环境变量（守护进程的首选方式）
export COMFY_API_KEY="your-key"

# 备用环境变量
export COMFY_CLOUD_API_KEY="your-key"

# 或在配置中内联设置
openclaw config set plugins.entries.comfy.config.apiKey "your-key"
```

**准备工作流 JSON**

导出或创建 ComfyUI 工作流 JSON 文件。记下提示词输入节点和输出节点的节点 ID。

**配置提供商**

设置 `mode: "cloud"` 并指向你的工作流文件：

```json5
{
  plugins: {
    entries: {
      comfy: {
        config: {
          mode: "cloud",
          image: {
            workflowPath: "./workflows/flux-api.json",
            promptNodeId: "6",
            outputNodeId: "9",
          },
        },
      },
    },
  },
}
```

<div class="callout callout-tip">

云模式默认将 `baseUrl` 设为 `https://cloud.comfy.org`。仅在使用自定义云端点时设置 `baseUrl`。

</div>

**设置默认模型**

```json5
{
  agents: {
    defaults: {
      imageGenerationModel: {
        primary: "comfy/workflow",
      },
    },
  },
}
```

**验证**

```bash
openclaw models list --provider comfy
```

## 配置

Comfy 支持共享的顶层连接设置，以及按能力划分的工作流部分（`image`、`video`、`music`）：

```json5
{
  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`    | 字符串                 | 可选的内联密钥，可替代 `COMFY_API_KEY` / `COMFY_CLOUD_API_KEY` 环境变量。 |
| `allowPrivateNetwork`    | 布尔值                 | 允许在云模式中使用私有/局域网 `baseUrl`，或使用本地私有 DNS FQDN。 |

<div class="callout callout-note">

在 `local` 模式下，回环/私有 IP 字面量以及 `http://comfyui:8188` 等单标签服务名称无需 `allowPrivateNetwork` 即可工作。`https://comfy.local.example.com` 等外观类似公网域名的私有 DNS FQDN 需要 `allowPrivateNetwork: true`。对私有来源的信任范围仅限于已配置的协议、主机名和端口；本地重定向不能离开已配置的主机名，而指向公共 CDN 的云端重定向会使用默认 SSRF 策略进行检查。

</div>

### 按能力配置的键

以下键适用于 `image`、`video` 或 `music` 部分：

| 键                           | 必需 | 默认值   | 说明                                                                        |
| ---------------------------- | ---- | -------- | --------------------------------------------------------------------------- |
| `workflow` 或 `workflowPath` | 是 | --       | 内联工作流 JSON，或 ComfyUI 工作流 JSON 文件的路径。                       |
| `promptNodeId`           | 是   | --       | 接收文本提示词的节点 ID。                                                   |
| `promptInputName`           | 否   | `"text"` | 提示词节点上的输入名称。                                       |
| `outputNodeId`           | 否   | --       | 要从中读取输出的节点 ID。省略时，将使用所有匹配的输出节点。                |
| `pollIntervalMs`           | 否   | `1500` | 等待任务完成的轮询间隔，以毫秒为单位。                         |
| `timeoutMs`           | 否   | `300000` | 工作流运行的超时时间，以毫秒为单位。                           |

`image` 和 `video` 部分还支持参考图像输入节点：

| 键                    | 必需                         | 默认值   | 说明                               |
| --------------------- | ---------------------------- | -------- | ---------------------------------- |
| `inputImageNodeId`    | 是（传入参考图像时）         | --       | 接收已上传参考图像的节点 ID。      |
| `inputImageInputName`    | 否                           | `"image"` | 图像节点上的输入名称。 |

`apiKey` 接受字面字符串或[密钥引用](https://funcoding.ai/agents/openclaw/gateway/configuration-reference/#secrets)对象。

## 工作流详情

<details>
<summary>图像工作流</summary>

将默认图像模型设置为 `comfy/workflow`：

```json5
{
  agents: {
    defaults: {
      imageGenerationModel: {
        primary: "comfy/workflow",
      },
    },
  },
}
```

**参考图像编辑示例：**

要使用上传的参考图像启用图像编辑，请将 `inputImageNodeId` 添加到图像配置中：

```json5
{
  plugins: {
    entries: {
      comfy: {
        config: {
          image: {
            workflowPath: "./workflows/edit-api.json",
            promptNodeId: "6",
            inputImageNodeId: "7",
            inputImageInputName: "image",
            outputNodeId: "9",
          },
        },
      },
    },
  },
}
```

</details>

<details>
<summary>视频工作流</summary>

将默认视频模型设置为 `comfy/workflow`：

```json5
{
  agents: {
    defaults: {
      videoGenerationModel: {
        primary: "comfy/workflow",
      },
    },
  },
}
```

Comfy 视频工作流通过已配置的图支持文生视频和图生视频。

<div class="callout callout-note">

OpenClaw 不会将输入视频传入 Comfy 工作流。仅支持将文本提示词和单张参考图像作为输入。

</div>

</details>

<details>
<summary>音乐工作流</summary>

内置插件为工作流定义的音频或音乐输出注册了音乐生成提供商，并通过共享的 `music_generate` 工具提供。它可以接受一张可选的参考图像（最多 1 张）：

```text
/tool music_generate prompt="带有柔和磁带质感的温暖氛围合成器循环"
```

使用 `music` 配置部分指向你的音频工作流 JSON 和输出节点。

</details>

<details>
<summary>向后兼容性</summary>

现有的顶层图像配置（不含嵌套的 `image` 部分）仍然有效：

```json5
{
  plugins: {
    entries: {
      comfy: {
        config: {
          workflowPath: "./workflows/flux-api.json",
          promptNodeId: "6",
          outputNodeId: "9",
        },
      },
    },
  },
}
```

OpenClaw 将该旧版结构视为图像工作流配置。你无需立即迁移，但对于新设置，建议使用嵌套的 `image` / `video` / `music` 部分。如果你只使用图像生成，则旧版扁平配置与新的嵌套 `image` 部分在功能上等效。

</details>

<details>
<summary>实时测试</summary>

内置插件提供可选择启用的实时测试覆盖：

```bash
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
```

除非配置了对应的 Comfy 工作流部分，否则实时测试会跳过各个图像、视频或音乐测试用例。

</details>

## 相关内容

- [图像生成](https://funcoding.ai/agents/openclaw/tools/image-generation/)：图像生成工具的配置和用法。
- [视频生成](https://funcoding.ai/agents/openclaw/tools/video-generation/)：视频生成工具的配置和用法。
- [音乐生成](https://funcoding.ai/agents/openclaw/tools/music-generation/)：音乐和音频生成工具的设置。
- [提供商目录](https://funcoding.ai/agents/openclaw/providers/)：所有提供商和模型引用的概览。
- [配置参考](https://funcoding.ai/agents/openclaw/gateway/config-agents/#agent-defaults)：完整的配置参考，包括智能体默认值。
