要让 OpenClaw(小龙虾)调用 ComfyUI,您需要两个东西:
ComfyUI 的服务地址:例如
http://你的服务器IP:8188,这是 ComfyUI API 监听的地址。API 请求的 payload:也就是您贴出的这个 JSON 文件(作为 POST 请求的 body)。
简单说:地址在启动 ComfyUI 时确定,JSON 是用来告诉 ComfyUI “怎么做”的配方。
1️⃣ 如何获取 ComfyUI 的 API 地址?
启动 ComfyUI 时,您已经添加了 --listen 0.0.0.0 和 --port 8188,因此 API 地址为:
text
http://<服务器IP>:8188例如:http://192.168.1.100:8188
如果是在本机测试,可以用 http://127.0.0.1:8188。
2️⃣ 如何用这个 JSON 文件调用 ComfyUI?
ComfyUI 的标准 API 是:将工作流 JSON 通过 POST 请求发送到 /prompt 端点。
bash
curl -X POST http://你的服务器IP:8188/prompt \
-H "Content-Type: application/json" \
-d @/path/to/你的工作流.json返回的 JSON 中会包含 prompt_id,然后可以通过 /history/<prompt_id> 获取结果(生成的视频文件路径)。
3️⃣ 在 OpenClaw 中如何配置?
OpenClaw 通常需要的是一个 OpenAI 兼容的 API 端点。但 ComfyUI 原生 API 不是 OpenAI 格式,所以有两种方案:
方案 A:使用 ComfyUI 的 OpenAI 兼容代理
有一些工具(如 comfyui-api-server 或 comfyui-openai-proxy)可以将 ComfyUI 包装成 OpenAI API 风格。您需要先部署这样一个代理,然后在 OpenClaw 中配置 base_url 为代理地址,model 填写您的 JSON 文件(或代理中定义的模型名)。
方案 B:让 OpenClaw 直接调用 ComfyUI API(需自定义)
如果 OpenClaw 支持自定义 HTTP 调用(例如通过 openclaw run --custom-api),您可以将上述 curl 命令封装成脚本,让 OpenClaw 执行。
4️⃣ 您的 JSON 文件中缺少什么?
您的 JSON 节点 "267:266" 中已经包含了提示词模板,但注意:
您的工作流中包含布尔开关(
"267:201"值true),可能用来切换“文本生成视频”还是“图像生成视频”。目前是文本生成视频模式(因为
true表示 Text to Video)。如果您想通过 API 动态传入提示词,需要修改 JSON,把"267:266"节点的value字段改成变量占位符(例如%PROMPT%),然后在调用时替换。
✅ 总结
地址:就是您运行 ComfyUI 的
http://IP:8188JSON:是 API 请求的 body,用于定义生成任务
调用方法:
POST /prompt带上这个 JSON集成 OpenClaw:需要额外转换层或自定义脚本
如果您需要,我可以帮您把这个 JSON 改造成一个可被 OpenClaw 调用的 API 封装脚本(例如 Flask 中间件),让 OpenClaw 像调用普通模型一样调用您的 ComfyUI 视频生成工作流。