Skip to content

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

License

Notifications You must be signed in to change notification settings

mmm1h/midjourney-proxy

 
 

Repository files navigation

midjourney-proxy

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

GitHub release License

现有功能

  • 支持 Imagine 指令和相关U、V操作
  • Imagine 时支持添加图片base64,作为垫图
  • 支持 Describe 指令,根据图片生成 prompt
  • 支持 Blend 指令,多个图片混合
  • 支持 Imagine、V、Blend 图片生成进度
  • 支持中文 prompt 翻译,需配置百度翻译或 gpt
  • prompt 敏感词判断,支持覆盖调整
  • 任务队列,默认队列10,并发3。可参考 MidJourney订阅级别 调整mj.queue
  • 可选 user-token 连接 wss,以获取错误信息和完整功能

后续计划

  • 支持 Blend 指令后续的U、V操作
  • 支持 Reroll 操作
  • 支持配置账号池,分发绘图任务
  • 支持mysql存储,优化任务的查询方式
  • 修复相关Bug,Wiki / 已知问题

使用前提

  1. 科学上网
  2. docker环境
  3. 注册 MidJourney,创建自己的频道,参考 https://docs.midjourney.com/docs/quick-start
  4. 添加自己的机器人: 流程说明
  5. user-wss方式,可不添加自己的机器人,但仍需参考流程的第4、5步,获取用户Token、服务器ID、频道ID

风险须知

  1. 作图频繁等行为,触发midjourney验证码后,需尽快人工验证
  2. user-wss方式可以获取midjourney的错误信息、支持图片变换进度,但可能会增加账号风险

快速启动

  1. /xxx/xxx/config目录下创建 application.yml(mj配置项)、banned-words.txt(可选,覆盖默认的敏感词文件);参考src/main/resources下的文件
  2. 启动容器,映射config目录
docker run -d --name midjourney-proxy \
 -p 8080:8080 \
 -v /xxx/xxx/config:/home/spring/config \
 --restart=always \
 novicezk/midjourney-proxy:2.1
  1. 访问 https://ip:port/mj 查看API文档

附: 不映射config目录方式,直接在启动命令中设置参数

docker run -d --name midjourney-proxy \
 -p 8080:8080 \
 -e mj.discord.guild-id=xxx \
 -e mj.discord.channel-id=xxx \
 -e mj.discord.user-token=xxx \
 -e mj.discord.bot-token=xxx \
 --restart=always \
 novicezk/midjourney-proxy:2.1

注意事项

  1. 常见问题及解决办法见 Wiki / FAQ
  2. Issues 中提出其他问题或建议
  3. 感兴趣的朋友也欢迎加入交流群讨论一下,扫码进群名额已满,加管理员微信邀请进群

微信二维码

配置项

  • mj.discord.guild-id:discord服务器ID
  • mj.discord.channel-id:discord频道ID
  • mj.discord.user-token:discord用户Token
  • mj.discord.user-wss:是否使用user-token连接wss,默认false(使用bot-token)
  • mj.discord.user-agent:调用discord接口、连接wss时的user-agent,默认使用作者的,建议从浏览器network复制替换掉
  • mj.discord.bot-token:自定义机器人Token,user-wss=false时必填
  • 更多配置查看 Wiki / 配置项

本地开发

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

Wiki链接

  1. Wiki / API接口说明
  2. Wiki / 任务变更回调
  3. Wiki / 更新记录

应用项目

  • wechat-midjourney : 代理微信客户端,接入MidJourney,仅示例应用场景,不再更新
  • stable-diffusion-mobileui : SDUI,基于本接口和SD,可一键打包生成H5和小程序
  • 依赖此项目且开源的,欢迎联系作者,加到此处展示

其它

如果觉得这个项目对你有所帮助,请帮忙点个star;也可以请作者喝杯茶~

二维码

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 98.1%
  • Other 1.9%