chatgpt生成图片

最近chatgpt火热,chatgpt也能根据文本生成图片

1废话不多说,上代码

exports.getimg = async (types, id, propmt) => {
    try {
        propmt = propmt.slice(propmt.indexOf("图"), propmt.length - 1)
        const resonse = await openai.createImage({
            prompt: propmt,
            n: 1,
            size: "512x512",
        });
        image_url = response.data.data[0].url;
        await SendMessage.SendMessage(types, `[CQ:image,file=${image_url}]`, id)
    } catch (e) {
        if (e) {
            await SendMessage.SendMessage(types, `图片出错了${e}`, id)
        }
    }

}

其中n是返回的图片数目,size是尺寸,propmt是输入的文本

2 .代码

1.首先是要下载openai提供的包

npm insatll openai

2.引入包

const {Configuration, OpenAIApi} = require("openai");

3 完整代码

const {Configuration, OpenAIApi} = require("openai");
const configuration = new Configuration({
    apiKey: token.apikey, //自己的apikey,要有openai账号
});
const openai = new OpenAIApi(configuration);
exports.getimg = async (types, id, propmt) => {
    try {
        propmt = propmt.slice(propmt.indexOf("图"), propmt.length - 1)
        const resonse = await openai.createImage({
            prompt: propmt,
            n: 1,
            size: "512x512",
        });
        image_url = response.data.data[0].url;
        // console.log(image_url)
        // fs.writeFileSync("chatgpt.txt", "Human:" + propmt + "\n" + image_url)
        await SendMessage.SendMessage(types, `[CQ:image,file=${image_url}]`, id)

    } catch (e) {
        if (e) {
            await SendMessage.SendMessage(types, `图片出错了${e}`, id)
        }
    }

}

4.在群聊中调用getimg方法

//只有管理才能调用此方法
if (data.user_id === config.manager[0]) {
      if (data.message.includes("画图")) {
            chatgpt.getimg("group", data.group_id, data.message)
        }
} 

3.结果

4.整个QQ机器人项目已经开源git

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值