Skip to content

MarkShawn2020/midjourney-api

 
 

Repository files navigation

midjourney-api

基于 Discord 的 Midjourney API。

使用教程参考:Midjourney|如何集成到自己的平台

UML

sequenceDiagram
    participant ThirdServer
    participant APIServer
    participant DiscordAPI

    ThirdServer->>APIServer: 请求接口传入提示词
    APIServer->>DiscordAPI: 调接口触发绘画任务
    APIServer-->>ThirdServer: 返回是否触发成功

    DiscordAPI->>DiscordAPI: 触发Midjourney bot绘画任务
    DiscordAPI->>DiscordAPI: 监听MidJourney bot消息
    DiscordAPI-->>APIServer: 返回监听实时消息

	APIServer-->>ThirdServer: 回调,传输结果

安装启动

git clone
poetry install

将文件.env.template重命名为.env,并填入参数值:

USER_TOKEN=用户token
BOT_TOKEN=机器人token
GUILD_ID=服务器ID
CHANNEL_ID=频道ID
CALLBACK_URL=回调地址,默认http post请求

直接启动

# discord会嵌入在fastapi内运行
python main.py

单独启动

  1. 更改 settings.pyDISCORD_EMBED_IN_FASTAPI_ENABLED = False
  2. 启动discord机器人:python main_discord.py
  3. 启动fastapi:python main.py

docker 启动 (需要更新)

填写 start.sh-e 后的环境变量,直接启动:

sh start.sh

或者本地构建镜像:

# 构建镜像
sh build.sh
# 启动容器
sh start.sh

接口文档

文档地址

接口swagger文档:http://127.0.0.1:8062/docs

midjourney 任务触发

  • /v1/midjounery/imagine:触发绘画任务
  • /v1/midjounery/upscale:U
  • /v1/midjounery/variation:V
  • /v1/midjounery/reset:重绘
  • /v1/midjounery/upload:上传图片,触发任务,待开发

midjourney 任务查看

:warn: 需要在 .env 中配置 CALLBACK_URL=http://localhost:8062/v1/trigger (默认地址,部署时需要调整域名)

  • /v1/trigger:查看触发的任务

功能

  • 文生图
  • upscale
  • variation
  • reset
  • 图生图
  • integrate fastapi with websocket listening discord message.

其他

enjoy it


About

midjourney in discord api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.6%
  • Shell 2.3%
  • Dockerfile 1.1%