项目简介
实现代理 MidJourney 的 discord 频道,以 API 形式调用 AI 绘图,更便捷、更灵活!
现有功能
- 支持 Imagine 指令和相关U、V操作
- Imagine 时支持添加图片base64,作为垫图
- 支持 Blend(图片混合) 指令和相关U、V操作
- 支持 Describe 指令,根据图片生成 prompt
- 支持 Imagine、V、Blend 图片生成进度
- 支持中文 prompt 翻译,需配置百度翻译或 gpt
- prompt 敏感词判断,支持覆盖调整
- 任务队列,默认队列10,并发3。可参考 MidJourney订阅级别 调整mj.queue
- user-token 连接 wss,可以获取错误信息和完整功能
- 支持 discord域名(server、cdn、wss)反代,配置 mj.ng-discord
使用前提
- 注册 MidJourney,创建自己的频道,参考https://docs.midjourney.com/docs/quick-start
- 获取用户Token、服务器ID、频道ID
风险须知
- 作图频繁等行为,可能会触发midjourney账号警告,请谨慎使用
- 为减少风险,请设置mj.discord.user-agent 和 mj.discord.session-id
- 默认使用user-wss方式,可以获取midjourney的错误信息、图片变换进度等,但可能会增加账号风险
- 支持设置mj.discord.user-wss为false,使用bot-token连接wss,需添加自定义机器人:流程说明
Railway 部署
基于Railway平台部署,不需要自己的服务器: 部署方式;若Railway不能使用,可用下方的Zeabur部署
Zeabur 部署
基于Zeabur平台部署,不需要自己的服务器: 部署方式
Docker 部署
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.3.5
3. 访问 http://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 \
--restart=always \
novicezk/midjourney-proxy:2.3.5
配置项
- mj.discord.guild-id:discord服务器ID
- mj.discord.channel-id:discord频道ID
- mj.discord.user-token:discord用户Token
- mj.discord.session-id:discord用户的sessionId,不设置时使用默认的,建议从interactions请求中复制替换掉
- mj.discord.user-agent:调用discord接口、连接wss时的user-agent,默认使用作者的,建议从浏览器network复制替换掉
- mj.discord.user-wss:是否使用user-token连接wss,默认true
- mj.discord.bot-token:自定义机器人Token,user-wss=false时必填