接口文档

全局配置

AiTestGo 云平台2.0提供的所有接口采用统一的HTTPS方式调用,具体参数如下:

  • 请求地址:https://ai.aitestgo.com/api
  • 请求方法:POST
  • 请求头部:
标签 必填
Content-Type application/json
Authorization 该字段传入应用的Secret
  • 请求体:JSON格式

所有接口的公共参数定义如下:

参数名 类型 必填 说明
appId String 在云平台2.0后台创建的应用ID
data Object/String 接口参数,详见各具体接口定义
  • 请求限制

请求body不能超过4MB,否则接口调用失败

  • 返回格式

接口调用成功时返回的HTTP状态码为200,数据格式为JSON

常见调用错误对应的HTTP状态码:

HTTP状态码 定义 说明
400 参数错误 没有传入所有必填的参数
401 验证错误 没有在请求头部的Authorization字段传入正确的Secret
404 找不到应用 没有在请求体data字段传入正确的appId
429 超额请求 每秒同时请求数超过了应用配置的最大TPS,或应用没有运行中的实例
500 服务端异常 服务端在处理请求时发生了异常

BodyMeasureAsync

体态分析(异步)

  • 从云端下载用户传入的音/视频地址,分析其中的体态信息,并以异步方式供用户查询
  • 为了实现上述功能,该算法实现了三个具体接口:

1. 添加音/视频

添加待分析的音/视频地址

  • 请求data字段定义:
参数名 类型 必填 说明 可能值
media String 媒体类型 video/audio/image
action String 操作类型 put
types String[] 分析类型 详见分析类型
addresses String[] 下载地址列表 标准视频和待评分视频(顺序不能更改)

分析类型

名称 说明 媒体要求
gravity center 重心 视频
body coordination 协调 视频
jump 弹跳 视频
imitation 模仿 视频
  • 返回参数:
参数名 类型 必填 说明
success bool 是否成功
data Object 成功时返回数据

- id

String 视频唯一标识
errMsg String 失败时返回信息
  • 请求示例
{
  "appId": "[应用appId]",
  "data": {
    "media": "video",
    "action": "put",
    "types": ["gravity center", "jump"],
    "addresses": ["[标准视频地址]", "[待评分视频地址]"]
  }
}
  • 返回成功示例
{
  "success": true,
  "data": {
    "id": "[结果查询ID]"
  }
}
  • 返回失败示例
{
  "success": false,
  "errMsg": "[错误原因]"
}

2. 查询结果

查询已添加的音/视频状态

  • 请求data字段定义:
参数名 类型 必填 说明 可能值
action String 操作类型 get
id String 视频唯一标识 上一步返回的data.id
  • 返回参数:
参数名 类型 必填 说明 可能值
success bool 是否成功
data Object 成功时返回数据

- state

String 当前状态 running: 处理中
waiting: 等待中
finished: 已完成
error: 分析失败

- score

Object 各项打分(状态为finished时有效)

score

double 分数 [0-1]

status

String 状态 success表示成功,其他为失败
errMsg String 失败时返回信息
  • 请求示例
{
  "appId": "[应用appId]",
  "data": {
    "action": "get",
    "id": "[查询ID]"
  }
}
  • 返回成功示例
{
  "success": true,
  "data": {
    "state": "finished",
    "score": {
      "gravity center": {
        "score": 0.67,
        "status": "success"
      },
      "jump": {
        "score": 0.78,
        "status": "success"
      }
    }
  }
}
  • 返回失败示例
{
  "success": false,
  "errMsg": "[错误原因]"
}

3. 删除结果

删除已添加的音/视频分析结果

如果该条目在等待或处理中,则自动停止等待或处理中的任务

  • 请求data字段定义:
参数名 类型 必填 说明 可能值
action String 操作类型 delete
id String 视频唯一标识 上一步返回的data.id
  • 返回参数:
参数名 类型 必填 说明
success bool 是否成功
errMsg String 失败时返回信息
  • 请求示例
{
  "appId": "[应用appId]",
  "data": {
    "action": "delete",
    "id": "[查询ID]"
  }
}
  • 返回成功示例
{
  "success": true
}
  • 返回失败示例
{
  "success": false,
  "errMsg": "[错误原因]"
}

BodyMeasure

体态分析

根据用户传入的图片,分析图片中的各项体态信息

  • 请求data字段定义:
参数名 类型 必填 说明 可能值
types String[] 需要分析的体态类型 详见图片分析类型
data String[] 图片Base64列表

图片分析类型

名称 说明 图片要求
x legs X 腿型 正面全身照
o legs O 腿型 正面全身照
unequal legs 长短腿 正面全身照
high and low shoulders 高低肩 正面全身照
pelvic obliquity 骨盆侧倾 正面全身照
spinal malposition 脊柱异位 正面全身照
collapsed waist 塌腰 侧面全身照
hunchback 驼背 侧面全身照
poking chin 头部前倾 侧面全身照
sit kneel swinging shoulders 肩部柔韧,坐跪推指甩肩 侧面全身照
roll back waist 腰部柔韧,后卷腰 侧面全身照
sit and reach 腿部柔韧,坐位体前屈 侧面全身照
lateral split 胯部柔韧,横叉(大垮) 正面全身照
image similarity 图片相似度 2张图片(标准图片,待评分图片)
  • 返回参数:
参数名 类型 必填 说明 可能值
success bool 是否成功
data Object 各项打分

- score

double 分数 [0-1]

- status

String 状态 success表示成功,其他为失败

- angle

double 角度 [0-360]
errMsg String 失败时返回信息
  • 请求示例
{
  "appId": "[应用appId]",
  "data": {
    "types": ["x legs", "hunchback"],
    "data": "[图片Base64]"
  }
}
  • 返回成功示例
{
  "success": true,
  "data": {
    "x legs": {
      "score": 0.91,
      "status": "success"
    },
    "hunchback": {
      "score": 0.84,
      "status": "success"
    }
  }
}
  • 返回失败示例
{
  "success": false,
  "errMsg": "[错误原因]"
}