项目背景
众所周知,Midjourney并没有提供任何的Api服务,但是基于Midjourney目前的行业龙头位置,很多企业以及个人会有相关的需求。TTApi平台基于Midjourney现有功能整理出一套完整的可集成性高的服务,如果你有类似的需求,那么恭喜你找到了正确的使用方式。
新用户注册免费送 100 配额,最多可以免费请求 50 次imagine接口
出图效果
文章来源:https://www.toymoban.com/news/detail-852697.html
文章来源地址https://www.toymoban.com/news/detail-852697.html
Imagine接口示例
- Midjourney中文文档
Java请求示例
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import java.util.HashMap;
import java.util.Map;
/**
* 参考文档
* (中文版):https://docs-zh.mjapiapp.com/midjourney/midjourney-api
* (英文版):https://docs.mjapiapp.com/reference/midjourney-api
*/
public class TTApiMain {
//TT-API-KEY
private static final String TT_API_KET = "your_key";
//提交绘图申请
private static final String IMAGINE_URL = "https://api.ttapi.io/midjourney/v1/imagine";
//查询绘图结果
private static final String FETCH_RESULT = "https://api.ttapi.io/midjourney/v1/fetch";
public static void main(String[] args) {
//发送imagine绘图请求
String result = imagine("dog");
//查询绘图结果
fetch(JSONUtil.parseObj(result).getJSONObject("data").getStr("jobId"));
}
/**
* 发送 imagine 绘图请求
* @param prompt
*/
public static String imagine(String prompt){
Map<String, Object> map = new HashMap<>();
//提示词
map.put("prompt", prompt);
String result = HttpRequest.post(IMAGINE_URL)
.body(JSONUtil.toJsonStr(map))
.header("TT-API-KEY", TT_API_KET)
.execute().body();
System.out.println("绘图请求响应:" + result);
//{"status":"SUCCESS","message":"success","data":{"jobId":"******************************"}}
return result;
}
/**
* 查询绘图结果
* @param jobId 任务ID
*/
public static void fetch(String jobId){
String result = HttpRequest.get(FETCH_RESULT + "?jobId=" + jobId)
.header("TT-API-KEY", TT_API_KET)
.execute().body();
System.out.println("绘图结果:" + result);
//{"status":"ON_QUEUE","message":"","jobId":"******************************","data":{"action":"imagine","jobId":"******************************","progress":null,"prompt":"dog","discordImage":null,"cdnImage":null,"hookUrl":null,"components":null,"seed":null}}
}
}
python请求示例
import requests
endpoint = "https://api.ttapi.io/midjourney/v1/imagine"
headers = {
"TT-API-KEY": your_key
}
data = {
"prompt": "a cute cat",
"mode": "fast",
"hookUrl": "",
"timeout": 300
}
response = requests.post(endpoint, headers=headers, json=data)
print(response.status_code)
print(response.json())
TT-API-KEY 获取方式
- 首先:注册TTApi平台, 注册地址,注册后跳转至激活页面
- 点击 Send Activate Email,发送激活邮件至您的邮箱
- 在您的邮箱中点击Verify Email(如果找不到激活邮件,有可能被邮件服务商勿拦,请翻阅垃圾邮件)
- 点击后即激活成功,自动跳转至平台主页,同时您的邮件中将会收到成功邮件,首页点击转个人中心即可查看TT-API-KEY以及其他相关信息
- 注册激活成功系统赠送100quota,可以免费请求33次imagine接口。具体相关支持请查看文档地址
功能特点
- 包含Midjourney目前所有功能 imagine U V zoom pan vary blend describe seed 等等
- 支持Midjourney所有命令 –v --cref --ar 等等
- 支持webhook回调任务状态交互以及主动查询任务结果
参数详解
- header中的TT-API-KEY为全局必传参数,所有请求都需要使用,个人中心中即可获得
- mode是我们要使用的模式支持
fast,relax,turbo
对应的也就是midjourney的模式,不设置默认为fast - timeout参数为超时时间设置,fast模式一般300秒以内即可,relax模式一般600秒以内即可,不设置默认为300
- hookUrl为任务成功失败回调的地址,注意该地址请保证一定可以接收请求,任务状态数据会以json格式返回到该地址,以http状态码为准200即认为通知成功,http状态码非200最多会进行通知三遍
说明
Midjourney的不同操作以及在不同模式下消耗的账户订阅套餐的GPU时间是不相同的,TTApi的mj服务计费同理,详见费用说明文档 。 文档中详细介绍了对其他相关端点的支持,例如 U1-U4、V1-V4、blend 等。如果您有任何使用问题或建议,可以在下方留言,也可以在官网添加我们的联系方式,我们会对您提出的问题和建议及时回复。
到了这里,关于AI绘画,Midjourney API 接口对接和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!