worker-comfyui

GitHub
673 638 中等 1 次阅读 4天前AGPL-3.0Agent图像开发框架
AI 解读 由 AI 自动生成,仅供参考

worker-comfyui 是一个将强大的 ComfyUI 可视化工作流引擎转化为无服务器(Serverless)API 的开源项目,专为 RunPod 云平台设计。它解决了传统部署 ComfyUI 时面临的配置复杂、资源管理困难以及难以集成到现有应用后端等痛点。通过该项目,用户无需手动维护 GPU 服务器或处理繁琐的环境依赖,只需调用 API 即可提交工作流并获取生成的图像结果。

该工具特别适合开发者、AI 研究人员以及希望将生成式 AI 能力嵌入自身产品的设计团队。对于需要批量处理图像或构建自动化内容生产管线的用户而言,它提供了极佳的扩展性。其核心技术亮点在于提供了多种预构建的 Docker 镜像,内置了包括 FLUX.1、Stable Diffusion XL 及 SD3 在内的主流模型环境,实现了“开箱即用”。此外,它支持同步与异步两种请求模式,输出结果既可以直接返回 Base64 编码字符串,也能配置为自动上传至 S3 存储桶,灵活适应不同的业务架构需求。这让专注于算法逻辑或应用开发的用户,能够从基础设施运维中解放出来,高效地利用云端算力进行创意生产。

使用场景

一家电商初创公司的后端团队需要为商品详情页动态生成高质量的营销配图,以应对每日数千次的个性化图片请求。

没有 worker-comfyui 时

  • 资源闲置浪费:团队必须长期租用昂贵的 GPU 服务器来部署 ComfyUI,即使深夜无请求时也在空转计费,成本居高不下。
  • 运维负担沉重:每次更新 Stable Diffusion 模型或调整工作流节点,都需要人工登录服务器重新配置环境、拉取镜像,极易出错且耗时。
  • 并发扩展困难:遇到促销活动流量激增时,固定数量的服务器无法自动扩容,导致图片生成排队严重,前端页面加载超时。
  • 集成逻辑复杂:后端代码需自行编写复杂的队列管理和状态轮询逻辑,以处理异步生成任务,增加了系统耦合度。

使用 worker-comfyui 后

  • 按需付费降本:基于 RunPod Serverless 架构,仅在 API 接收到生成请求时才启动实例并计费,无请求时费用为零,大幅降低运营成本。
  • 开箱即用部署:直接选用预装了 FLUX.1 或 SDXL 模型的官方 Docker 镜像,通过环境变量即可配置 S3 存储,无需手动管理底层依赖。
  • 弹性自动伸缩:面对流量高峰,平台自动并行启动数百个无状态实例处理请求,流量回落时自动释放,彻底消除排队瓶颈。
  • 标准化 API 集成:后端只需调用标准的 /run 接口传入 JSON 工作流,即可同步或异步获取 Base64 图片或 S3 链接,开发效率显著提升。

worker-comfyui 将复杂的 ComfyUI 工作流转化为弹性、低成本的云端 API,让开发者能专注于业务逻辑而非基础设施运维。

运行环境要求

操作系统
  • Linux
GPU

必需 NVIDIA GPU (基于 RunPod 平台特性),具体型号和显存取决于所选模型 (如 FLUX.1, SDXL, SD3),CUDA 版本由 Docker 镜像预配置

内存

未说明 (取决于所选模型和工作流复杂度,RunPod 实例通常建议 16GB+)

依赖
notes该工具以 Docker 容器形式在 RunPod 无服务器平台上运行,无需本地安装环境。用户需选择预构建的 Docker 镜像(包含不同模型如 FLUX.1, SDXL, SD3 等)。输入输出通过 API 进行,支持同步和异步模式。大尺寸输入图片需注意 RunPod 的请求大小限制(同步 20MB,异步 10MB)。可通过环境变量配置 S3 存储上传结果。
python未说明 (包含在 Docker 镜像中)
ComfyUI
PyTorch (版本依镜像而定)
Transformers (隐含依赖)
Diffusers (隐含依赖)
worker-comfyui hero image

