本来用的一直都是第三方的API接口,但是由于量大了,买第三方就很亏,于是产生了自己搭建的想法,经过一下午,终于是研究明白了。
这样就可以实现自己的API了,我是使用node搭建的后端服务,再配合微信机器人,实现在微信上面使用的(QQ,TG,飞书,企微都可以)
这是出图代码:
// 生成图片
router.post("/image", async ({ body: { prompt } }, rej) => {
try {
// 链接服务器
await connect()
// 发送/image命令
const Imagine = await client.Imagine(prompt);
// 打印接收的图片
console.log(Imagine);
// 将图片信息返回
rej.send({ Imagine })
} catch (error) {
rej.send({ code: 400, data: '绘画失败' })
}
// 断开链接
client?.Close()
})
这个是选图代码:
// 变换图片
router.post("/u", async ({ body: { seleAction, num } }, rej) => {
try {
// 连接
await connect()
// 执行选图命令:如V1 v2 v3 v4 u1 u2 u3 u4等命令
const Imagine = await client.Custom({
msgId: seleAction.id,
flags: seleAction.flags,
content: `${seleAction.prompt}`,
customId: seleAction.options[num - 1].custom
});
// 将执行过后的数据进行返回
rej.send({ imgName, Imagine })
} catch (error) {
rej.send({ code: 400, data: '绘画失败' })
}
// 断开链接
client?.Close()
})
这就是整个api的实现过程啦
最后如果有什么疑问或者其他想法,欢迎联系我 WX:caicaior77(注明来意)
可以帮忙搭建API,以及搭建机器人,如需搭建MJ请,请自备Midjourney账号