当前位置:   article > 正文

Midjourney api 国内对接使用教程_midjourney api对接步骤

midjourney api对接步骤

项目背景

众所周知,Midjourney并没有提供任何的Api服务,但是基于Midjourney目前的行业龙头位置,很多企业以及个人会有相关的需求。TTApi平台基于Midjourney现有功能整理出一套完整的可集成性高的服务,如果你有类似的需求,那么恭喜你找到了正确的使用方式。

新用户注册免费送 100 配额,最多可以免费请求 50 次imagine接口

使用方式

  • 首先:注册TTApi平台, 注册地址,注册后跳转至激活页面

    activation.png

  • 点击 Send Activate Email,发送激活邮件至您的邮箱

    activation.png

  • 在您的邮箱中点击Verify Email(如果找不到激活邮件,有可能被邮件服务商勿拦,请翻阅垃圾邮件

    home.png

    home.png

  • 点击后即激活成功,自动跳转至平台主页,同时您的邮件中将会收到成功邮件,首页点击转个人中心即可查看TT-API-KEY以及其他相关信息

  • 注册激活成功系统赠送100quota,可以免费请求50次imagine接口。具体相关支持请查看文档地址

功能特点

  • 包含Midjourney目前所有功能 imagine U V zoom pan vary blend describe seed 等等

  • 支持Midjourney所有命令 --v --cref --ar 等等

  • 支持webhook回调任务状态交互以及主动查询任务结果

接口示例

Python请求示例
  1. import requests
  2. endpoint = "https://api.ttapi.io/midjourney/v1/imagine"
  3. headers = {
  4.   "TT-API-KEY": your_key
  5. }
  6. data = {
  7.   "prompt": "a cute cat",
  8.   "mode": "fast",
  9.   "hookUrl": "",
  10.   "timeout": 300
  11. }
  12. response = requests.post(endpoint, headers=headers, json=data)
  13. print(response.status_code)
  14. print(response.json())
Java请求示例
  1. import cn.hutool.http.HttpRequest;
  2. import cn.hutool.json.JSONUtil;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. /**
  6. * 参考文档
  7. * (中文版):https://docs-zh.mjapiapp.com/midjourney/midjourney-api
  8. * (英文版):https://docs.mjapiapp.com/reference/midjourney-api
  9. */
  10. public class TTApiMain {
  11. //TT-API-KEY
  12. private static final String TT_API_KET = "your_key";
  13. //提交绘图申请
  14. private static final String IMAGINE_URL = "https://api.ttapi.io/midjourney/v1/imagine";
  15. //查询绘图结果
  16. private static final String FETCH_RESULT = "https://api.ttapi.io/midjourney/v1/fetch";
  17. public static void main(String[] args) {
  18. //发送imagine绘图请求
  19. String result = imagine("dog");
  20. //查询绘图结果
  21. fetch(JSONUtil.parseObj(result).getJSONObject("data").getStr("jobId"));
  22. }
  23. /**
  24. * 发送 imagine 绘图请求
  25. * @param prompt
  26. */
  27. public static String imagine(String prompt){
  28. Map<String, Object> map = new HashMap<>();
  29. //提示词
  30. map.put("prompt", prompt);
  31. String result = HttpRequest.post(IMAGINE_URL)
  32. .body(JSONUtil.toJsonStr(map))
  33. .header("TT-API-KEY", TT_API_KET)
  34. .execute().body();
  35. System.out.println("绘图请求响应:" + result);
  36. return result;
  37. }
  38. /**
  39. * 查询绘图结果
  40. * @param jobId 任务ID
  41. */
  42. public static void fetch(String jobId){
  43. String result = HttpRequest.get(FETCH_RESULT + "?jobId=" + jobId)
  44. .header("TT-API-KEY", TT_API_KET)
  45. .execute().body();
  46. System.out.println("绘图结果:" + result);
  47. }
  48. }
参数详解
  • header中的TT-API-KEY为全局必传参数,所有请求都需要使用,个人中心中即可获得

  • mode是我们要使用的模式支持 fast,relax,turbo对应的也就是midjourney的模式,不设置默认为fast

  • timeout参数为超时时间设置,fast模式一般300秒以内即可,relax模式一般600秒以内即可,不设置默认为300

  • hookUrl为任务成功失败回调的地址,注意该地址请保证一定可以接收请求,任务状态数据会以json格式返回到该地址,以http状态码为准200即认为通知成功,http状态码非200最多会进行通知三遍

  • getUImages 是否获取 upsample 四张图片,支持 false(不获取)、true(获取),不设置默认为 false

计费说明

Midjourney的不同操作以及在不同模式下消耗的账户订阅套餐的GPU时间是不相同的,TTApi的mj服务计费同理,详见费用说明文档

技术之外

如果对我的服务有任何想法以及建议欢迎各位指出,这个平台一开始的出发点也是因为自己的实际业务需要使用,后续发现越来越多的同行企业或是个人有同样的需求,但是疲于跟官方不停的“斗智斗勇”,所以干脆做了一个平台,能赚取一些零花钱的同时能给各位coder同行提供便利。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/878840
推荐阅读
相关标签
  

闽ICP备14008679号