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在工作流中引用 |
图像数组,每张图像需有唯一名称。
🚨 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>" [***]<endpoint_id>/health
可使用/run(异步)或/runsync(同步)创建任务。以下示例使用同步任务,等待响应返回。
API期望的JSON格式中,workflow为从ComfyUI导出的JSON工作流,images为可选。
详见test_input.json了解API输入格式。
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"}}}}' [***]<endpoint_id>/runsync
AWS S3配置下的响应示例
json{ "delayTime": 2188, "executionTime": 2297, "id": "sync-c0cd1eb2-068f-4ecf-a99a-55770fc77391-e1", "output": { "message": "[***]", "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 Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429