快速开始

worker-comfyui

ComfyUI 作为无服务器 API,在 RunPod 上运行

RunPod


本项目允许您在 RunPod 平台上将 ComfyUI 工作流作为无服务器 API 端点运行。通过 API 调用提交工作流,并以 base64 字符串或 S3 URL 的形式接收生成的图像。

目录


快速入门

  1. 🐳 为您的无服务器端点选择一个 可用的 Docker 镜像,例如 runpod/worker-comfyui:<version>-sd3
  2. 📄 按照 部署指南 设置您的 RunPod 模板和端点。
  3. ⚙️ 您可以使用环境变量对工作器进行可选配置(例如用于 S3 上传),请参阅完整的 配置指南
  4. 🧪 从 test_resources/workflows/ 中选择一个示例工作流,或者 获取您自己的工作流 JSON
  5. 🚀 按照下面的 使用方法 步骤与您部署的端点交互。

可用的 Docker 镜像

这些镜像可在 Docker Hub 上找到,仓库名为 runpod/worker-comfyui

  • runpod/worker-comfyui:<version>-base:纯净的 ComfyUI 安装,不含任何模型。
  • runpod/worker-comfyui:<version>-flux1-schnell:包含 FLUX.1 schnell 所需的检查点、文本编码器和 VAE。
  • runpod/worker-comfyui:<version>-flux1-dev:包含 FLUX.1 dev 所需的检查点、文本编码器和 VAE。
  • runpod/worker-comfyui:<version>-sdxl:包含 Stable Diffusion XL 所需的检查点和 VAE。
  • runpod/worker-comfyui:<version>-sd3:包含 Stable Diffusion 3 medium 所需的检查点。

请将 <version> 替换为当前的发布标签,最新版本可在 发行页面 查看。

API 规范

该工作器暴露了标准的 RunPod 无服务器端点(/run/runsync/health)。默认情况下,图像会以 base64 字符串的形式返回。您可以通过设置特定的环境变量来配置工作器,使其将图像上传到 S3 存储桶(详见 配置指南)。

对于需要等待任务完成并直接返回结果的同步请求,请使用 /runsync 端点。而对于异步请求,则应使用 /run 端点,它会立即返回一个作业 ID;您需要单独轮询 /status 端点来获取结果。

输入

{
  "input": {
    "workflow": {
      "6": {
        "inputs": {
          "text": "a ball on the table",
          "clip": ["30", 1]
        },
        "class_type": "CLIPTextEncode",
        "_meta": {
          "title": "CLIP Text Encode (Positive Prompt)"
        }
      }
    },
    "images": [
      {
        "name": "input_image_1.png",
        "image": "data:image/png;base64,iVBOR..."
      }
    ]
  }
}

下表描述了 input 对象中的字段:

字段路径 类型 必填 描述
input 对象 包含请求数据的顶层对象。
input.workflow 对象 所需格式 导出的 ComfyUI 工作流。
input.images 数组 可选的输入图像数组。每张图像都会被上传到 ComfyUI 的 input 目录,并可以在工作流中通过其 name 引用。
input.comfy_org_api_key 字符串 可选的每请求 Comfy.org API 密钥,用于 API 节点。如果同时设置了此键和 COMFY_ORG_API_KEY 环境变量,则优先使用前者。

input.images 对象

input.images 数组中的每个对象必须包含以下字段:

字段名 类型 必填 描述
name 字符串 用于在工作流中引用该图像的文件名(例如通过“加载图像”节点)。数组内必须唯一。
image 字符串 图像的 base64 编码字符串。数据 URI 前缀(如 data:image/png;base64,)是可选的,系统会正确处理。

[!NOTE]

大小限制: RunPod 端点对请求大小有限制(例如 /run 为 10MB,/runsync 为 20MB)。较大的 base64 格式输入图像可能会超出这些限制。更多信息请参阅 RunPod 文档

输出

[!WARNING]

输出格式的重大变更(5.0.0 及以上版本)

版本 < 5.0.0 会直接在 output.message 字段中返回主图像数据(S3 URL 或 base64 字符串)。 自 5.0.0 起,输出格式发生了显著变化,详情如下所示。

