当前位置: 首页 > news >正文

做代炼的网站做app网站的软件叫什么名字

做代炼的网站,做app网站的软件叫什么名字,seo门户网站优化,仿购物网站目录Midjourney Imagine API 申请及使用 申请流程 要使用 Midjourney Imagine API#xff0c;首先可以到 Midjourney Imagine API 页面点击「Acquire」按钮#xff0c;获取请求所需要的凭证#xff1a; 如果你尚未登录或注册#xff0c;会自动跳转到登录页面邀请您来注册和登…Midjourney Imagine API 申请及使用 申请流程 要使用 Midjourney Imagine API首先可以到 Midjourney Imagine API 页面点击「Acquire」按钮获取请求所需要的凭证 如果你尚未登录或注册会自动跳转到登录页面邀请您来注册和登录登录注册之后会自动返回当前页面。 在首次申请时会有免费额度赠送可以免费使用该 API。 基本使用 接下来就可以在界面上填写对应的内容如图所示 在第一次使用该接口时我们至少需要填写两个内容一个是 authorization直接在下拉列表里面选择即可。另一个参数是 prompt prompt 就是我们想生成的图片描述内容建议用英文描述画的图会更准确效果更好这里我们用了示例内容 Lamborghini speeds inside a volcano代表要画一个兰博基尼在火山飞驰。 同时您可以注意到右侧有对应的调用代码生成您可以复制代码直接运行也可以直接点击「Try」按钮进行测试。 调用之后我们发现返回结果如下 {image_url: https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234197197067915365/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_f47263b6-ff92-44a3-88ee-51cf0e706aae.png?ex662fdb36is662e89b6hmca9be54907726937ed02517a13466bef2afb2825b7cda4b313de56a3c3310d0dwidth1024height1024,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?ex662fdb36is662e89b6hmca9be54907726937ed02517a13466bef2afb2825b7cda4b313de56a3c3310d0d,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 所对应的链接可以发现如图所示。 可以看到这里生成了一张 2x2 的预览图。到现在为止第一次 API 调用就完成了。 图像放大与变换 下面我们尝试针对当前生成的照片进行进一步的操作比如我们觉得右上角第二张的图片还不错但我们想进行一些变换微调那么就可以进一步将 action 填写为 variation2同时将 image_id 传递即可 这时候得到的结果如下 {image_url: https://midjourney.cdn.acedata.cloud/attachments/1233387694839697411/1234201336543969401/36rgqit64j90qptsxnyq_Lamborghini_speeds_inside_a_volcano_id0494_10dc56a7-ec16-4bac-878e-2338f2ae5f5d.png?ex662fdf10is662e8d90hm9aec96bca35ae20b6f9ab536101b9c4ea255eb6216cbf7000ac554937da071f3width1024height1024,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?ex662fdf10is662e8d90hm9aec96bca35ae20b6f9ab536101b9c4ea255eb6216cbf7000ac554937da071f3,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新生成的图片如下所示 可以看到针对上一张右上角的图片我们再次得到了四张类似的照片。 这时候我们可以挑选其中一张进行精细化地放大操作比如选第四张那就可以 action 传入 upscale4通过 image_id 再次传入当前图像的 ID 即可。 注意 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?ex662fe031is662e8eb1hmf8006c4d33a03dfd027dffe4eb46ab0d113a4910aef07497f0b335c8998b7858width512height512,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?ex662fe031is662e8eb1hmf8006c4d33a03dfd027dffe4eb46ab0d113a4910aef07497f0b335c8998b7858,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 如图所示 origin_urlimage%2Fimage_VqBKsK5P1G.pngpos_idimg-EJPx6fTe-1715314690836) 这样我们就成功得到了一张兰博基尼的照片。 同时注意到 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 需要是一张纯图片不能是一个网页里面展示一张图片否则无法进行图像改写。建议使用图床如阿里云 OSS、腾讯云 COS、七牛云、又拍云等来上传获取图片的 URL。 例如我们这里有一张公路落日的图片公路旁边有一些树木和楼房如图所示 现在我们想在它的基础上改写成海滩旁边同时放一辆汽车停在路边。我们就可以构造如下的 prompt https://cdn.acedata.cloud/v014oc.png an illustration of a car parked on the beach --iw 2可以看到我们的 prompt 的最开头是一个 HTTPS 开头的图片链接然后接着加一个空格后面跟上 prompt 文字的内容。这里我们还用了额外的一些高级参数如 —iw 2 来调整图片的权重。 我们可以将如上内容作为一个整体传递给 prompt 字段如图所示 输出结果如下 {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?ex66311a28is662fc8a8hmc39707a1f22bc7f12874060ea6ed58ba37c188139ccc9a13c61ed9f37e66ea74width1456height816,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?ex66311a28is662fc8a8hmc39707a1f22bc7f12874060ea6ed58ba37c188139ccc9a13c61ed9f37e66ea74,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 } 这时候我们就得到了如下生成的图片 可以看到在原来的图片整体风格和构图不变的前提下整个场景变成了海滩旁边同时公路上还出现了汽车这就是 Prompt with Image。 图像融合 该 API 也支持图像融合我们可以传入多张图片以实现不同的图片融合效果。 比如说这里我们一共有两张图片一张是一只玩具熊另一张是一个电锯分别如图所示 现在我们想把二者融合起来让这只熊拿着这个电锯怎么做呢 我们可以构造如下的 prompt https://cdn.acedata.cloud/8fapzl.png https://cdn.acedata.cloud/c1igbw.png The bear is holding the chainsaw --iw 2可以发现和 Image with Prompt 类似我们这里将多张图片 URL 放在了 prompt 开头并以空格分隔最后再加上文字 prompt将如上内容作为一个整体传递给 prompt 参数运行效果如下 {image_url: https://midjourney.cdn.acedata.cloud/attachments/1234291876639674388/1234547236830973972/kcisok_The_bear_is_holding_the_chainsaw_id8873344_ad605bc4-ba19-4807-b94f-367dab672f7a.png?ex66312136is662fcfb6hm0fb1e2261c9a30b04de9da9b23b7562eb73677f1bbda1fae52c7243b12d25aacwidth1024height1024,image_width: 1024,image_height: 1024,image_id: 1234547236830973972,raw_image_url: https://midjourney.cdn.acedata.cloud/attachments/1234291876639674388/1234547236830973972/kcisok_The_bear_is_holding_the_chainsaw_id8873344_ad605bc4-ba19-4807-b94f-367dab672f7a.png?ex66312136is662fcfb6hm0fb1e2261c9a30b04de9da9b23b7562eb73677f1bbda1fae52c7243b12d25aac,raw_image_width: 2048,raw_image_height: 2048,progress: 100,actions: [upscale1,upscale2,upscale3,upscale4,reroll,variation1,variation2,variation3,variation4],task_id: 891f2645-ee15-4c7b-ac24-d98163c8e57e,success: true } 我们就得到了如下结果 可以看到我们就成功实现了图片融合。 注意图片融合最多可以支持 5 个图片 URL作为输入也就是最多支持 5 张图片融合输入格式同上。 异步回调 由于 Midjourney 生成图片需要等待一段时间所以本 API 也默认设计为了长等待模式。但在部分场景下长等待可能会带来一些额外的资源开销因此本 API 也提供了异步 Webhook 回调的方式当图片生成成功或失败时其结果都会通过 HTTP 请求的方式发送到指定的 Webhook 回调 URL。回调 URL 接收到结果之后可以进行进一步的处理。 下面演示具体的调用流程。 首先Webhook 回调是一个可以接收 HTTP 请求的服务开发者应该替换为自己搭建的 HTTP 服务器的 URL。此处为了方便演示使用一个公开的 Webhook 样例网站 https://webhook.site/打开该网站即可得到一个 Webhook URL如图所示 将此 URL 复制下来就可以作为 Webhook 来使用此处的样例为 https://webhook.site/995d0a91-d737-40a7-a3b9-5baf68ed924c。 接下来我们可以设置字段 callback_url 为上述 Webhook URL同时填入 prompt如图所示 点击测试之后会立即得到一个 task_id 的响应用于标识当前生成任务的 ID如图所示 稍等片刻等图片生成结束可以发发现 Webhook URL 收到了一个 HTTP 请求如图所示 其结果就是当前任务的结果内容如下 {success: true,task_id: f6e39eaf-652a-4bf5-a15c-79d8b143b80a,image_url: https://midjourney.cdn.acedata.cloud/attachments/1234291876639674388/1234551030549839932/kcisok_A_cat_sitting_on_a_table_id2724480_591c5c85-ec80-42ab-9fe5-9adfbed192e4.png?ex663124beis662fd33ehmda725eb74aae375d60beec38b4cd26c5a7b373b1662f222ff838a8ea6fd5e798width1024height1024,image_width: 1024,image_height: 1024,image_id: 1234551030549839932,raw_image_url: https://midjourney.cdn.acedata.cloud/attachments/1234291876639674388/1234551030549839932/kcisok_A_cat_sitting_on_a_table_id2724480_591c5c85-ec80-42ab-9fe5-9adfbed192e4.png?ex663124beis662fd33ehmda725eb74aae375d60beec38b4cd26c5a7b373b1662f222ff838a8ea6fd5e798,raw_image_width: 2048,raw_image_height: 2048,progress: 100,actions: [upscale1,upscale2,upscale3,upscale4,reroll,variation1,variation2,variation3,variation4] } 其中 success 字段标识了该任务是否执行成功如果执行成功还会有同样的 actions, image_id, image_url 字段和上文介绍的返回结果是一样的另外还有 task_id 用于标识任务以实现 Webhook 结果和最初 API 请求的关联。 如果图片生成失败Webhook URL 则会收到类似如下内容 {success: false,task_id: 7ba0feaf-d20b-4c22-a35a-31ec30fc7715,error: {code: bad_request,message: Unrecognized argument(s): -c, x} } 这里的 success 字段会是 false同时还会有 error.code 和 error.message 字段描述了任务错误的详情信息Webhook 服务器根据对应的结果进行处理即可。 流式输出 Midjourney 官方在生成图片的时候是有进度的在最开始是一张模糊的照片然后经过几次迭代之后图片逐渐变得清晰最后得到完整的图片。 所以一张图片的生成过程大约可以分为「发送命令」-「开始生图多次迭代逐渐清晰」-「生图完毕」的阶段。 在没开启流式输出的情况下本 API 从发起请求到返回结果实际上是从上述「发送命令」-「生图完毕」的全过程中间生图的过程也全被包含在里面由于 Midjourney 本身生成图片速度较慢整个过程大约需要等待一分钟或更久。 所以为了更好的用户体验本 API 支持流式输出即当「开始生图」的时候就开始返回结果每当绘制进度有变化就会流式将结果输出直至生图结束。 如果想流式返回响应可以更改请求头里面的 accept 参数修改为 application/x-ndjson不过调用代码需要有对应的更改才能支持流式响应。 Python 样例代码 import requestsurl https://api.acedata.cloud/midjourney/imagine?token{token} headers {content-type: application/json,accept: application/x-ndjson } body {prompt: a beautiful cat } r requests.post(url, headersheaders, jsonbody, streamTrue) for line in r.iter_lines():print(line.decode())运行结果 {image_id:1112780200447578272,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780200447578272/grid_0.webp,actions:[],progress:0} {image_id:1112780227496640635,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780227496640635/grid_0.webp,actions:[],progress:15} {image_id:1112780238934523994,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780238934523994/grid_0.webp,actions:[],progress:31} {image_id:1112780254398918716,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780254398918716/grid_0.webp,actions:[],progress:46} {image_id:1112780265933262858,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780265933262858/grid_0.webp,actions:[],progress:62} {image_id:1112780280965648394,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780280965648394/grid_0.webp,actions:[],progress:78} {image_id:1112780292621598860,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780292621598860/grid_0.webp,actions:[],progress:93} {image_id:1112780319758766080,image_url:https://midjourney.cdn.zhishuyun.com/attachments/1111955518269948007/1112780319758766080/dawn97_ignore81c5c24e-ea94-4ae2-aee4-252a98a347ed_a_beautiful_c_e20c3bc8-8827-4c99-9cf5-7d56c2e9d47f.png,actions:[upsample1,upsample2,upsample3,upsample4,variation1,variation2,variation3,variation4],progress:100}可以看到启用流式输出之后返回结果就是逐行的 JSON 了。在这里我们用 Python 里面的 iter_lines 方法自动获取了下一行的内容并打印出来。 如果要手动进行处理逐行 JSON 结果的话可以使用 \r\n 来进行分割。 例如在浏览器环境中用 JavaScript 的 axios 库来实现手动处理代码可改写如下 axios({url: https://api.zhishuyun.com/midjourney/imagine?token{token},data: {prompt: a beautiful cat,action: generate},headers: {accept: application/x-ndjson,content-type: application/json},responseType: stream,method: POST,onDownloadProgress: progressEvent {const response progressEvent.target.response;const lines response.split(\r\n).filter(line !!line)const lastLine lines[lines.length - 1]console.log(lastLine)} }).then(({ data }) Promise.resolve(data));但注意在 Node.js 环境中实现稍有不同代码可写为如下 const axios require(axios);const url https://api.zhishuyun.com/midjourney/imagine?token{token}; const headers {Content-Type: application/json,Accept: application/x-ndjson }; const body {prompt: a beautiful cat,action: generate };axios.post(url, body, { headers: headers, responseType: stream }).then(response {console.log(response.status);response.data.on(data, chunk {console.log(chunk.toString());});}).catch(error {console.error(error);});Java 样例代码 import okhttp3.*;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main {public static void main(String[] args) {String url https://api.zhishuyun.com/midjourney/imagine?token{token};OkHttpClient client new OkHttpClient();MediaType mediaType MediaType.parse(application/json);RequestBody body RequestBody.create(mediaType, {\prompt\: \a beautiful cat\});Request request new Request.Builder().url(url).post(body).addHeader(Content-Type, application/json).addHeader(Accept, application/x-ndjson).build();client.newCall(request).enqueue(new Callback() {Overridepublic void onFailure(Call call, IOException e) {e.printStackTrace();}Overridepublic void onResponse(Call call, Response response) throws IOException {if (!response.isSuccessful()) throw new IOException(Unexpected code response);try (BufferedReader br new BufferedReader(new InputStreamReader(response.body().byteStream(), UTF-8))) {String responseLine;while ((responseLine br.readLine()) ! null) {System.out.println(responseLine);}}}});} }运行结果都是类似的。 另外注意到流式输出的结果多了一个字段叫做 progress这个代表绘制进度范围是 0-100如果需要您也可以在页面展示这个信息。 注意当绘制未完全完成的时候actions 字段是空即无法对中间过程的图片做进一步的处理操作。绘制完毕之后绘制过程中产生的 image_url 会被销毁。
http://www.eeditor.cn/news/118540/

