本来用的一直都是第三方的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账号
actionapicliprompt机器人codemidjourneyapi接口服务器