Skip to content

pinguo/ai-open-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 

Repository files navigation

1. Open API签名算法

1.1. SDK

go get github.com/pinguo/open-api-sdk-go/v2

1.2. 算法说明

2. 接口文档

概述

接口地址https://ai-open-api.pinguo.cn

认证方式

所有接口均需要签名认证,使用 Open API 签名机制。

公共请求头

Header 类型 必填 说明
PG-AccessKey string 应用访问密钥
PG-Timestamp string 请求时间戳(Unix 秒)
PG-Sign string 请求签名
Content-Type string application/json

2.1. 创建任务

接口信息

  • 路径: 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"
}'

2.2. 查询任务详情

接口信息

  • 路径: 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...'

3. 模型列表

3.1. 快速超分

modelID 类型 描述
modelID string 2倍超分:pg-fast-restorer-2x-enhanced、4倍超分:pg-fast-restorer-4x-enhanced

QueryString

请求body:

{
    "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

模型成功响应body:

{
    "code": 200,
    "message": "ok",
    "data": "http://example.com/image.jpg"
}

成功响应参数

参数 类型 说明
code int 状态码:200 表示模型处理成功
message string "ok"
data string 请求参数中的output_url

模型错误消息body:

{
  "code": 500,
  "message": "Error message"
}

错误响应参数

参数 类型 说明
code int 错误码:500 表示服务器错误等,400 表示参数错误等
message string 错误信息

3.2. 图灵云端修图

  • 支持套用预设如追色等功能
modelID 类型 描述
modelID string turing-cloud-retouch

QueryString

请求body:

{
  "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

模型成功响应body:

{
    "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 图片资源的高度

模型错误消息body:

{
  "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 错误信息

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors