精彩内容识别接口文档

从图集中筛选精彩图片,或识别视频中的精彩片段与高光帧。

接口说明

当前提供两个精彩内容识别能力:

  • 图集精彩图片:根据输入的图集图片列表,筛选出适合作为高光展示的图片,并返回图片 URL、评分和推荐理由。
  • 视频精彩片段:根据输入的视频地址,识别视频中的精彩片段,并返回高光帧及片段起止帧信息。

两个接口使用相同的 workflow 请求地址,通过不同的 Authorization Token 区分具体能力。

请求地址

请求头

bash
Authorization: Bearer app-${API_TOKEN}
Content-Type: application/json
参数名类型是否必填说明
Authorizationstring是接口路由分发,不同接口使用不同 Token
Content-Typestring是固定为 application/json

图集精彩图片 API

用于从图集图片中筛选出更适合作为精彩图、封面图、高光图的图片。

图集请求示例

bash
curl -X POST 'https://la-otter.inaiai.com/v1/workflows/run' \
  -H 'Authorization: Bearer ${IMAGE_HIGHLIGHT_API_TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{
    "inputs": {
      "query": {
        "desc": "",
        "images": [
          "https://example.com/image1.jpg",
          "https://example.com/image2.jpg"
        ]
      }
    },
    "response_mode": "blocking",
    "user": "abc-123"
  }'

图集入参说明

参数名类型是否必填说明
inputs.query.descstring否标题、描述或补充信息,建议传入
inputs.query.imagesarray是图片 URL 列表
response_modestring是固定传 blocking
userstring是调用方用户标识,用于日志跟踪

图集返回示例

json
{
  "result": {
    "highlight_images": [
      "https://example.com/image1.jpg",
      "https://example.com/image2.jpg"
    ],
    "details": [
      {
        "url": "https://example.com/image1.jpg",
        "score": 0.92,
        "reason": "画面主体清晰,构图完整,具备较强展示价值。"
      },
      {
        "url": "https://example.com/image2.jpg",
        "score": 0.9,
        "reason": "画面信息丰富,视觉表现较突出,适合作为高光图片。"
      }
    ]
  },
  "error": 0,
  "error_message": ""
}

图集返回字段说明

参数路径类型说明
result.highlight_imagesarray被选中的精彩图片 URL 列表
result.detailsarray每张精彩图片的详细说明
result.details[].urlstring图片 URL
result.details[].scorenumber推荐分数,通常 0-1,越高越推荐
result.details[].reasonstring推荐理由
errornumber错误码,0 表示成功
error_messagestring错误信息,成功时为空

视频精彩片段 API

用于从视频中识别精彩片段,返回高光帧及对应片段的起止帧范围。

视频请求示例

bash
curl -X POST 'https://la-otter.inaiai.com/v1/workflows/run' \
  -H 'Authorization: Bearer ${VIDEO_HIGHLIGHT_API_TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{
    "inputs": {
      "query": {
        "desc": "",
        "video": "https://example.com/video.m3u8"
      }
    },
    "response_mode": "blocking",
    "user": "abc-123"
  }'

视频入参说明

参数名类型是否必填说明
inputs.query.descstring否标题、描述或补充信息,建议传入
inputs.query.videostring是视频 URL,支持 m3u8 等可访问视频地址
response_modestring是固定传 blocking
userstring是调用方用户标识,用于日志跟踪

视频返回示例

json
{
  "result": {
    "highlight_frames": [
      {
        "frame_index": 14907,
        "start_frame": 14757,
        "end_frame": 15057
      },
      {
        "frame_index": 15007,
        "start_frame": 14857,
        "end_frame": 15157
      }
    ],
    "video_fps": 30
  },
  "error": 0,
  "error_message": ""
}

视频返回字段说明

参数路径类型说明
result.highlight_framesarray精彩片段列表
result.highlight_frames[].frame_indexnumber当前精彩片段的核心帧
result.highlight_frames[].start_framenumber精彩片段起始帧
result.highlight_frames[].end_framenumber精彩片段结束帧
video_fpsnumber视频帧率
errornumber错误码,0 表示成功
error_messagestring错误信息,成功时为空

如果业务侧需要换算成时间,需要结合视频 FPS:

start_time = start_frame / fps

end_time = end_frame / fps

highlight_time = frame_index / fps