/midjourney-proxy

Primary LanguageJavaApache License 2.0Apache-2.0

midjourney-proxy

代理 MidJourney 的discord频道,实现api形式调用AI绘图

GitHub release License

主要功能

  • 支持 Imagine 指令和相关动作
  • Imagine 时支持添加图片base64,作为垫图
  • 支持 Blend(图片混合)、Describe(图生文) 指令
  • 支持任务实时进度
  • 支持中文prompt翻译,需配置百度翻译或gpt
  • prompt 敏感词预检测,支持覆盖调整
  • user-token 连接 wss,可以获取错误信息和完整功能
  • 支持多账号配置,每个账号可设置对应的任务队列

🚀 更多功能请查看 midjourney-proxy-plus

  • 支持开源版的所有功能
  • 支持 Shorten(prompt分析) 指令
  • 支持焦点移动: Pan ⬅️ ➡️ ⬆️ ⬇️
  • 支持图片变焦: Zoom 🔍
  • 支持局部重绘: Vary (Region) 🖌
  • 支持几乎所有的关联按钮动作和🎛️ Remix模式
  • 支持获取图片的seed值
  • 账号池持久化,动态维护
  • 支持获取账号/info、/settings信息
  • 账号settings设置
  • 内嵌管理后台页面

使用前提

  1. 注册并订阅 MidJourney,创建自己的服务器和频道,参考 https://docs.midjourney.com/docs/quick-start
  2. 获取用户Token、服务器ID、频道ID:获取方式

快速启动

  1. Railway: 基于Railway平台,不需要自己的服务器: 部署方式;若Railway不能使用,可使用Zeabur启动
  2. Zeabur: 基于Zeabur平台,不需要自己的服务器: 部署方式
  3. Docker: 在服务器或本地使用Docker启动: 部署方式

本地开发

  • 依赖java17和maven
  • 更改配置项: 修改src/main/application.yml
  • 项目运行: 启动ProxyApplication的main函数
  • 更改代码后,构建镜像: Dockerfile取消VOLUME的注释,执行 docker build . -t midjourney-proxy

配置项

  • mj.accounts: 参考 账号池配置
  • mj.task-store.type: 任务存储方式,默认in_memory(内存\重启后丢失),可选redis
  • mj.task-store.timeout: 任务存储过期时间,过期后删除,默认30天
  • mj.api-secret: 接口密钥,为空不启用鉴权;调用接口时需要加请求头 mj-api-secret
  • mj.translate-way: 中文prompt翻译成英文的方式,可选null(默认)、baidu、gpt
  • 更多配置查看 配置项

相关文档

  1. API接口说明
  2. 版本更新记录

注意事项

  1. 作图频繁等行为,可能会触发midjourney账号警告,请谨慎使用
  2. 常见问题及解决办法见 Wiki / FAQ
  3. 感兴趣的朋友也欢迎加入交流群讨论一下,扫码进群名额已满,加管理员微信邀请进群,备注: mj加群

微信二维码

应用项目

依赖此项目且开源的,欢迎联系作者,加到此处展示

开放API

提供非官方的MJ/SD开放API,添加管理员微信咨询,备注: api

其它

如果觉得这个项目对您有所帮助,请帮忙点个star

Star History Chart