Polyv Help Center

Help Center

Paginated Query for Staged Video Outlines

Updated: 2026-09-22 17:01:21

API Description

1、分页查询指定频道下已创建的暂存视频大纲(AI看)任务,无需逐个提交暂存文件ID。
2、接口返回大纲和答题内容的 json 地址,内容需由调用方自行请求该地址获取。
3、接口仅查询已有结果,不会触发大纲生成。
4、接口支持 HTTPS 协议。

API URL

https://api.polyv.net/live/v4/channel/record-file/subtitle/outline/list

Request Method

GET

API Constraints

  1. API calls have frequency limits. HTTPS is recommended. See Call Limits for details.
  2. Generate the signature on the server side to call the API. Do not save or use appSecret in clients such as Web, App, or Mini Programs.
  3. Only returns staged files for which an outline task has been created. Staged files that have never initiated outline generation will not appear in the results.
  4. Only returns channel data that the current account has permission to access.

Request Parameter Description

Parameter Required Type Description
appId true String Account appId, see Get Secret Key
timestamp true Long Current 13-digit millisecond timestamp, valid for 3 minutes
sign true String 32-digit uppercase MD5 signature, see Signature Generation Rules
channelId true Integer Channel ID
fileId false String Staged file ID. If not provided, queries all outline tasks under the channel. Only supports a single ID, not batch.
pageNumber false Integer Page number, default 1
pageSize false Integer Items per page, default 10

Request Example

https://api.polyv.net/live/v4/channel/record-file/subtitle/outline/list?appId=yourAppId&timestamp=1700000000000&sign=YOUR_SIGN&channelId=1234567&pageNumber=1&pageSize=10

Response Parameter Description

Parameter Type Description
code Integer HTTP semantic status code, 200 indicates success
status String Response status, success is success, failure is error
success Boolean Whether the response was successful
requestId String Request ID. Provide this when troubleshooting. Do not save as a business field.
error Object Error information when the request fails, see error parameter description
data Object Paginated data, see data parameter description

error Parameter Description

Parameter Type Description
code Integer Error code
desc String Error description

data Parameter Description

Parameter Type Description
pageNumber Integer Current page number
pageSize Integer Items per page
totalPages Long Total pages
totalItems Long Total items
contents Array List of outline tasks on the current page, see contents parameter description

contents Parameter Description

Parameter Type Description
fileId String Staged file ID, consistent with fileId in the staging list and subtitle list
status String Outline generation status: init Initialized, srt_processing Subtitle generating, outline_processing Outline generating, audit Pending review, success Completed, fail Generation failed
outlineUrl String JSON URL for outline content. Request this URL to get the content. Empty when generation is not complete. Structure see Outline Content Structure
questionUrl String JSON URL for quiz content. Request this URL to get the content. Empty when not generated or quiz not enabled. Structure see Quiz Content Structure
failReason String Reason for generation failure. Returned when status is fail, otherwise empty.

A single page may contain records that are completed, generating, or failed. The generation status of one file does not affect the return of other files on the same page.

Outline Content Structure

The JSON structure obtained by requesting outlineUrl is as follows:

Parameter Type Description
introduction String Overall content introduction
outlineContent Array List of outline segments
outlineContent[].title String Segment title
outlineContent[].startTime String Segment start time, format HH:mm:ss,SSS
outlineContent[].endTime String Segment end time, format HH:mm:ss,SSS
outlineContent[].startIndex Integer Start index of the corresponding subtitle for the segment
outlineContent[].endIndex Integer End index of the corresponding subtitle for the segment
outlineContent[].summary Array Key points of the segment, array of strings
outlineContent[].keyword Array Keywords of the segment, array of strings
{
  "introduction": "本场直播的整体内容简介",
  "outlineContent": [
    {
      "title": "分段标题",
      "startTime": "00:00:00,020",
      "endTime": "00:03:17,080",
      "startIndex": 0,
      "endIndex": 94,
      "summary": [
        "该分段的内容要点一",
        "该分段的内容要点二"
      ],
      "keyword": [
        "关键词一",
        "关键词二"
      ]
    }
  ]
}

Quiz Content Structure

The JSON structure obtained by requesting questionUrl is as follows:

Parameter Type Description
questions Array List of questions
questions[].questionId String Question ID
questions[].summaryId Integer Outline segment index associated with the question
questions[].question String Question stem
questions[].selectOptions Array List of options
questions[].selectOptions[].option String Option identifier, e.g., A, B
questions[].selectOptions[].content String Option content
questions[].answer String Correct answer, corresponding to the option identifier
questions[].type String Question type: single Single choice, multiple Multiple choice
questions[].videoReviewTime Long Video review time point, unit: seconds
questions[].questionTriggerTime Long Question popup time point, unit: seconds
questions[].videoReviewTimeFormat String Video review time point, format HH:mm:ss,SSS
questions[].questionTriggerFormat String Question popup time point, format HH:mm:ss,SSS
{
  "questions": [
    {
      "questionId": "示例题目ID",
      "summaryId": 1,
      "question": "题干内容",
      "selectOptions": [
        {
          "option": "A",
          "content": "选项A的内容"
        },
        {
          "option": "B",
          "content": "选项B的内容"
        }
      ],
      "answer": "A",
      "type": "single",
      "videoReviewTime": 120,
      "questionTriggerTime": 180,
      "videoReviewTimeFormat": "00:02:00,000",
      "questionTriggerFormat": "00:03:00,000"
    }
  ]
}

Java Request Example

For quick integration of the basic code, please download the relevant dependency source code: Click to download source code. After downloading, add it to your own source project. HttpUtil.java and LiveSignUtil.java in the test case are included in the downloaded file.

It is strongly recommended to use the Live Java SDK for API integration. The Live Java SDK provides a unified package and optimization for API call logic, exception handling, data signing, and HTTP request thread pools.

private static final Logger log = LoggerFactory.getLogger(getClass());
/**
 * 分页查询暂存视频大纲
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void pageRecordFileOutlineTest() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String appId = super.appId;
    String appSecret = super.appSecret;
    String timestamp = String.valueOf(System.currentTimeMillis());

    //业务参数
    String url = "https://api.polyv.net/live/v4/channel/record-file/subtitle/outline/list";
    String channelId = "1234567";

    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("channelId", channelId);
    requestMap.put("pageNumber", "1");
    requestMap.put("pageSize", "10");
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));

    String response = HttpUtil.get(url, requestMap);
    log.info("测试分页查询暂存视频大纲成功:{}", response);
    //do somethings
}

Response Example

For global error descriptions, see Global Error Description

Success Example:

{
  "code": 200,
  "status": "success",
  "success": true,
  "requestId": "示例请求ID",
  "error": null,
  "data": {
    "pageNumber": 1,
    "pageSize": 10,
    "totalPages": 1,
    "totalItems": 3,
    "contents": [
      {
        "fileId": "示例暂存文件ID1",
        "status": "success",
        "outlineUrl": "https://liveimages.videocc.net/video-outline/xxxxxxxxxx/示例大纲文件.json",
        "questionUrl": "https://liveimages.videocc.net/video-question/xxxxxxxxxx/示例答题文件.json",
        "failReason": null
      },
      {
        "fileId": "示例暂存文件ID2",
        "status": "outline_processing",
        "outlineUrl": null,
        "questionUrl": null,
        "failReason": null
      },
      {
        "fileId": "示例暂存文件ID3",
        "status": "fail",
        "outlineUrl": null,
        "questionUrl": null,
        "failReason": "找不到暂存文件字幕"
      }
    ]
  }
}

Error Example:

{
  "code": 400,
  "status": "error",
  "requestId": "示例请求ID",
  "error": {
    "code": 20001,
    "desc": "application not found."
  },
  "success": false
}
联系客服,在线咨询
在线咨询