目前Midjourney没有对外开放Api,想体验他们的服务只能在discord中进入他们的频道进行体验或者把他们的机器人拉入自己创建的服务器中;而且现在免费的也用不了了,想使用就得订阅。本教程使用midjourney-api这个开源项目,搭建Midjourney相关接口服务,以集成到个人平台中~
本文默认大家已有discord平台账号以及VPN~
目录:
- 1.Discord创建个人服务器
- 2. 添加Midjourney机器人到上述服务器中
- 3. 创建自定义机器人
- 4. 使用Midjourney-api集成到个人平台上
- 使用示例:
1.Discord创建个人服务器
2. 添加Midjourney机器人到上述服务器中
(1)点击“探索可发现的服务器”
(2)点击“主页”
(3)点击下面特色社区中的“Midjourney”
(4)点击“Midjourney”后:
(5)点击页面顶部提示的“加入Midjourney”,关注Midjourney机器人
(6)点击如下图中的“添加到服务器”,把Midjourney机器人添加到自己服务器中(7)然后就能再自己的服务器中通过命令使用了:
如果没订阅,就会让你订阅了!
一步步按照提示来就行~
3. 创建自定义机器人
(1)打开一个新标签访问:https://discord.com/developers/applications
(2)机器就创建完毕,获取机器人的Token ,点击 Reset Token 重置令牌后Copy下来
(3)操作应用授权设置OAuth2
(4)把复制的url在一个新标签打开并按提示操作,这就将创建的自定义机器人添加到自己服务器中了~
(5)最后一步是允许外部监听获取消息内容,这一步很重要,如果不允许外部监听获取消息内容的话,到开发阶段,自己开发的程序中的WebScoket消息监听接收器只会接收到空白的消息里面不包含任何字符,只有允许外部监听获取消息内容才可以获取到消息内容,这个消息内容是我们处理自己的业务最重要的数据,所以必须开启。
到现在为止,所有准备工作就都做完了。下面就开始使用开源项目Midjourney-api来出md的接口了~
4. 使用Midjourney-api集成到个人平台上
在midjourney-api的github中有文章讲解:
使用示例:
Python添加文生图任务:
import requests
headers = {
'accept': 'application/json',
'Content-Type': 'application/json',
}
json_data = {
'type': 'generate',
'prompt': 'draw a dog',
'msg_id': '',
'msg_hash': '',
'index': 0,
}
response = requests.post('http://127.0.0.1:8062/v1/api/trigger/imagine', headers=headers, json=json_data)
print(response.text)
回调接口:
from flask import Flask, request
app = Flask(__name__)
@app.route('/Upload', methods=['POST'])
def handle_post_request():
data = request.get_json()
print(data)
return 'Success'
if __name__ == '__main__':
app.run('0.0.0.0', 5005)
回调接口接收到的最终数据: