Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SoftMeng/comfy-flow-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

22 Commits

Repository files navigation

富强、民主、文明、和谐、合规
自由、平等、公正、法治、合法
爱国、敬业、诚信、友善、合理

comfy-flow-api

这是一个ComfyUI的API聚合项目,针对ComfyUI的API进行了封装,比较适用的场景如下

  1. 给微信小程序提供AI绘图的API;
  2. 封装大模型的统一API调用平台,实现模型多台服务器的负载均衡;
  3. 启用JOB,可以在本地自动生成AI图片,生成本地的图片展览馆;
  4. 定制不同的工作流,通过API进行调用;

依赖: JDK 17 + Maven 3.8.6 +

配置文件解释

application.properties 配置文件

我们需要修改如下配置

微信小程序配置(如果需要小程序微信登陆时,需要配置)

wechat.appid=小程序 appId
wechat.secret=小程序 appSecret

ComfyUI服务的Ip(如果想使用ComfyUI进行图像生成时,需要配置)

comfy.ips=ComfyUI所在服务器的IP,比如`127.0.0.1`

生成的图片的存储地址(默认是放到磁盘里,我的磁盘地址是/Users/xiangyuanmeng/Documents/MyProjectSpace/comfy-flow-api/static/,需要替换)

file.storage.type=disk
file.storage.disk=/Users/xiangyuanmeng/Documents/MyProjectSpace/comfy-flow-api/static/
file.storage.view=http://127.0.0.1:8189/static/

其中

  1. 类型目前只支持本地磁盘,即file.storage.type=disk;
  2. 生成的图片存储在磁盘上,通过file.storage.disk=/xxx/xxx/配置磁盘文件夹;
  3. 生成的图片可以进行访问,通过file.storage.view=进行配置;

PS:若需要使用阿里云的对象存储、Aws的S3存储、SM.MS等其他存储方式,需要扩展FileStorage.java进行实现。

comfyui.json 配置文件

我们需要修改如下配置

[
 {
 "name": "工作流的名称,比如动漫风格转换",
 "path": "在服务器上,动漫风格转换的workflow-api.json所在的位置,比如/comfyui/workflow-api.json"
 }
]

工作流修改

工作流文件中,某些需要替换的参数需要替换,可以参考:角色设计XL-简单的二次元.json

目前支持:

  1. seed 随机种子
  2. prompt 提示词
  3. negative_prompt 反向提示词
  4. image 图片
  5. localDate 日期
  6. localTime 时间
  7. key 关键字

本地测试

使用到的组件清单

可以访问地址: http://127.0.0.1:8189/q/dev-ui/extensions

img.png

接口API清单

可以访问地址: http://127.0.0.1:8189/q/swagger-ui/

img_1.png

简单使用

可以访问地址: http://127.0.0.1:8189/drawNow.html

img_3.png

这个工作流使用到的资源如下

  1. 模型: https://www.liblib.art/userpage/0f37258e861044879b8728309c0ac3b0/publish
  2. 插件: https://github.com/SoftMeng/

只是个流程测试,没有进度条。

部署(Jar包形式)

对项目进行打包

./mvnw package -Dquarkus.package.type=uber-jar

打完包的程序在target中,安装JDK17或者21后,可以使用命令行启动

java -jar target/comfy-flow-api-runner.jar

部署(Native形式)

这需要你安装GraalVM

./mvnw package -Dnative -Dquarkus.native.container-build=true

打包后可以使用下面命令启动

./target/comfy-flow-api-1.0.0-SNAPSHOT-runner

使用步骤

1. 导出ComfyUI的API格式工作流

ComfyUI导出API格式工作流.mp4

2. 放入到工程文件夹中

step2.png

3. 将工作流文件和名称的对应关系写入到comfyui.json文件中

step3.png

4. 在drawNow.html中修改为"我的工作流AAA"

step4.png

5. 修改工作流API的参数

step5.png step6.png

6. 启动工程

访问: http://localhost:8189/drawNow.html

drawNow.png

7. 开启JOB

配置文件开启JOB, 在配置文件里开启

job.png

启动JOB后可以看到日志,正在执行生图的任务

jobresult.png

8. 访问本地生成的图片

访问: http://localhost:8189/lib.html 点击搜索

lib.png

About

对ComfyUI的API进行的一层封装,并提供了微信小程序授权的API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /