罪恶克星 发表于 2025-4-17 06:39:54

Midjourney Imagine API 利用

Midjourney Imagine API 申请及利用

Midjourney 是一款非常强大的 AI 画图工具,只要输入关键字,就能在短短一两分钟生成非常精美的图像。Midjourney 以其出色的画图本事在业界独树一帜,如今,Midjourney 早已在各个行业和领域广泛应用,其影响力愈发显着。
本文档主要介绍 Midjourney API 中 Imagine 利用的利用流程,利用它我们可以轻松通过文本生成所需要的图像。
申请流程

要利用 Midjourney Imagine API,首先可以到 Midjourney Imagine API 页面点击「Acquire」按钮,获取请求所需要的根据:
https://i-blog.csdnimg.cn/img_convert/df1686f456d8b9a3b0c04feff82ff046.png
假如你尚未登录或注册,会自动跳转到登录页面邀请您来注册和登录,登录注册之后会自动返回当前页面。
在初次申请时会有免费额度赠送,可以免费利用该 API。
基本利用

接下来就可以在界面上填写对应的内容,如图所示:
https://i-blog.csdnimg.cn/img_convert/449db1a2897b3a231e15d823d080d5e8.png
在第一次利用该接口时,我们至少需要填写两个内容,一个是 authorization,直接在下拉列表内里选择即可。另一个参数是 prompt, prompt 就是我们想生成的图片描述内容,建议用英文描述,画的图会更准确效果更好,这里我们用了示例内容 Lamborghini speeds inside a volcano,代表要画一个兰博基尼在火山飞驰。
同时您可以注意到右侧有对应的调用代码生成,您可以复制代码直接运行,也可以直接点击「Try」按钮进行测试。
https://i-blog.csdnimg.cn/img_convert/7ce6ba7fce0fd5fd64b64237a79b2b64.png
调用之后,我们发现返回结果如下:
{
   
"image_url": "https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234197197067915365/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_f47263b6-ff92-44a3-88ee-51cf0e706aae.png?ex=662fdb36&is=662e89b6&hm=ca9be54907726937ed02517a13466bef2afb2825b7cda4b313de56a3c3310d0d&width=1024&height=1024",
"image_width": 1024,
"image_height": 1024,
"image_id": "1234197197067915365",
"raw_image_url": "https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234197197067915365/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_f47263b6-ff92-44a3-88ee-51cf0e706aae.png?ex=662fdb36&is=662e89b6&hm=ca9be54907726937ed02517a13466bef2afb2825b7cda4b313de56a3c3310d0d&",
"raw_image_width": 2048,
"raw_image_height": 2048,
"progress": 100,
"actions": [
    "upscale1",
    "upscale2",
    "upscale3",
    "upscale4",
    "reroll",
    "variation1",
    "variation2",
    "variation3",
    "variation4"
],
"task_id": "1bae3bec-3ac4-4180-a148-74ee6cb68b98",
"success": true
}
返回结果一共有多个字段,介绍如下:


[*]task_id,生成此图像使命的 ID,用于唯一标识此次图像生成使命。
[*]image_id,图片的唯一标识,在下次需要对图片进行变换利用时需要传此参数。
[*]image_url,缩略图的 URL,直接打开即可查看生成的效果。
[*]image_width:缩略图的像素宽度。
[*]image_height:缩略图的像素高度。
[*]raw_image_url:原图的 URL,和缩略图内容一样,但相比缩略图更加高清,加载速率会更慢一些。
[*]raw_image_width:原图的像素宽度。
[*]raw_image_height:原图的像素高度。
[*]actions,可以对生成的图片进行的进一步利用列表。这里一共列了 8 个,其中 upscale 代表放大,variation 代表变换。所以 upscale1 代表的就是对左上角第一张图片进行放大利用,variation3 就是代表根据左下角第三张图片进行变换利用。
打开 image_url 大概 raw_image_url 所对应的链接,可以发现如图所示。
https://i-blog.csdnimg.cn/img_convert/b42bb9d08c9228e41910ad71cedd7d0d.png
可以看到,这里生成了一张 2x2 的预览图。到如今为止,第一次 API 调用就完成了。
图像放大与变换

