
https://github.com/comfyanonymous/ComfyUI 作为 RunPod 上的无服务器API
和VAE(ae.safetensors)timpietruskyblibla/runpod-worker-comfy:3.6.0-flux1-dev: 包含FLUX.1-dev的检查点、文本编码器和VAEtimpietruskyblibla/runpod-worker-comfy:3.6.0-sdxl: 包含Stable Diffusion XL的检查点和VAE(sdxl_vae.safetensors和sdxl-vae-fp16-fix)timpietruskyblibla/runpod-worker-comfy:3.6.0-sd3: 包含Stable Diffusion 3 medium的检查点(sd3_medium_incl_clips_t5xxlfp8.safetensors)| 环境变量 | 描述 | 默认值 |
|---|---|---|
REFRESH_WORKER | 如需在每个任务完成后停止worker以保持干净状态,设为true(详见官方文档) | false |
COMFY_POLLING_INTERVAL_MS | 轮询间隔时间(毫秒) | 250 |
COMFY_POLLING_MAX_RETRIES | 最大轮询次数,长时间运行的工作流需增大此值 | 500 |
SERVE_API_LOCALLY | 启用本地API服务器用于开发和测试(详见本地测试) | 禁用 |
仅当需要将生成的图像上传至AWS S3时配置。未配置时图像将以base64编码字符串返回。
BUCKET_ENDPOINT_URL)BUCKET_ACCESS_KEY_ID和BUCKET_SECRET_ACCESS_KEY)| 环境变量 | 描述 | 示例 |
|---|---|---|
BUCKET_ENDPOINT_URL | S3存储桶的端点URL | https://<bucket>.s3.<region>.amazonaws.com |
BUCKET_ACCESS_KEY_ID | 访问S3存储桶的AWS访问密钥ID | AKIAIOSFODNN7EXAMPLE |
BUCKET_SECRET_ACCESS_KEY | 访问S3存储桶的AWS密钥 | wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY |
runpod-worker-comfy(可自定义)<dockerhub_username>/<repository_name>:tag,例如timpietruskyblibla/runpod-worker-comfy:3.6.0-sd3(或-base为干净镜像,-sdxl为Stable Diffusion XL,-flux1-schnell为FLUX.1 schnell)20 GB保存模板导航至无服务器 > 端点并点击新建端点
在对话框中配置:
comfy0(根据需求调整)3(根据需求调整)15(默认值)启用(不增加成本,加快worker启动速度)runpod-worker-comfy(或自定义模板名称)高级 > 选择网络卷中选择点击部署
端点创建后,点击进入查看仪表板
| 模型 | 镜像 | 最低VRAM要求 | 容器大小 |
|---|---|---|---|
| Stable Diffusion XL | sdxl | 8 GB | 15 GB |
| Stable Diffusion 3 Medium | sd3 | 5 GB | 20 GB |
| FLUX.1 Schnell | flux1-schnell | 24 GB | 30 GB |
| FLUX.1 dev | flux1-dev | 24 GB | 30 GB |
以下描述API请求中所需的字段。仅说明input中的字段,这些是worker必需的。完整字段列表详见官方文档。
json{ "input": { "workflow": {}, "images": [ { "name": "example_image_name.png", "image": "base64_encoded_string" } ] } }
| 字段路径 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
input | 对象 | 是 | 包含请求数据的顶层对象 |
input.workflow | 对象 | 是 | ComfyUI工作流配置 |
input.images | 数组 | 否 | 图像数组,每张图像将添加到ComfyUI的"input"文件夹,可通过name在工作流中引用 |
"input.images"
图像数组,每张图像需有唯一名称。
🚨 RunPod端点的请求体大小限制:/run为10 MB,/runsync为20 MB,因此输入图像不宜过大(详见官方文档)
| 字段名 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
name | 字符串 | 是 | 图像名称,需与工作流中引用的名称一致 |
image | 字符串 | 是 | 图像的base64编码字符串 |
生成API密钥:
API密钥,然后点击生成API密钥按钮。使用API密钥:
<api_key>替换为你的密钥。使用端点:
<endpoint_id>替换为端点ID(点击端点后,ID显示在顶部名称下方,也包含在底部URL中)。!如何查找EndpointID
bashcurl -H "Authorization: Bearer <api_key>" https://api.runpod.ai/v2/<endpoint_id>/health
可使用/run(异步)或/runsync(同步)创建任务。以下示例使用同步任务,等待响应返回。
API期望的JSON格式中,workflow为从ComfyUI导出的JSON工作流,images为可选。
详见test_input.json了解API输入格式。
SDXL的cURL请求示例
bashcurl -X POST -H "Authorization: Bearer <api_key>" -H "Content-Type: application/json" -d '{"input":{"workflow":{"3":{"inputs":{"seed":1337,"steps":20,"cfg":8,"sampler_name":"euler","scheduler":"normal","denoise":1,"model":["4",0],"positive":["6",0],"negative":["7",0],"latent_image":["5",0]},"class_type":"KSampler"},"4":{"inputs":{"ckpt_name":"sd_xl_base_1.0.safetensors"},"class_type":"CheckpointLoaderSimple"},"5":{"inputs":{"width":512,"height":512,"batch_size":1},"class_type":"EmptyLatentImage"},"6":{"inputs":{"text":"beautiful scenery nature glass bottle landscape, purple galaxy bottle,","clip":["4",1]},"class_type":"CLIPTextEncode"},"7":{"inputs":{"text":"text, watermark","clip":["4",1]},"class_type":"CLIPTextEncode"},"8":{"inputs":{"samples":["3",0],"vae":["4",2]},"class_type":"VAEDecode"},"9":{"inputs":{"filename_prefix":"ComfyUI","images":["8",0]},"class_type":"SaveImage"}}}}' https://api.runpod.ai/v2/<endpoint_id>/runsync
AWS S3配置下的响应示例
json{ "delayTime": 2188, "executionTime": 2297, "id": "sync-c0cd1eb2-068f-4ecf-a99a-55770fc77391-e1", "output": { "message": "https://bucket.s3.region.amazonaws.com/10-23/sync-c0cd1eb2-068f-4ecf-a99a-55770fc77391-e1/c67ad621.png", "status": "success" }, "status": "COMPLETED" }
base64编码图像的响应示例
json{ "delayTime": 2188, "executionTime": 2297, "id": "sync-c0cd1eb2-068f-4ecf-a99a-55770fc77391-e1", "output": { "message": "base64encodedimage", "status": "success" }, "status": "COMPLETED" }
设置(菜单右上角的齿轮图标)Enable Dev mode Options设置Save (API Format)按钮,下载名为workflow_api.json的文件将该文件内容放入API请求的workflow字段中即可。
使用网络卷可存储和访问自定义模型:
创建网络卷:
填充卷内容:
管理 > 存储,点击卷下的部署,部署任意GPU或CPU实例。管理 > Pods,在新Pod下点击连接打开终端(Jupyter notebook或SSH)。bash
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务