go get github.com/pinguo/open-api-sdk-go/v2
接口地址: https://ai-open-api.pinguo.cn
所有接口均需要签名认证,使用 Open API 签名机制。
| Header |
类型 |
必填 |
说明 |
| PG-AccessKey |
string |
是 |
应用访问密钥 |
| PG-Timestamp |
string |
是 |
请求时间戳(Unix 秒) |
| PG-Sign |
string |
是 |
请求签名 |
| Content-Type |
string |
是 |
application/json |
- 路径:
POST /v1/task/create/{modelID}
- 说明: 创建异步任务
| 参数 |
类型 |
必填 |
说明 |
| modelID |
string |
是 |
模型 ID,例如:pg-fast-restorer-2x-enhanced |
注意:请求体内容根据具体模型服务而定,具体参数请参考模型列表中对应模型的参数详细说明。
示例(快速超分):
{
"image_url": "http://example.com/image.jpg",
"output_url": "http://example.com/image.jpg",
"output_method": "PUT"
}
成功响应 (200):
{
"taskID": "69d5c494a79d195c1c39407f"
}
错误响应:
{
"code": 500,
"message": "模型请求报错!请联系管理员"
}
| 错误码 |
说明 |
| 400 |
参数错误 |
| 432 |
签名验证失败 |
| 500 |
模型请求失败 |
curl -X POST 'http://localhost:8000/v1/task/create/pg-fast-restorer-2x-enhanced' \
-H 'Content-Type: application/json' \
-H 'PG-AccessKey: OYHLHUoiQd3jTz7+eP1EUmcm' \
-H 'PG-Timestamp: 1712345678' \
-H 'PG-Sign: abc123...' \
-d '{
"image_url": "http://example.com/image.jpg",
"output_url": "http://example.com/image.jpg",
"output_method": "PUT"
}'
- 路径:
GET /v1/task/detail/{modelID}/{taskID}
- 说明: 查询异步任务的执行状态和结果
| 参数 |
类型 |
必填 |
说明 |
| modelID |
string |
是 |
模型 ID,例如:pg-fast-restorer-2x-enhanced |
| taskID |
string |
是 |
任务 ID(由创建任务接口返回) |
成功响应 (200):
{
"taskID": "69d61e5ea79d195c1c3962c2",
"status": "done",
"data": "模型本身响应的JSON字符串"
}
| 参数 |
类型 |
说明 |
| taskID |
string |
任务 ID(由创建任务接口返回) |
| status |
string |
任务状态, "done" 表示已完成(init: 初始化中,running: 运行中,done: 已完成,cancel: 已取消) |
| data |
string |
模型本身响应的JSON字符串 |
注意:响应参数中的data根据具体模型服务而定,具体参数请参考模型列表中对应模型的参数详细说明。
错误响应:
{
"code": 500,
"message": "模型请求报错!请联系管理员"
}
| 错误码 |
说明 |
| 400 |
参数错误 |
| 432 |
签名验证失败 |
| 500 |
模型请求失败 |
curl -X GET 'http://localhost:8000/v1/task/detail/pg-fast-restorer-2x-enhanced/69d5c494a79d195c1c39407f' \
-H 'PG-AccessKey: OYHLHUoiQd3jTz7+eP1EUmcm' \
-H 'PG-Timestamp: 1712345678' \
-H 'PG-Sign: abc123...'
| modelID |
类型 |
描述 |
值 |
| modelID |
string |
是 |
2倍超分:pg-fast-restorer-2x-enhanced、4倍超分:pg-fast-restorer-4x-enhanced |
无
{
"image_url": "http://example.com/image.jpg",
"output_url": "http://example.com/image.jpg",
"output_method": "PUT"
}
| 参数 |
类型 |
必填 |
说明 |
| image_url |
string |
是 |
输入图片 URL,仅支持jpg\jpeg\png格式的图片 |
| output_url |
string |
是 |
结果图上传的预签名URL(云存储商的预签名URL) |
| output_method |
string |
否 |
上传方法: PUT 或 POST,默认为PUT |
{
"code": 200,
"message": "ok",
"data": "http://example.com/image.jpg"
}
| 参数 |
类型 |
说明 |
| code |
int |
状态码:200 表示模型处理成功 |
| message |
string |
"ok" |
| data |
string |
请求参数中的output_url |
{
"code": 500,
"message": "Error message"
}
| 参数 |
类型 |
说明 |
| code |
int |
错误码:500 表示服务器错误等,400 表示参数错误等 |
| message |
string |
错误信息 |
| modelID |
类型 |
描述 |
值 |
| modelID |
string |
是 |
turing-cloud-retouch |
无
{
"images": [
{
"id": "69b370faf85ce4ebaec93106",
"url": "https://ali-public-qa.oss-cn-hangzhou.aliyuncs.com/FtE6ZJ5RP8vUF_ucXgbYrdoliWw-"
}
],
"preset": {
"share_code": "turing9ert88",
"store_owner_mobile": "19900000000"
},
"id": "69b39a3e09239d3856a20718"
}
| 参数 |
类型 |
必填 |
说明 |
| images |
array |
是 |
图片列表,每个元素包含图片 ID 和 URL |
| images.id |
string |
是 |
图片 ID |
| images.url |
string |
是 |
图片 URL |
| preset |
object |
是 |
预设参数,包含分享码和店铺手机号 |
| preset.share_code |
string |
是 |
分享码 |
| preset.store_owner_mobile |
string |
是 |
店铺手机号 |
| id |
string |
是 |
图灵云端修图任务 ID |
{
"code": 200,
"message": "ok",
"data": [
{
"id": "69b370faf85ce4ebaec93106",
"status": "succeed",
"message": "上传成功",
"resources": {
"retouch": {
"etag": "6ED27A011E7BA1271CDD1A4032409BF9",
"size": 4112425,
"isPrivate": false,
"mimeType": "image/jpeg",
"uri": "aliyun://icc-ai-model-public/turing-retouch/69b39a3e09239d3856a20718/6ed27a011e7ba1271cdd1a4032409bf9.jpg",
"url": "http://icc-ai-model-public.camera360.com/turing-retouch/69b39a3e09239d3856a20718/6ed27a011e7ba1271cdd1a4032409bf9.jpg",
"width": 1333,
"height": 2000
}
}
}
]
}
| 参数 |
类型 |
说明 |
| code |
int |
200 表示成功 |
| message |
string |
"ok" 表示成功 |
| data |
array |
图片列表,每个元素包含图片 ID、状态、消息和资源 |
| data.id |
string |
图片 ID |
| data.status |
string |
图片状态, "succeed" 表示成功 |
| data.message |
string |
图片状态消息 |
| data.resources |
object |
图片资源信息,包含 retouch 资源 |
| data.resources.retouch |
object |
图片资源信息,包含 retouch 资源 |
| data.resources.retouch.etag |
string |
图片资源的 ETag |
| data.resources.retouch.size |
int |
图片资源的大小 |
| data.resources.retouch.isPrivate |
boolean |
是否为私有资源 |
| data.resources.retouch.mimeType |
string |
图片资源的 MIME 类型 |
| data.resources.retouch.uri |
string |
图片资源的 URI |
| data.resources.retouch.url |
string |
图片资源的 URL |
| data.resources.retouch.width |
int |
图片资源的宽度 |
| data.resources.retouch.height |
int |
图片资源的高度 |
{
"message": "创建项目过程中发生错误: Turing API 错误 [500] http://127.0.0.1:8099/api/create_project: status code: 400, body={\"success\":false,\"message\":\"没有找到支持的图片文件\",\"data\":{\"workspaceId\":\"\",\"projectName\":\"\",\"imageCount\":0,\"folderPath\":\"\",\"importedFiles\":[],\"fileIds\":[]},\"code\":400,\"timestamp\":1775876920784}",
"code": 400
}
| 参数 |
类型 |
说明 |
| code |
int |
错误码:400 表示参数错误,500 表示服务器错误等 |
| message |
string |
错误信息 |