要使用 Midjourney API,首先可以到 Midjourney API 页面点击「获取」按钮:
MJ接口对接https://data.zhishuyun.com/documents/0fd3dd40-a16a-4246-8313-748b8e75c29e
如果你尚未登录,会自动跳转到登录页面。
扫码关注公众号即可自动登录,无需额外注册步骤。
登录完了之后会跳回原页面 Midjourney Imagine API ,此时会提示「您尚未申请该服务,需要申请」。
申请时会校验实名认证情况,请按照网站提示完成实名认证。
实名认证会校验姓名、手机号、身份证号,需要三者一致才可以通过认证。
认证完了之后可以返回页面,刷新一下页面确保信息更新,然后重新申请即可通过申请。
使用流程
接下来就可以在界面上填写对应的内容,如图所示:
在第一次使用该接口时,我们至少需要填写两个参数,一个是 action
,另一个是 prompt
。其中 action
参数代表了生成图的操作类型,由于第一次调用该 API 我们没有生成过任何内容,所以我们需要先输入文字来生成一副预览图,所以这时候 action
应该填写为 generate
。另外一个参数 prompt
就是我们想生成的图片描述内容了,建议用英文描述,画的图会更准确效果更好,这里我们用了示例内容 a beautiful cat
,代表要画一只好看的猫。
依次填写好图中所示参数,然后点击「测试」按钮即可测试接口。
「测试」按钮下方会显示 API 返回的结果。
同时您可以注意到右侧有对应的调用代码生成,您可以复制代码到您的 IDE 里面进行对接和开发。
调用之后,我们发现返回结果如下:
{
"image_id": "1099393157310972054",
"image_url": "https://midjourney.cdn.zhishuyun.com/attachments/1095707041194065984/1099393157310972054/xo0ixi3_ignore488f61e9-279a-4348-b5c4-69cf7cce12ee_a_beautiful__e047bcc9-00d6-4025-871d-0ea3f3417493.png",
"actions": [
"upsample1",
"upsample2",
"upsample3",
"upsample4",
"variation1",
"variation2",
"variation3",
"variation4"
]
}
返回结果一共有三个字段,介绍如下:
image_id
,图片的唯一标识,在下次需要对图片进行变换操作时需要传此参数。
image_url
,图片的 URL,直接打开即可查看生成的效果,如图所示:
可以看到,这里生成了一张 2x2 的预览图。
actions
,可以对生成的图片进行的进一步操作列表。这里一共列了 8 个,其中 upsample
代表放大,variation
代表变换。所以 upsample1
代表的就是对左上角第一张图片进行放大操作,variation3
就是代表根据左下角第三张图片进行变换操作。
到现在为止,第一次 API 调用就完成了。
下面我们尝试针对当前生成的照片进行进一步的操作,比如我们觉得右上角第二张的图片还不错,但我们想进行一些变换微调,那么就可以进一步将 action
填写为 variation2
,同时将 image_id
传递即可:
这时候得到的结果如下:
{
"image_id": "1099397465775550564",
"image_url": "https://midjourney.cdn.zhishuyun.com/attachments/1095707041194065984/1099397465775550564/xo0ixi3_ignore488f61e9-279a-4348-b5c4-69cf7cce12ee_a_beautiful__c2893a63-2b1e-4c98-9e29-625bf601393e.png",
"actions": [
"upsample1",
"upsample2",
"upsample3",
"upsample4",
"variation1",
"variation2",
"variation3",
"variation4"
]
}
打开 image_url
,新生成的图片如下所示:
可以看到,针对上一张右上角的图片,我们再次得到了四张类似的照片。
这时候我们可以挑选其中一张进行精细化地放大操作,比如选第四张,那就可以 action
传入 upsample4
,通过 image_id
再次传入当前图像的 ID 即可。
注意: upsample
操作相比 variation
来说,Midjourney 的耗时会长很多,大约 1-5 分钟不等(取决于账号情况和任务排队情况),请耐心等待。
返回结果如下:
{
"image_id": "1099398760116793424",
"image_url": "https://midjourney.cdn.zhishuyun.com/attachments/1095707041194065984/1099398760116793424/xo0ixi3_ignore488f61e9-279a-4348-b5c4-69cf7cce12ee_a_beautiful__9af334c6-f6b0-4a21-881d-3ae11da4b9b4.png",
"actions": [
"variation1",
"upsample_light1",
"upsample_beta1"
]
}
其中 image_url
如图所示:
这样我们就成功得到了一张猫的照片。
同时注意到 actions
里面又包含了几个可进行的操作,介绍如下:
variation1
:针对当前这张大图进行进一步的变换,生成四张小图。
upsample_light1
:对画面进行柔化处理。
upsample_beta1
:一些测试版本的放大处理操作,说不定在某些图片上会有更好的效果。
如果感兴趣可以继续根据上述规律,通过传递 action
和 image_id
进行图像的变换处理即可。