多多读书
706 字
4 分钟
Midjourney实现API的几种方式

Midjourney 官方并没有提供接口,市面上一般是通过抓取 Discord 频道内的 Midjourney Bot 绘图数据提供相应的接口,GitHub 上也有一些开源项目,下面就来介绍一下几个热门开源 Midjourney API 项目的使用体验。

midjourney-proxy#

传送门:https://github.com/novicezk/midjourney-proxy

midjourney-proxy 项目使用 Java 开发的 Midjourney API 服务,目前 3.5k Star。该项目通过 User Token 获取 Discord 用户实时消息实现 API 服务,有完善的接口文档,基本可以说是开箱即用。

这个项目有一些优点:

  • 能够比较准确的获取任务进度和错误信息;
  • 支持 base64 作为垫图;
  • 支持中文翻译;
  • 支持多账号配置;
  • 支持多种搭建使用方式。

之前多多智绘小程序使用的就是这个项目,也有遇到一些问题:

  • 不支持一些高级功能,需要联系作者申请 plus 项目;
  • 超时直接设置任务失败,会造成绘图到一半被结束;
  • 容易崩,重启后任务记录丢失(不知道是不是个人使用问题);
  • 提示词添加图片链接容易任务失败,而且不会及时返回错误信息;
  • 根据提示词匹配任务结果,如果多个同样的提示词会错乱;
  • 由于不是官方接口请求,有封号风险。

erictik/midjourney-api#

传送门:https://github.com/erictik/midjourney-api

midjourney-api 项目使用 Nodejs 开发的工具库,目前 1.4k Star。这个项目也是通过 User Token 获取 Discord 用户实时消息提供绘图方法,注意不是提供的 API,因此还是要二次开发成接口。

这个项目的优点是提供的功能比较全面,几乎包含 Midjourney Bot 所有功能,还支持 Niji Bot 和换脸 AI。

不足的是可能还要自己实现中文翻译、多账号配置等,还有图片链接错误、提示词匹配结果不准确、封号风险问题可能同样存在。

yokonsan/midjourney-api#

传送门:https://github.com/yokonsan/midjourney-api

这个项目是通过 Nodejs 实现的 API 项目,是通过 Discord 实现机器人监听用户消息,功能相对比较全面。Discord 机器人是官方提供的实现,因此不会有封号风险。不过获取消息可能没有那么准确,获取不到私有信息。还有中文翻译、多账号配置等功能也要自己实现。


目前多多智绘小程序使用的是 Bun 实现的 API 接口,也是使用 User Token 获取 Discord 用户实时消息实现。这个项目集中了上面项目的一些优点,解决了上面存在的一些缺陷。目前项目不开源还在不断完善,想要体验可以去多多智绘小程序,如遇到问题,可以私信反馈。

Midjourney实现API的几种方式
https://fuwari.vercel.app/posts/20240127/
作者
我也困了
发布于
2024-01-19
许可协议
CC BY-NC-SA 4.0