在请求的 header 中,添加 apikey
字段,值为后台的 apikey,具体添加方法见后面代码示例
api请求有动态调整的频率限制,触发会提示。建议不同请求间隔至少10秒
所有请求请使用原始表单form-data
格式POST发送,所有返回结果以json
格式返回
请求url:https://qingtu.cn/v2/api/v1/qingtu/handle
请求方式:POST
请求参数:
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
file | File | file 和 url 必填其中一个 | 文件原始格式 |
url | string | file 和 url 必填其中一个 | 图片 url 地址 |
nonce | string | 是 | 随机字符串,每次请求不能重复 |
notify_url | string | 否 | 可选项。异步通知地址。携带该参数,则在任务处理完成后,会将任务处理结果推送到该url(可免去调用查询check接口的步骤)。注意:Notify 当前未正式开放 |
返回参数:
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
code | int | 是 | 请求处理结果,0代表成功,其它代表异常 |
msg | string | 是 | 对应消息提示 |
data | object | 否 | 返回数据对象。通常是任务处理相关信息。返回内容会包含任务唯一标识fid ,可以根据fid执行查询 |
请求url:https://qingtu.cn/v2/api/v1/qingtu/check
请求方式:POST
请求参数:
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
fid | string | 是 | 任务标识id,唯一 |
nonce | string | 是 | 随机字符串,每次请求不能重复 |
返回参数:
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
code | int | 是 | 请求处理结果,0代表成功,其它代表异常 |
msg | string | 是 | 对应code结果的消息提示 |
data | object | 否 | 返回数据对象。通常是任务处理相关信息。返回data字段与后面notify通知字段相同。 |
以下内容为异步通知的字段,以form-data
形式(注意:非json格式)推送
注意:在业务侧处理任务更新时,由于网络等未知原因,不可强依赖notify。应和check结合使用
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
fid | int | 是 | 任务标识id,唯一 |
created_at | string | 是 | 任务创建时间 |
status | int | 是 | 任务状态。2:处理完成 |
status_msg | string | 是 | 任务状态描述 |
result_url | string | 是 | 任务处理结果url |
message | string | 是 | 处理结果存储状态 |
请求url:https://qingtu.cn/v2/api/v1/qingtu/delete
请求方式:POST
请求参数:
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
fid | string | 是 | 任务标识id,唯一 |
nonce | string | 是 | 随机字符串,每次请求不能重复 |
返回参数:
字段名称 | 字段类型 | 是否必填 | 字段说明 |
---|---|---|---|
code | int | 是 | 请求处理结果,0代表成功,其它代表异常 |
msg | string | 是 | 对应code结果的消息提示 |
data | object | 否 | 返回数据对象。通常是任务处理相关信息 |
PHP 版本:
xxxxxxxxxx
<?php
$apikey = 'xxxxxxxxxxxxxxxx'; // 请替换为你的apikey
$file_path = './test.png'; // 请替换为你的文件路径
// 定义请求字段
$data = array(
'file' => new CURLFile($file_path),
// 'url' => 'https://xxxx.xxx/xx/xx.jpg', // 如需使用url这里定义
'nonce' => time(), // 随机字符串。这里使用的时间戳
);
// 发起请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://qingtu.cn/v2/api/v1/qingtu/handle');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['apikey:' . $apikey]);
$response = curl_exec($ch);
curl_close($ch);
// 美化显示结果
$decoded = json_decode($response);
$pretty = json_encode($decoded, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
echo $pretty;
?>
Python 版本:
xxxxxxxxxx
import requests
import json
import time
apikey = 'xxxxxxxxxxxxxxxx' # 请替换为你的apikey
file_path = './test.png' # 请替换为你的文件路径
# 定义请求字段
data = {
'nonce': str(int(time.time())) # 随机字符串。这里使用的时间戳
}
files = {'file': open(file_path, 'rb')}
# 发起请求
response = requests.post('https://qingtu.cn/v2/api/v1/qingtu/handle',
headers={'apikey': apikey},
data=data,
files=files)
# 美化显示结果
decoded = response.json()
pretty = json.dumps(decoded, ensure_ascii=False, indent=4)
print(pretty)