本指南帮助你在 10 分钟内完成 ComfyUI 图像生成项目的部署和首次出图。通过本指南,你将学会创建项目、使用工作空间调试、发布线上服务进行弹性出图。
概述
ComfyUI 是一个开源、基于节点的 Stable Diffusion 图形界面,它允许用户像搭建流程图一样,通过连接不同的功能模块来精确、灵活地控制 AI 图像的生成过程。FunArt 支持一键部署 ComfyUI 图像生成项目,提供从项目开发到 API 调用的应用全生命周期管理能力。
两个使用阶段:
项目开发阶段:通过调试提示词(prompt)与工作流,安装模型与插件,生成实现预期效果的图片或视频。
API 调用阶段:基于调试好的出图环境运行工作流,通过 Serverless API 弹性高效出图。
前提条件
开始前,请确保满足以下条件:
RAM 授权:已授权 RAM 用户使用图像生成项目。详细步骤请参考授权RAM用户使用图像生成项目。
账户余额:账户余额大于等于 100 元。建议新客户领取试用额度以节省成本。
一键部署 ComfyUI 项目
步骤 1:创建项目
登录 FunArt 控制台。
在页面导航栏,单击项目,然后选择。
步骤 2:配置项目
在创建项目页面,配置以下参数:
参数 | 说明 | 示例 |
项目类型 | 选择 ComfyUI 项目 | ComfyUI 项目 |
GPU 卡型 | 选择 GPU 卡型和规格 | T4 / A10 |
地域 | 选择项目部署地域 | 华东 1(杭州) |
其余参数保持默认值,然后单击确认部署。
说明:
GPU 费用采用 Serverless 计费方式,界面显示的预估费用仅供选型参考,以实际业务使用为准。
如果项目面向的用户集中于一个地理分区,推荐将项目创建在对应的地域。如果当前地域 GPU 规格资源不满足需求,建议更换地域。
步骤 3:确认部署
在确认页面,确认部署本项目涉及产品的计费说明和资源用途,然后单击确认部署。
部署结果:
项目开始部署,界面显示正在准备项目(3~5 分钟),部署阶段不会产生 GPU 费用。
部署完成后,自动启动工作空间,进入项目开发阶段。
启动工作空间会启动一个 GPU 实例,可以下载模型、安装插件,并通过调试提示词与工作流生成图片和视频。
使用完成后,及时关闭工作空间。关闭工作空间后,函数实例销毁,停止计费。下次使用工作空间前需要再次启动工作空间。
使用工作空间生成图片
步骤 1:设置提示词并出图
在 ComfyUI 项目的工作空间,设置提示词(prompt)。
单击运行按钮,完成出图。
生成的图片存放在 output/ 目录。在文件管理页签,在对应目录下获取生成的图片。
步骤 2:上传插件和模型
上传插件:
有两种方式:
方式 1(推荐):在 ComfyUI 工作空间,依次单击,然后单击目标插件所在行的Install进行安装。
方式 2:在 ComfyUI 界面的文件管理页签,上传目标插件到
custom_nodes/目录。
上传模型:
在 ComfyUI 界面的文件管理页签,上传目标模型到 models/ 目录。
上传自定义插件和模型,并调试工作流,生成更加满意的图片后,可以发布线上服务。
发布线上服务
发布线上服务可将当前调试好的工作空间(包含 ComfyUI 需要的源码、插件、依赖包)发布为 Serverless API,支持弹性出图。
步骤 1:发布线上服务
在项目开发页面,单击右上角的发布线上服务。
在弹出的发布线上服务对话框,按以下步骤配置:
第一步:选择 GPU 卡型和规格,设置弹性模式(默认选中弹性实例)。
第二步:配置弹性策略,设置最小实例数(默认值为 1)。界面会显示详细的计费说明:无请求或无后台任务处理时自动进入闲置计费(CPU 不收费,GPU 根据卡型不同仅收 10%~20% 的费用)。
配置完成后,单击确认。
重要:
发布线上服务时默认为 API 调用阶段开启快照,用于提前锁定弹性资源,避免冷启动。
非出图阶段:将收取少量的快照费用。
出图阶段:按照弹性实例计费。
如果持续一段时间内不打算使用 ComfyUI 项目,请及时在线上服务页面的配置管理页签,设置快照数为 0。
步骤 2:调用 API
发布完成后,选择API调用页签,可以通过以下方式调用 API 弹性出图:
方式 1:使用 cURL 命令
curl -X POST https://your-api-endpoint/invoke \
-H "Content-Type: application/json" \
-d '{
"prompt": "a beautiful landscape",
"workflow": "your-workflow-id"
}'方式 2:使用 Postman
创建新的 POST 请求。
输入 API 端点 URL。
在 Body 中选择 raw,格式选择 JSON。
输入请求参数:
{
"prompt": "a beautiful landscape",
"workflow": "your-workflow-id"
}单击 Send 发送请求。
方式 3:使用 Python SDK
import requests
# API 端点
api_endpoint = "https://your-api-endpoint/invoke"
# 请求参数
payload = {
"prompt": "a beautiful landscape",
"workflow": "your-workflow-id"
}
# 发送请求
response = requests.post(api_endpoint, json=payload)
# 获取响应
if response.status_code == 200:
result = response.json()
print(f"生成成功,图片 URL: {result['image_url']}")
else:
print(f"请求失败: {response.status_code}")删除项目
如果不再需要 ComfyUI 项目,可以删除项目以释放资源。
操作步骤
单击项目名称,进入项目详情页,单击删除项目。
在弹出的对话框,查看要删除的资源。
默认情况下,Function AI 会删除项目下的所有服务。
如果希望保留资源,可以取消勾选指定的服务。删除项目时只会删除勾选的服务。
勾选 我已知晓:删除该项目及选中的服务将立刻中断其所服务的线上业务,并且不可恢复,同时将彻底删除其所依赖的云产品资源,然后单击确定删除。
后续步骤
完成快速入门后,可以:
学习更多 ComfyUI 工作流配置技巧。
了解如何优化 API 调用性能,详见:ComfyUI API调用。
查看成本优化最佳实践。
常见问题
Q1:工作空间启动失败怎么办?
可能原因:
GPU 资源不足
账户余额不足
解决方案:
检查账户余额是否充足。
尝试更换地域或 GPU 规格。
联系技术支持。
Q2:API 调用返回错误怎么办?
可能原因:
API 端点配置错误
请求参数格式不正确
工作流 ID 不存在
解决方案:
检查 API 端点 URL 是否正确。
确认请求参数格式符合 API 规范。
验证工作流 ID 是否存在。
Q3:如何控制成本?
建议:
使用完成后及时关闭工作空间。
如果长时间不使用,将 API 快照数设置为 0。
根据实际需求选择合适的 GPU 规格。