{
  "id": "sync-uuid-string",
  "status": "COMPLETED",
  "output": {
    "images": [
      {
        "filename": "ComfyUI_00001_.png",
        "type": "base64",
        "data": "iVBORw0KGgoAAAANSUhEUg..."
      }
    ]
  },
  "delayTime": 123,
  "executionTime": 4567
}
字段路径 类型 是否必填 描述
output 对象 顶层对象,包含作业执行结果。
output.images 对象数组 如果工作流生成了图像,则存在此字段。包含一个对象列表,每个对象代表一张输出图像。
output.errors 字符串数组 如果处理过程中发生了非致命错误或警告(例如 S3 上传失败、数据缺失),则存在此字段。

output.images

output.images 数组中的每个对象具有以下结构:

字段名称 类型 描述
filename 字符串 ComfyUI 在生成过程中分配的原始文件名。
type 字符串 表示数据的格式。可以是 "base64""s3_url"(如果已配置 S3 上传)。
data 字符串 包含 base64 编码的图像字符串,或者已上传图像文件的 S3 URL。

[!NOTE] output.images 字段提供了所有生成图像的列表(不包括临时图像)。

  • 如果未配置 S3 上传(默认情况),type 将为 "base64"data 将包含 base64 编码的图像字符串。
  • 如果已配置 S3 上传,type 将为 "s3_url"data 将包含 S3 URL。有关 S3 示例响应,请参阅配置指南
  • 与 API 交互的客户端需要处理 output.images 下的列表结构。

使用方法

要与您部署的 RunPod 端点进行交互:

  1. 获取 API 密钥: 在 RunPod 的用户设置中生成密钥(“API 密钥”部分)。
  2. 获取端点 ID: 您可以在无服务器端点页面或您的端点“概览”页面上找到端点 ID。

生成图像(同步示例)

将工作流发送到 /runsync 端点(等待完成)。请替换 <api_key><endpoint_id>-d 参数应包含上述输入 JSON

curl -X POST \
  -H "Authorization: Bearer <api_key>" \
  -H "Content-Type: application/json" \
  -d '{"input":{"workflow":{... 您的工作流 JSON ...}}}' \
  https://api.runpod.ai/v2/<endpoint_id>/runsync

您也可以使用 /run 端点提交异步任务,然后轮询 /status 来查看任务何时完成。或者您可以在请求中添加 webhook,以便在任务完成后收到通知。

完整的输入示例请参考 test_input.json

获取工作流 JSON

要获取适用于 API 的正确 workflow JSON:

  1. 在浏览器中打开 ComfyUI。
  2. 在顶部导航栏中选择“工作流 > 导出(API)”。
  3. 将下载一个 workflow.json 文件。请将该文件的内容用作 API 请求中 input.workflow 字段的值。

SSH 访问

要启用对工作器的 SSH 访问,请将 PUBLIC_KEY 环境变量设置为您自己的 SSH 公钥。工作器将自动启动 SSH 服务器。请确保在您的 RunPod 模板中开放 端口 22,以便您可以连接。

更多文档

  • 部署指南 在 RunPod 上部署的详细步骤。
  • 配置指南 环境变量的完整列表(包括 S3 设置)。
  • 定制指南 添加自定义模型和节点(网络卷、Docker 构建)。
  • 开发指南 搭建本地开发与测试环境。
  • CI/CD 指南 关于自动化 Docker 构建和发布流程的信息。
  • 致谢 致谢与感谢

版本历史

5.8.52026/03/20
5.8.42026/03/20
5.8.32026/03/17
5.7.12025/12/24
5.7.02025/12/24
5.6.02025/12/03
5.5.12025/11/10
5.5.02025/10/08
5.4.12025/09/04
5.4.02025/08/14
5.3.02025/07/22
5.2.02025/07/02
5.1.12025/07/01
5.1.02025/05/28
5.0.42025/05/19
5.0.32025/05/19
5.0.22025/05/16
5.0.12025/05/09
5.0.02025/05/02
4.1.02025/05/02

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架