创建ComfyUI项目快速入门

更新时间:
复制为 MD 格式

本指南帮助你在 10 分钟内完成 ComfyUI 图像生成项目的部署和首次出图。通过本指南,你将学会创建项目、使用工作空间调试、发布线上服务进行弹性出图。

概述

ComfyUI 是一个开源、基于节点的 Stable Diffusion 图形界面,它允许用户像搭建流程图一样,通过连接不同的功能模块来精确、灵活地控制 AI 图像的生成过程。FunArt 支持一键部署 ComfyUI 图像生成项目,提供从项目开发到 API 调用的应用全生命周期管理能力。

两个使用阶段

  • 项目开发阶段:通过调试提示词(prompt)与工作流,安装模型与插件,生成实现预期效果的图片或视频。

  • API 调用阶段:基于调试好的出图环境运行工作流,通过 Serverless API 弹性高效出图。

前提条件

开始前,请确保满足以下条件:

  1. RAM 授权:已授权 RAM 用户使用图像生成项目。详细步骤请参考授权RAM用户使用图像生成项目

  2. 账户余额:账户余额大于等于 100 元。建议新客户领取试用额度以节省成本。

一键部署 ComfyUI 项目

步骤 1:创建项目

  1. 登录 FunArt 控制台

  2. 在页面导航栏,单击项目,然后选择创建新项目 > ComfyUI

步骤 2:配置项目

在创建项目页面,配置以下参数:

参数

说明

示例

项目类型

选择 ComfyUI 项目

ComfyUI 项目

GPU 卡型

选择 GPU 卡型和规格

T4 / A10

地域

选择项目部署地域

华东 1(杭州)

其余参数保持默认值,然后单击确认部署

说明

  • GPU 费用采用 Serverless 计费方式,界面显示的预估费用仅供选型参考,以实际业务使用为准。

  • 如果项目面向的用户集中于一个地理分区,推荐将项目创建在对应的地域。如果当前地域 GPU 规格资源不满足需求,建议更换地域。

步骤 3:确认部署

在确认页面,确认部署本项目涉及产品的计费说明和资源用途,然后单击确认部署

部署结果

  • 项目开始部署,界面显示正在准备项目(3~5 分钟),部署阶段不会产生 GPU 费用

  • 部署完成后,自动启动工作空间,进入项目开发阶段。

  • 启动工作空间会启动一个 GPU 实例,可以下载模型、安装插件,并通过调试提示词与工作流生成图片和视频。

  • 使用完成后,及时关闭工作空间。关闭工作空间后,函数实例销毁,停止计费。下次使用工作空间前需要再次启动工作空间。

使用工作空间生成图片

步骤 1:设置提示词并出图

  1. 在 ComfyUI 项目的工作空间,设置提示词(prompt)。

  2. 单击运行按钮,完成出图。

生成的图片存放在 output/ 目录。在文件管理页签,在对应目录下获取生成的图片。

步骤 2:上传插件和模型

上传插件

有两种方式:

  • 方式 1(推荐):在 ComfyUI 工作空间,依次单击ComfyUI Manager > Custom Nodes Manager,然后单击目标插件所在行的Install进行安装。

  • 方式 2:在 ComfyUI 界面的文件管理页签,上传目标插件到 custom_nodes/ 目录。

上传模型

在 ComfyUI 界面的文件管理页签,上传目标模型到 models/ 目录。

上传自定义插件和模型,并调试工作流,生成更加满意的图片后,可以发布线上服务。

发布线上服务

发布线上服务可将当前调试好的工作空间(包含 ComfyUI 需要的源码、插件、依赖包)发布为 Serverless API,支持弹性出图。

步骤 1:发布线上服务

  1. 在项目开发页面,单击右上角的发布线上服务

  2. 在弹出的发布线上服务对话框,按以下步骤配置:

    • 第一步:选择 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

  1. 创建新的 POST 请求。

  2. 输入 API 端点 URL。

  3. 在 Body 中选择 raw,格式选择 JSON。

  4. 输入请求参数:

{
  "prompt": "a beautiful landscape",
  "workflow": "your-workflow-id"
}
  1. 单击 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 项目,可以删除项目以释放资源。

操作步骤

  1. 单击项目名称,进入项目详情页,单击删除项目

  2. 在弹出的对话框,查看要删除的资源。

    • 默认情况下,Function AI 会删除项目下的所有服务。

    • 如果希望保留资源,可以取消勾选指定的服务。删除项目时只会删除勾选的服务。

  3. 勾选 我已知晓:删除该项目及选中的服务将立刻中断其所服务的线上业务,并且不可恢复,同时将彻底删除其所依赖的云产品资源,然后单击确定删除

后续步骤

完成快速入门后,可以:

  • 学习更多 ComfyUI 工作流配置技巧。

  • 了解如何优化 API 调用性能,详见:ComfyUI API调用

  • 查看成本优化最佳实践。

常见问题

Q1:工作空间启动失败怎么办?

可能原因

  • GPU 资源不足

  • 账户余额不足

解决方案

  1. 检查账户余额是否充足。

  2. 尝试更换地域或 GPU 规格。

  3. 联系技术支持。

Q2:API 调用返回错误怎么办?

可能原因

  • API 端点配置错误

  • 请求参数格式不正确

  • 工作流 ID 不存在

解决方案

  1. 检查 API 端点 URL 是否正确。

  2. 确认请求参数格式符合 API 规范。

  3. 验证工作流 ID 是否存在。

Q3:如何控制成本?

建议

  1. 使用完成后及时关闭工作空间。

  2. 如果长时间不使用,将 API 快照数设置为 0。

  3. 根据实际需求选择合适的 GPU 规格。