矢量图高清接口
一、 提交高清矢量图任务
1. 接口地址
https://www.hidreamai.com/api-pub/gw/v2/image/img2svg/async
2. 请求方式
POST
3. 请求参数
Header 同快速矢量图接口的请求头
Body
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
image | string | 是 | 待转矢量图的图片,支持传入图片的base64值/URL地址 |
mode | string | 是 | 生成模式(支持'fast'和'slow'两种参数,前者速度快,后者精度高速度慢) |
notify_url | string | 否 | 任务完成回调通知接口(需公网能访问),请求体包含main_task_id(任务的task_id)、sub_task_results |
curl示例
curl -H 'Authorization: Bearer {USER_Authorization}' \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"image": {image},
"mode": "slow",
}' \
-v 'https://www.hidreamai.com/api-pub/gw/v2/image/img2svg/async'
Python示例
import requests
import json
import uuid
USER_Authorization = <token> # 获取方式详见接口文档https://www.hidreamai.com/docs/pixeling/user/token.html
# 请求头
headers = {
'Authorization': f'Bearer {USER_Authorization}',
'Content-Type': 'application/json',
'API-User-ID': '' # 可选的用户唯一标识
}
# 请求体参数
data = {
"image": "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg", # 必要参数
"mode": "slow" # 必要参数
}
# 发送POST请求
url = 'https://www.hidreamai.com/api-pub/gw/v2/image/img2svg/async'
response = requests.post(url, headers=headers, data=json.dumps(data))
# 处理响应
if response.status_code == 200:
if response.json()['code'] == 0:
task_id = response.json()['result']['task_id']
print(task_id)
else:
print(response.json()['message'])
else:
print(response.status_code)
4. 返回参数
{
"code": 0,
"message": "Success",
"request_id": "b6e6cacc-bc2d-11ee-8db3-fa1d95e61235",
"result": {
"sub_task_ids": [
"4c5b234b-c1d8-4128-99d7-c7e2c80712ed"
],
"task_id": "b6eec858-bc2d-11ee-8db3-fa1d95e61235"
}
}
二、 获取高清矢量图结果
1. 接口地址
https://www.hidreamai.com/api-pub/gw/v2/image/img2svg/async/results
2. 请求方式
GET
3. 请求参数
同快速矢量图接口的请求参数
curl示例
curl -H 'Authorization: Bearer {USER_Authorization}' -X GET
-v 'https://www.hidreamai.com/api-pub/gw/v2/image/img2svg/async/results?task_id=b1781982-5c57-11ee-bf2b-f6f8d60dadec&request_id=425d6094-3a73-11ee-85e2-0a4fb61b1c34'
Python示例
import requests
USER_Authorization = <token> # 获取方式详见接口文档https://www.hidreamai.com/docs/pixeling/user/token.html
task_id = "9d75b95c-d6e7-11ee-9569-52cbc25497eb" # <task_id>
# 请求头
headers = {
'Authorization': f'Bearer {USER_Authorization}'
}
# 请求参数
params = {
'task_id': task_id,
'request_id': ''
}
# 发送GET请求
url = 'https://www.hidreamai.com/api-pub/gw/v2/image/img2svg/async/results'
response = requests.get(url, headers=headers, params=params)
# 处理响应
if response.status_code == 200:
if response.json()['code'] == 0:
results = response.json()['result']['sub_task_results']
for result in results:
print(f"task_status: {result['task_status']}, task_completion: {result['task_completion']}, image_url: {result['image']}")
else:
print(response.json()['message'])
else:
print(response.status_code)
4. 返回参数
参数 | 类型 | 说明 |
---|---|---|
code | int | 返回状态码 |
message | string | 返回状态信息 |
request_id | string | 本次请求的ID |
result | dict | 返回结果 |
其中返回结果 result字段具体为:
参数 | 类型 | 说明 |
---|---|---|
task_id | string | 返回任务ID |
sub_task_results | list | 返回子任务结果的列表,子任务定义为生成单张图片的任务 |
参数 | 类型 | 说明 |
---|---|---|
image | string | 重绘的图片的url |
sub_task_id | string | 子任务的task_id |
task_completion | float | 子任务的进度,取值范围为0-1的小数点后保留2位的小数 |
task_status | int | 子任务的状态,0: 等待中,1: 完成,2: 处理中,3: 失败,4: 未通过审核 |
示例
{
"code": 0,
"message": "Success",
"request_id": "a7632eac-bf38-11ee-8754-165409f63db7",
"result": {
"sub_task_results": [
{
"image": "https://media.hidreamai.com/44f91171-ac31-41de-bb1f-00fe81c65a11_final.svg",
"sub_task_id": "4b5dd0da-d7ac-47ca-9edd-9f2852cf019a",
"task_completion": 1,
"task_status": 1
}
],
"task_id": "2c680b5a-bf38-11ee-9744-165409f63db7"
}
}