代理 Midjourney 的 Discord 频道,实现 API 形式调用 AI 绘图,提供免费绘图接口
10K+
https://github.com/trueai-org/midjourney-proxy
代理 Midjourney 的 Discord 频道,实现 API 形式调用 AI 绘图,公益项目,提供绘图 API 免费使用。
完全开源,不会存在部分开源或部分闭源,欢迎 PR。
功能最全、最安全、占用内存最小(100MB+)的 Midjourney Proxy API ~~
公益接口为慢速模式,接口免费调用,账号池由赞助者提供,请大家合理使用。
无无ChatGPT Web Midjourney Proxy: https://github.com/Dooy/chatgpt-web-midjourney-proxy
GoAmzAI: https://github.com/Licoy/GoAmzAI
Docker 版本
# 阿里云镜像(推荐国内使用)
docker pull registry.cn-guangzhou.aliyuncs.com/trueai-org/midjourney-proxy
# 公益演示站点启动配置示例
# 1.下载并重命名配置文件(示例配置)
wget -O /root/mjopen/appsettings.Production.json https://raw.githubusercontent.com/trueai-org/midjourney-proxy/main/src/Midjourney.API/appsettings.json
# 或使用 curl 下载并重命名配置文件(示例配置)
curl -o /root/mjopen/appsettings.Production.json https://raw.githubusercontent.com/trueai-org/midjourney-proxy/main/src/Midjourney.API/appsettings.json
# 2.停止并移除旧的 Docker 容器
docker stop mjopen && docker rm mjopen
# 3.启动新的 Docker 容器
docker run -m 1g --name mjopen -d --restart=always \
-e DEMO=true \
-p 8086:8080 --user root \
-v /root/mjopen/logs:/app/logs:rw \
-v /root/mjopen/data:/app/data:rw \
-v /root/mjopen/appsettings.Production.json:/app/appsettings.Production.json:ro \
-e TZ=Asia/Shanghai \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
registry.cn-guangzhou.aliyuncs.com/trueai-org/midjourney-proxy
# 生产环境启动配置示例
docker run --name mjproxy -d --restart=always \
-p 8088:8080 --user root \
-v /root/mjproxy/logs:/app/logs:rw \
-v /root/mjproxy/data:/app/data:rw \
-v /root/mjproxy/appsettings.Production.json:/app/appsettings.Production.json:ro \
-e TZ=Asia/Shanghai \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
registry.cn-guangzhou.aliyuncs.com/trueai-org/midjourney-proxy
Windows 版本
a. 通过 https://github.com/trueai-org/midjourney-proxy/releases 下载 windows 最新免安装版,例如:midjourney-proxy-win-x64.zip
b. 解压并执行 Midjourney.API.exe
c. 打开网站 http://localhost:8080
d. 部署到 IIS(可选),在 IIS 添加网站,将文件夹部署到 IIS,配置应用程序池为`无托管代码`,启动网站。
e. 使用系统自带的 `任务计划程序`(可选),创建基本任务,选择 `.exe` 程序即可,请选择`请勿启动多个实例`,保证只有一个任务执行即可。
Linux 版本
a. 通过 https://github.com/trueai-org/midjourney-proxy/releases 下载 linux 最新免安装版,例如:midjourney-proxy-linux-x64.zip
b. 解压到当前目录: tar -xzf midjourney-proxy-linux-x64-<VERSION>.tar.gz
c. 执行: run_app.sh
c. 启动方式1: sh run_app.sh
d. 启动方式2: chmod +x run_app.sh && ./run_app.sh
macOS 版本
a. 通过 https://github.com/trueai-org/midjourney-proxy/releases 下载 macOS 最新免安装版,例如:midjourney-proxy-osx-x64.zip
b. 解压到当前目录: tar -xzf midjourney-proxy-osx-x64-<VERSION>.tar.gz
c. 执行: run_app_osx.sh
c. 启动方式1: sh run_app_osx.sh
d. 启动方式2: chmod +x run_app_osx.sh && ./run_app_osx.sh
appsettings.json 默认配置appsettings.Production.json 生产环境配置/app/data 数据目录,存放账号、任务等数据
/app/data/mj.db 数据库文件/app/logs 日志目录{
"Demo": null, // 网站配置为演示模式
"UserToken": "", // 用户绘画令牌 token,可以用来访问绘画接口,可以不用设定
"AdminToken": "", // 管理后台令牌 token,可以用来访问绘画接口和管理员账号等功能
"mj": {
"AccountChooseRule": "BestWaitIdle", // BestWaitIdle | Random | Weight | Polling = 最佳空闲规则 | 随机 | 权重 | 轮询
"Discord": { // Discord 配置,默认可以为 null
"GuildId": "125652671***", // 服务器 ID
"ChannelId": "12565267***", // 频道 ID
"PrivateChannelId": "1256495659***", // MJ 私信频道 ID,用来接受 seed 值
"NijiBotChannelId": "1261608644***", // NIJI 私信频道 ID,用来接受 seed 值
"UserToken": "MTI1NjQ5N***", // 用户 token
"BotToken": "MTI1NjUyODEy***", // 机器人 token
"UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
"Enable": true, // 是否默认启动
"CoreSize": 3, // 并发数
"QueueSize": 10, // 队列数
"MaxQueueSize": 100, // 最大队列数
"TimeoutMinutes": 5, // 任务超时分钟数
"Mode": null, // RELAX | FAST | TURBO 指定生成速度模式 --fast, --relax, or --turbo parameter at the end.
"Weight": 1 // 权重
},
"NgDiscord": { // NG Discord 配置,默认可以为 null
"Server": "",
"Cdn": "",
"Wss": "",
"ResumeWss": "",
"UploadServer": ""
},
"Proxy": { // 代理配置,默认可以为 null
"Host": "",
"Port": 10809
},
"Accounts": [], // 账号池配置
"BaiduTranslate": { // 百度翻译配置,默认可以为 null
"Appid": "", // your_appid
"AppSecret": "" // your_app_secret
},
"TranslateWay": "NULL", // NULL | GTP | BAIDU, 翻译配置, 默认: NULL
"ApiSecret": "", // your_api_secret
"NotifyHook": "", // your_notify_hook, 回调配置
"NotifyPoolSize": 10
},
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Default": "Warning",
"System": "Warning",
"Microsoft": "Warning"
}
},
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "logs/log.txt",
"rollingInterval": "Day",
"fileSizeLimitBytes": null,
"rollOnFileSizeLimit": false,
"retainedFileCountLimit": 31
}
},
{
"Name": "Console"
}
]
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"urls": "http://*:8080" // 默认端口
}
本项目利用 Discord 机器人 Token 连接 wss,可以获取错误信息和完整功能,确保消息的高可用性等问题。
1. 创建应用
https://discord.com/developers/applications
2. 设置应用权限(确保拥有读取内容权限,参考截图)
[Bot] 设置 -> 全部开启
3. 添加应用到频道服务器(参考截图)
client_id 可以在应用详情页找到,为 APPLICATION ID
https://discord.com/oauth2/authorize?client_id=xxx&permissions=8&scope=bot
4. 复制或重置 Bot Token 到配置文件
设置应用权限(确保拥有读取内容权限,参考截图)

添加应用到频道服务器(参考截图)

Content type
Image
Digest
sha256:4762bc3e6…
Size
454.1 MB
Last updated
4 days ago
docker pull trueaiorg/midjourney-proxy