相关文章:

  • 网站开发公司选择wordpress安装配置文件
  • 网站绝对路径公司一定建设网站
  • 做国际物流需网站湖南哪里有做网站的
  • 搞笑网站建设目的和意义千图网在线设计
  • 阿里巴巴的电子商务网站建设企业网站静态模板下载
  • 吉安做网站公司自己建设网站教程
  • 云微助力网站建设聚名网备案域名购买
  • 网站制作眼asp.net 跳转别的网站
  • php门户网站源码wordpress 上传 中文乱码
  • php网站搬家软件xyz后缀的网站
  • 淮安企业网站建设珠宝网站策划
  • 灌云网站建设设计一个网站的价格表
  • 免费ppt成品网站wordpress手机网站模板制作
  • 广州网站维护公司深圳 营销型网站建设
  • 做网站网站的代理算网站罪吗沂源网站设计
  • 泰州网页网站制作wordpress登录不了
  • 域名站长工具目前主流网站建设软件
  • 网站安全证书怎么申请企业网站建设心得
  • 做网站设计注意什么细节学编程学哪一种比较好
  • 赤峰公司做网站校园网站建设的背景
  • 学什么可以做推广网站电子商务具体是干什么的
  • 企业网站设计的方案商业网站建设咨询
  • 做网站能给公司带来什么好处我想建个网站
  • 南宁网站建设公司seo优化诗词网页制作素材
  • 茂名中小企业网站制作图书销售网站建设
  • 网站建设衤金手指花总直接用源码做网站盗版吗
  • 百度指数 多少流量 网站名提升学历报考什么专业比较好
  • 俄罗斯门户网站菏泽建设
  • 网站会员体系方案网站建设公司 上
  • 如何设计一个购物网站网站正则表达式怎么做