
https://github.com/comfyanonymous/ComfyUI 作为 RunPod 上的无服务器API
。test_resources/workflows/ 中选择示例工作流或获取你自己的工作流。以下镜像在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> 替换为当前发布标签,查看https://github.com/runpod-workers/worker-comfyui/releases%E8%8E%B7%E5%8F%96%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E3%80%82
工作器公开标准RunPod无服务器端点(/run、/runsync、/health)。默认情况下,图像以base64字符串形式返回,也可配置为S3 URL。通过环境变量可配置工作器(如S3上传)- 详见完整配置指南。
使用 /runsync 端点进行同步请求,等待作业完成并直接返回结果;使用 /run 端点进行异步请求,立即返回作业ID,需单独轮询 /status 端点获取结果。
json{ "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 | 字符串 | 否 | 用于API节点的可选每请求Comfy.org API密钥。若同时设置环境变量COMFY_ORG_API_KEY,此值将覆盖它。 |
input.images 对象
input.images 数组中的每个对象必须包含:
| 字段名 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
name | 字符串 | 是 | 在工作流中引用图像的文件名(如通过"Load Image"节点)。在数组中必须唯一。 |
image | 字符串 | 是 | 图像的base64编码字符串。可选包含数据URI前缀(如data:image/png;base64,),将被正确处理。 |
[!NOTE]
大小限制:RunPod端点有请求大小限制(例如
/run为10MB,/runsync为20MB)。大型base64输入图像可能超出这些限制。详见RunPod文档。
[!WARNING]
输出格式重大变更(5.0.0+)
版本
< 5.0.0将主要图像数据(S3 URL或base64字符串)直接返回到output.message字段中。 从5.0.0开始,输出格式发生重大变更,详见下文
json{ "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端点交互:
API Keys 部分)生成密钥。概览页面找到端点ID。将工作流发送到 /runsync 端点(等待完成)。替换 <api_key> 和 <endpoint_id>。-d 值应包含上述JSON输入。
bashcurl -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 获取完整输入示例。
要获取API所需的正确 workflow JSON:
Workflow > Export (API)。workflow.json 文件。将文件内容用作API请求中 input.workflow 字段的值。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务