教你接入Midjourney,不用梯子也能玩

news/2024/7/11 5:55:31 标签: midjourney, javascript, ai, 前端, chatgpt
aidu_pl">

ain-toc">1、效果

话不多说,先上最终出图效果, 我给的关键词是一只白色的猫

2、接入流程

API文档可以来这里查(可以白嫖100次midjourney出图和10次gpt4体验),我这里精简一下接入流程,方便大家快速接入

2.1、文字生图

首先是先通过文字生图,token可以去api文档中复制粘贴过来即可,请求如下:

javascript">const { data } = await axios({
    url: 'https://api.zhishuyun.com/midjourney/imagine?token=your token',
    method: 'POST',
    timeout: 60000,
    headers: {
        'content-type': 'application/json'
    },
    data: {
        prompt: 'a white cat',
        callback_url: `https://xxx.com/api/xxx`,
    },
});

prompt参数,必填,就是要输入的文字,注意必需是英文,中文是不准确的,你可以前置接入一个翻译工具把用户输入的文字变成英文,我的解决办法是前置接入了一个gpt 3.5,给的prompt是:

javascript">"messages": [
    { content: "请将我接下来的描述翻译成英文,不要夹带其他文字,如果准备好了,请回复", role: "user" },
    { content: "If you are ready, please reply.", role: "system" },
    { content: text, role: "user" },
]

callback_url参数,非必填,是一个回调地址就是当图片生成好后,会把生成结果发到这个地址,如果不填这个参数,那这个接口会一直pedding,指到图片生成结束,在把结果返给你,这个我建议是加上去不然对服务器压力很大,毕竟要pedding不少时间,我们看看他返回的结果,如下的一个json

 我们只要关注几个等会需要用到的字段,分别是image_id和actions,然后我们其中image_url就是生成的图片,我们查看一下效果,效果还是很不错的

会发现是4张图合成一张图,这其实是midjourney的一种节省资源的策略,之后我们可以对这张图做两种操作,分别是变换和放大,对接也十分简单

2.2、变换

选择一张图片,变换成同等风格的其他图片,比如我们想对左下角的图片做变换,我们就新增两个参数,分别是image_id表示刚才那张四宫格的图片image_id,另一个就是action,如果传upsample4代表要变换右下角那张图,其他操作上面都可以根据上一张图返回的actions字段来,如下

javascript">const { data } = await axios({
    url: 'https://api.zhishuyun.com/midjourney/imagine?token=your token',
    method: 'POST',
    timeout: 60000,
    headers: {
        'content-type': 'application/json'
    },
    data: {
        prompt: 'a white cat',
        // 要操作的图片id
        image_id: '1109284549273333971',
        // 表示变换右下角
        action: 'upsample4',
        callback_url: `https://xxx.com/api/xxx`,
    },
});

然后看下变换后的效果,会发现大致风格一致对一些细节做了调整

2.3、放大

选择一张图片,获取他的高清大图,主要用途是对单张图片做下载操作,传参跟上面的变换一样,只要把参数action改一下就行,比如我要放大左下角那张图,就把action改成传upsample3即可

javascript">action: "upsample3"

然后我们看下放大后的效果

如果我还想对这张做变换呢?聪明的你一定猜到了,那还是一样传这张放大图的image_id,同时action参数对应成变换的参数字符串即可,以上就是对接的内容了,我已经接入我的工具站了,分享给大家看看效果



http://www.niftyadmin.cn/n/341300.html

相关文章

chatgpt赋能Python-python3_排序

Python3 排序指南:介绍、说明和实践 Python3是当今最受欢迎的编程语言之一,拥有许多可用于各种任务的库和框架。其中之一是它自带的排序函数,在数据分析和机器学习等领域中非常有用。 在本篇文章中,我们将简要介绍Python3的排序和…

插入排序、选择排序、冒泡排序小结(45)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日主题 插入排序、选择排序、冒泡排序有什么区别? 原理不同 插入排序是将未排序的元素逐个插入到已排序序列中…

Python 学习 2022.08.28 周日

文章目录 一、 概述1.1) 之前写的文章:1.2) 基础点1.3) 配置1.4) Python2 和 Python3 的区别1.5) 相关问题跟踪解决1.6) 其他 一、 概述 1.1) 之前写的文章: 【Python大系】Python快速教程《Python 数据库 GUI CGI编…

Python中的字典学习笔记

字典的格式:{"key":"value"} key表示数据的含义,value表示对应的数据的值字典是一种可变的数据类型,从python3.7开始,字典是有序的。 字典创建的方式 1、通过{},要使用key:value的格式&#xff0c…

pandas---数据处理(excel文件)

近期在弄一个项目的前期数据,所以总结了一下,内容如下(以下以csv文件为例) 1. DataFrame常用操作1.1 DataFrame去除空行(1)对于一般空行(2)对于列表式(list)空…

【深度学习_TensorFlow框架】张量基础操作

写在前面 本篇文章主要讲解TensorFlow的一些基础概念以及基础操作,作为初学者,文章内容难免有错误,各位看官发现错误,还请不吝指正!!!🤝 基础数据类型以及了解张量的含义 张量的创…

最新整理Java面试八股文,大厂必备神器

在看这篇文章之前,我想我们需要先搞明白八股文是什么??? 明清科举考试的一种文体,也称制义、制艺、时文、八比文。八股文章就四书五经取题,内容必须用古人的语气,绝对不允许自由发挥&#xff0…

带拉绳的按钮

看看效果&#xff1a; 再上代吗&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script src"https://unpkg.co/gsap3/dist/gsap.min.js"></scr…