下面我们实验针对当宿世成的照片进行进一步的利用,比如我们觉得右上角第二张的图片还不错,但我们想进行一些变换微调,那么就可以进一步将 action 填写为 variation2,同时将 image_id 传递即可:
https://i-blog.csdnimg.cn/img_convert/0bd9575530c6e711fc5bff10912ac136.png
这时间得到的结果如下:
{
   
"image_url": "https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234201336543969401/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_10dc56a7-ec16-4bac-878e-2338f2ae5f5d.png?ex=662fdf10&is=662e8d90&hm=9aec96bca35ae20b6f9ab536101b9c4ea255eb6216cbf7000ac554937da071f3&width=1024&height=1024",
"image_width": 1024,
"image_height": 1024,
"image_id": "1234201336543969401",
"raw_image_url": "https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234201336543969401/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_10dc56a7-ec16-4bac-878e-2338f2ae5f5d.png?ex=662fdf10&is=662e8d90&hm=9aec96bca35ae20b6f9ab536101b9c4ea255eb6216cbf7000ac554937da071f3&",
"raw_image_width": 2048,
"raw_image_height": 2048,
"progress": 100,
"actions": [
    "upscale1",
    "upscale2",
    "upscale3",
    "upscale4",
    "reroll",
    "variation1",
    "variation2",
    "variation3",
    "variation4"
],
"task_id": "f4961620-1104-409f-9dc1-ba3ed15c2f4d",
"success": true
}
打开 image_url,新生成的图片如下所示:
https://i-blog.csdnimg.cn/img_convert/17280eca8717910072bc9cd10cd3e74b.png
可以看到,针对上一张右上角的图片,我们再次得到了四张雷同的照片。
这时间我们可以挑选其中一张进行精细化地放大利用,比如选第四张,那就可以 action 传入 upscale4,通过 image_id 再次传入当前图像的 ID 即可。
https://i-blog.csdnimg.cn/img_convert/64c3b9fd5a02b5cb9f633bfceec75784.png
   注意: upscale 利用相比 variation 来说,Midjourney 的耗时会更短一些。
返回结果如下:
{
   
"image_url": "https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234202545208033400/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_34edc3f5-2bd0-4f5b-a372-03270b02289b.png?ex=662fe031&is=662e8eb1&hm=f8006c4d33a03dfd027dffe4eb46ab0d113a4910aef07497f0b335c8998b7858&width=512&height=512",
"image_width": 512,
"image_height": 512,
"image_id": "1234202545208033400",
"raw_image_url": "https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234202545208033400/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_34edc3f5-2bd0-4f5b-a372-03270b02289b.png?ex=662fe031&is=662e8eb1&hm=f8006c4d33a03dfd027dffe4eb46ab0d113a4910aef07497f0b335c8998b7858&",
"raw_image_width": 1024,
"raw_image_height": 1024,
"progress": 100,
"actions": [
    "upscale_2x",
    "upscale_4x",
    "variation_subtle",
    "variation_strong",
    "zoom_out_2x",
    "zoom_out_1_5x",
    "pan_left",
    "pan_right",
    "pan_up",
    "pan_down"
],
"task_id": "03f62b17-a6f1-4c8e-9b4d-1fc7bd5b1180",
"success": true
}
其中 image_url 如图所示:
https://i-blog.csdnimg.cn/img_convert/5f7a1a99e40876302b7357f83cf6707a.png
这样我们就成功得到了一张兰博基尼的照片。
同时注意到 actions 内里又包罗了几个可进行的利用,介绍如下:


[*]upscale_2x:对画面放大 2 倍,得到 2 倍高清图。
[*]upscale_4x:对画面放大 4 倍,得到 4 倍高清图。
[*]zoom_out_2x:对画面进行缩小两倍利用(附近区域填充)。
[*]zoom_out_1_5x:对画面进行缩小 1.5 倍利用(附近区域填充)。
[*]pan_left:对画面进行左偏移利用。
[*]pan_right:对画面进行右自制利用。
[*]pan_up:对画面进行上偏移利用。
[*]pan_down:对画面进行下偏移利用。
可以继续按照上述流程传入对应的变换指令进行连续生图利用。
图像改写(垫图)

该 API 也支持图像改写,俗称垫图,我们可以输入一张图片 URL 以及需要改写的描述文字,该 API 就可以返回改写后的图片。
   注意:输入的图片 URL 需要是一张纯图片,不能是一个网页内里展示一张图片,否则无法进行图像改写。建议利用图床来上传获取图片的 URL。
比方,我们这里有一张公路斜阳的图片,公路旁边有一些树木和楼房,如图所示:
https://i-blog.csdnimg.cn/img_convert/ba3ab72a1b184aae42c81bf71e92f5a7.png
如今我们想在它的底子上改写成海滩旁边,同时放一辆汽车停在路边。我们就可以构造如下的 prompt:
https://cdn.acedata.cloud/v014oc.png an illustration of a car parked on the beach --iw 2
可以看到,我们的 prompt 的最开头是一个 HTTPS 开头的图片链接,然后接着加一个空格,背面跟上 prompt 文字的内容。这里我们还用了额外的一些高级参数,如 —iw 2 来调解图片的权重。
我们可以将如上内容作为一个团体,传递给 prompt 字段,如图所示:
https://i-blog.csdnimg.cn/img_convert/5f3f8d3c1c0583e81a40f15da00d3435.png
输出结果如下:
{
   
"image_url": "https://midjourney.cdn.acedata.cloud/attachments/1234427310434947145/1234539663515975690/atmateosa5693_An_illustration_of_a_car_parked_on_the_beach_id26_cc8650ec-7e4b-4685-8911-78172430d8a7.png?ex=66311a28&is=662fc8a8&hm=c39707a1f22bc7f12874060ea6ed58ba37c188139ccc9a13c61ed9f37e66ea74&width=1456&height=816",
"image_width": 1456,
"image_height": 816,
"image_id": "1234539663515975690",
"raw_image_url": "https://midjourney.cdn.acedata.cloud/attachments/1234427310434947145/1234539663515975690/atmateosa5693_An_illustration_of_a_car_parked_on_the_beach_id26_cc8650ec-7e4b-4685-8911-78172430d8a7.png?ex=66311a28&is=662fc8a8&hm=c39707a1f22bc7f12874060ea6ed58ba37c188139ccc9a13c61ed9f37e66ea74&",
"raw_image_width": 2912,
"raw_image_height": 1632,
"progress": 100,
"actions": [
    "upscale1",
    "upscale2",
    "upscale3",
    "upscale4",
    "reroll",
    "variation1",
    "variation2",
    "variation3",
    "variation4"
],
"task_id": "24a79e8b-a79d-471a-aef7-089dc0627ee8",
"success": true
}

这时间我们就得到了如下生成的图片:
https://i-blog.csdnimg.cn/img_convert/9265de7ffd89f1f3d23167dea7bdc537.png
可以看到,在原来的图片团体风格和构图稳定的前提下,整个场景酿成了海滩旁边,同时公路上还出现了汽车,这就是 Prompt with Image。
图像融合

该 API 也支持图像融合,我们可以传入多张图片,以实现差异的图片融合效果。
比如说这里我们一共有两张图片,一张是一只玩具熊,另一张是一个电锯,分别如图所示:
https://i-blog.csdnimg.cn/img_convert/7da917181741d9fd28c0cc44b095c26b.png
https://i-blog.csdnimg.cn/img_convert/ae77146fdd1909ee0d583ce499b54fe7.png
如今我们想把二者融合起来,让这只熊拿着这个电锯,怎么做呢?
我们可以构造如下的 prompt:
https://i-blog.csdnimg.cn/img_convert/7da917181741d9fd28c0cc44b095c26b.png https://i-blog.csdnimg.cn/img_convert/ae77146fdd1909ee0d583ce499b54fe7.png The bear is holding the chainsaw
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Midjourney Imagine API 利用