openapi: 3.2.0 info: title: TVU Networks — Search Search API/search API description: Search API operations of the TVU Networks public HTTP API, assembled verbatim from the per-endpoint OpenAPI 3.0.1 exports TVU publishes on its own Apifox documentation site (https://docs.tvunetworks.cn/). Each operation body is the provider's own export; only grouping, servers[] and operationId backfill were added by API Evangelist. version: 1.0.0 contact: name: TVU Networks url: https://www.tvunetworks.com/tvu-developer/ servers: - url: https://api.tvunetworks.com description: Prod Env default server - url: https://search.tvunetworks.com description: Apifox server "TVUSearch" tags: - name: Search API/search paths: /api/import: get: summary: import test deprecated: false description: '' tags: - Search API/search parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: '' content: application/json: schema: type: object properties: {} x-apifox-orders: [] headers: {} x-apifox-name: OK security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-346167500-run operationId: import_test_346167500 x-source-doc: https://docs.tvunetworks.cn/api-346167500.md /api/search/v2/ai/search: post: summary: ai search deprecated: false description: Search data using natural language. tags: - Search API/search parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: type: object properties: pageNum: type: integer description: The page number of the results to retrieve. pageSize: type: integer description: The number of results to include per page. query: type: string required: - pageNum - pageSize - query x-apifox-orders: - pageNum - pageSize - query responses: '200': description: '' content: application/json: schema: type: object properties: errorCode: type: integer description: Error Code. result: type: object properties: list: type: array items: type: object properties: SourceId: type: string description: Source Id. SourceType: type: string description: Source Type. caption: type: string description: Matched caption data. captionWithHighlight: type: string description: Highlighted matched caption data. eventObjectID: type: string description: event object Id. eventTitle: type: string description: event title. eventTitleWithHighlight: type: string description: Highlighted matched Event Title. language: type: string description: caption language. living: type: boolean description: Is living or not. mediaInfo: type: array items: type: object properties: fullPath: type: string description: The file complete path in the AWS S3 bucket. mediaObjectId: type: string description: Media ObjectId. offset: type: integer description: 'Offset ' recordEnd: type: integer description: File recording end time. recordStart: type: integer description: File recording start time. sourceId: type: string description: Source id. sourceObjectId: type: string description: Source Object Id. thumbnailFullPath: type: string description: Complete thumbnail path in the AWS S3 bucket. rid: type: string description: The peerId of R who record the mediafile. x-apifox-orders: - fullPath - mediaObjectId - offset - recordEnd - recordStart - sourceId - sourceObjectId - thumbnailFullPath - rid objectTag: type: 'null' description: The object's Tag. previewMediaInfo: type: array items: type: object properties: fullPath: type: string description: The file complete path in the AWS S3 bucket. mediaObjectId: type: string description: Media ObjectId. offset: type: integer description: 'Offset ' recordEnd: type: integer description: File recording end time. recordStart: type: integer description: File recording start time. sourceId: type: string description: Source id. sourceObjectId: type: string description: Source Object Id. thumbnailFullPath: type: string description: Complete thumbnail path in the AWS S3 bucket. rid: type: string description: The peerId of R who record the mediafile. x-apifox-orders: - fullPath - mediaObjectId - offset - recordEnd - recordStart - sourceId - sourceObjectId - thumbnailFullPath - rid sourceName: type: string description: Source Name. sourceNameWithHighlight: type: string description: Highlighted matched Source Name. sourceObjectId: type: string description: Source ObjectId. sourceObjectName: type: string description: Source ObjectName. sourceObjectType: type: string description: Source ObjectType. status: type: integer timestamp: type: integer timestampEnd: type: integer description: timestamp end in millionseconds. timestampStart: type: integer description: timestamp start in millionseconds. personName: type: string description: The name of the person, only returned when the datasource parameter is set to "person". personId: type: string description: The ID of the person, only returned when the datasource parameter is set to "person". personImgInfo: type: object properties: path: type: string description: The URL path of the image. position: type: object properties: height: type: integer left: type: integer top: type: integer width: type: integer required: - height - left - top - width description: The position of the person's image within the image. x-apifox-orders: - height - left - top - width required: - path - position description: The image information of the person, only returned when the datasource parameter is set to "person". x-apifox-orders: - path - position required: - sourceObjectName - sourceObjectType - personName - personId - personImgInfo x-apifox-orders: - SourceId - SourceType - caption - captionWithHighlight - eventObjectID - eventTitle - eventTitleWithHighlight - language - living - mediaInfo - objectTag - previewMediaInfo - sourceName - sourceNameWithHighlight - sourceObjectId - sourceObjectName - sourceObjectType - status - timestamp - timestampEnd - timestampStart - personName - personId - personImgInfo size: type: integer description: The current number of returned data entries. total: type: integer description: Total number of data entries. required: - list - size - total x-apifox-orders: - list - size - total errorInfo: type: string description: Error Info. required: - errorCode - result - errorInfo x-apifox-orders: - errorCode - result - errorInfo headers: {} x-apifox-name: OK security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-425008842-run operationId: ai_search_425008842 x-source-doc: https://docs.tvunetworks.cn/api-425008842.md /api/search/v2/appearance/list: get: summary: Get appearance list deprecated: false description: Get appearance detection results by sourceObjectId. Supports cursor-based pagination via pageSize and afterContent. tags: - Search API/search parameters: - name: sourceObjectId in: query description: Source Object ID required: true schema: type: string - name: startTimestamp in: query description: Start of query range (Unix ms). Defaults to endTimestamp - 1 day required: false schema: type: integer - name: endTimestamp in: query description: End of query range (Unix ms). Defaults to current time required: false schema: type: integer - name: appearanceType in: query description: 'Filter by appearance class type: 0=logo/brand, 1=text/number, 2=person/face. Defaults to 0 (no filter applied)' required: false schema: type: integer - name: pageSize in: query description: Number of content groups per page; 0 or omitted returns all required: false schema: type: integer - name: afterContent in: query description: Pagination cursor from previous response's afterContent field; omit for first page required: false schema: type: string - name: Authorization in: header description: Retrieve Authentication Information Using the Authentication API with Session and Bearer Token Support required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/models.AppearanceListResponse' example: result: content_list: [] list: - state_time: - [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-284816688-run operationId: Get_appearance_list_284816688 x-source-doc: https://docs.tvunetworks.cn/api-284816688.md /api/search/v2/appearance/relations: get: summary: Get appearance relations deprecated: false description: Get relations between appearances. tags: - Search API/search parameters: - name: groupId in: query description: Group ID to query appearance relations for required: true schema: type: string - name: startTimestamp in: query description: Search start time in milliseconds; defaults to 7 days ago required: false schema: type: integer - name: endTimestamp in: query description: Search end time in milliseconds; defaults to current time required: false schema: type: integer - name: detectionTypes in: query description: 'Filter by detection type: 0=known person, 1=unknown person, 2=logo/brand, 3=text/number' required: false schema: type: array items: type: integer - name: pageNum in: query description: Page number, starting from 1 required: true schema: type: integer - name: pageSize in: query description: Number of results per page required: true schema: type: integer - name: appearanceId in: query description: Filter by specific appearance ID required: false schema: type: string - name: query in: query description: Text query to filter appearances by name required: false schema: type: string - name: language in: query description: Search language code (e.g., en, cn) required: false schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/models.AppearanceRelationsResponse' example: result: relations: - relations: - content: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-284249304-run operationId: Get_appearance_relations_284249304 x-source-doc: https://docs.tvunetworks.cn/api-284249304.md /api/search/v2/appearance/search: post: summary: Appearance search deprecated: false description: Search appearances by filter and time range. tags: - Search API/search parameters: - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/models.AppearanceSearchRequest' example: filters: appearance: - content: [] exactMatchStrings: [] groupIds: [] objectSources: [] userIds: [] responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/models.AppearanceSearchResponse' example: result: affiliated: - content: [] list: - mediaInfo: [] previewMediaInfo: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-284249305-run operationId: Appearance_search_284249305 x-source-doc: https://docs.tvunetworks.cn/api-284249305.md /api/search/v2/appearance/suggestion: get: summary: Get appearance name suggestions deprecated: false description: Get appearance entity name suggestions for autocomplete, filtered by query text and source objects. tags: - Search API/search parameters: - name: query in: query description: Search prefix for autocomplete required: false schema: type: string - name: sourceObjectIds in: query description: List of source object IDs to search within required: false schema: type: array items: type: string - name: groupId in: query description: Group ID for permission scoping required: false schema: type: string - name: appearanceType in: query description: 'Filter by appearance type: 0=logo/brand, 1=text/number, 2=person/face' required: false schema: type: integer - name: pageSize in: query description: Number of suggestions per page required: false schema: type: integer - name: pageNum in: query description: Page number, starting from 1 required: false schema: type: integer - name: language in: query description: Language code for search (e.g., en, cn) required: false schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/models.AppearanceSuggestionResponse' example: result: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-289161095-run operationId: Get_appearance_name_suggestions_289161095 x-source-doc: https://docs.tvunetworks.cn/api-289161095.md /api/search/v2/autocomplete: get: summary: Auto complete deprecated: false tags: - Search API/search parameters: - name: cityName in: query description: city name required: true schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.AutoCompleteResp' example: data: - terms: [] headers: {} x-apifox-name: OK '400': description: Bad Request content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-239970998-run operationId: Auto_complete_239970998 x-source-doc: https://docs.tvunetworks.cn/api-239970998.md /api/search/v2/caption: get: summary: Get caption by source object deprecated: false description: 'Generate and download caption file (SRT/VTT/TXT/DOCX) for a given source object and time range. The response body is raw caption text (not JSON). On error, returns a JSON object with errorCode and errorInfo fields. Example SRT response: ``` 1 00:00:00,031 --> 00:00:00,631 his behalf. 2 00:00:00,631 --> 00:00:03,731 So so far 25 members of Congress have ```' tags: - Search API/search parameters: - name: objectId in: query description: Source object ID required: true example: '1243229066681782272' schema: type: string - name: startTimestamp in: query description: Start time in milliseconds required: true example: 1717661814837 schema: type: integer - name: endTimestamp in: query description: End time in milliseconds required: true example: 1717661879837 schema: type: integer - name: format in: query description: 'Caption format: srt, vtt, txt, docx. Default: srt' required: false example: srt schema: type: string enum: - srt - vtt - txt - docx - name: languageType in: query description: Language type, default en-US required: false example: en-us schema: type: string - name: noTimeCode in: query description: 'If true, return plain text without timecodes. Default: false' required: false example: 'false' schema: type: boolean - name: timeZone in: query description: IANA time zone name, default UTC required: false example: Etc/GMT schema: type: string - name: time_of_day_frequency in: query description: 'Time-of-day frequency aggregation window in minutes. Default: 10' required: false example: 10 schema: type: integer - name: fileName in: query description: Output file name (without extension) required: false example: abc schema: type: string - name: isFinal in: query description: 0=return all subtitles (default), 1=return only finalized segments required: false example: 0 schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: Raw caption content in the requested format (SRT/VTT/TXT/DOCX) content: text/plain: schema: type: string headers: {} x-apifox-name: OK '400': description: Invalid request parameters content: text/plain: schema: $ref: '#/components/schemas/controllers.CaptionResp' headers: {} x-apifox-name: '' '403': description: Access denied content: text/plain: schema: $ref: '#/components/schemas/controllers.CaptionResp' headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527400-run operationId: Get_caption_by_source_object_236527400 x-source-doc: https://docs.tvunetworks.cn/api-236527400.md /api/search/v2/caption/search: post: summary: Search captions by keyword deprecated: false description: Search caption records within a source object and time range by fuzzy prefix match or exact keywords. Returns paginated results. tags: - Search API/search parameters: - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/controllers.CaptionSearchReq' example: keywords: [] responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.CaptionSearchResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-373310990-run operationId: Search_captions_by_keyword_373310990 x-source-doc: https://docs.tvunetworks.cn/api-373310990.md /api/search/v2/content/click: get: summary: Get content click v2 deprecated: false description: Get detected content click data by source object ID. Supports cursor-based pagination via pageSize and afterContent. tags: - Search API/search parameters: - name: sourceObjectId in: query description: Source object ID required: true schema: type: string - name: startTimestamp in: query description: Start timestamp in milliseconds required: false schema: type: integer - name: endTimestamp in: query description: End timestamp in milliseconds required: false schema: type: integer - name: contentType in: query description: Content type required: false schema: type: string - name: classType in: query description: Class type required: false schema: type: integer - name: pageSize in: query description: Number of content groups per page; 0 or omitted returns all required: false schema: type: integer - name: afterContent in: query description: Pagination cursor from previous response's afterContent field; omit for first page required: false schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.ContentV2Resp' example: result: content_list: [] list: - state_time: - [] headers: {} x-apifox-name: Success '400': description: Bad Request content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-239970996-run operationId: Get_content_click_v2_239970996 x-source-doc: https://docs.tvunetworks.cn/api-239970996.md /api/search/v2/event: get: summary: Search events by source object and time deprecated: false description: Search asset/event records for given source objects within a time range. tags: - Search API/search parameters: - name: sourceObjectIdList in: query description: List of source object IDs required: true schema: type: array items: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: isHasMedia in: query description: Filter by media presence (0=all, 1=has media) required: false schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.EventResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527405-run operationId: Search_events_by_source_object_and_time_236527405 x-source-doc: https://docs.tvunetworks.cn/api-236527405.md /api/search/v2/event/latest: get: summary: Get latest event for source objects deprecated: false description: 'Get the most recent event/slug for given source objects. Option 1: event containing current time. Option 2: last event on the source.' tags: - Search API/search parameters: - name: sourceObjectIdList in: query description: List of source object IDs required: true schema: type: array items: type: string - name: option in: query description: 1=event containing current time (default), 2=last event on source required: false schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.LatestEventResp' example: result: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-345609808-run operationId: Get_latest_event_for_source_objects_345609808 x-source-doc: https://docs.tvunetworks.cn/api-345609808.md /api/search/v2/event/recordings: get: summary: Get recordings for an event object deprecated: false description: Get all recording media files associated with a given event object ID. tags: - Search API/search parameters: - name: eventObjectId in: query description: Event object ID required: true schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.EventRecordingsResp' headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-345609807-run operationId: Get_recordings_for_an_event_object_345609807 x-source-doc: https://docs.tvunetworks.cn/api-345609807.md /api/search/v2/mediafile: get: summary: Get media files deprecated: false description: Search media files by source object IDs and time range. tags: - Search API/search parameters: - name: objectIdList in: query description: List of source object IDs required: false schema: type: array items: type: string - name: userIds in: query description: Filter by user IDs required: false schema: type: array items: type: string - name: groupIds in: query description: Filter by group IDs required: false schema: type: array items: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.MediaFileResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527404-run operationId: Get_media_files_236527404 x-source-doc: https://docs.tvunetworks.cn/api-236527404.md /api/search/v2/mediafilebyids: get: summary: Get media files by IDs deprecated: false description: Search media files by a list of source object IDs. tags: - Search API/search parameters: - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/controllers.MediaFileByIdsReq' example: objectIdList: [] responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.MediaFileByIdsResp' example: result: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] x--orders: [] properties: {} x--ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-351735323-run operationId: Get_media_files_by_IDs_351735323 x-source-doc: https://docs.tvunetworks.cn/api-351735323.md /api/search/v2/namesuggestion: get: summary: Get name suggestions deprecated: false description: Get person name suggestions for autocomplete within source objects and time range. tags: - Search API/search parameters: - name: sourceObjectIds in: query description: Source object IDs required: false schema: type: array items: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: personName in: query description: Search keyword (person name) required: false schema: type: string - name: personIds in: query description: Filter by person IDs required: false schema: type: array items: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.NameSuggestionResp' example: result: can_be_merged: - face_num: 1 group_id: 00fe20a2d2d84093b304f0d54d4bedda last_update_ts: 1717055943701 name: '' path: FFFFFFF00015C633_1717048728819.jpg peer_id: FFFFFFF00015C633 person_id: 1710142217249mbzk5zx0 timestamp: 1717055943701 total_track_duration: 1000 tracklist: - [] tslist: [] list: - face_num: 1 group_id: 00fe20a2d2d84093b304f0d54d4bedda last_update_ts: 1717055943701 name: '' path: FFFFFFF00015C633_1717048728819.jpg peer_id: FFFFFFF00015C633 person_id: 1710142217249mbzk5zx0 timestamp: 1717055943701 total_track_duration: 1000 tracklist: - [] tslist: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-239970997-run operationId: Get_name_suggestions_239970997 x-source-doc: https://docs.tvunetworks.cn/api-239970997.md /api/search/v2/object: get: summary: Search user source objects deprecated: false description: Search source objects belonging to a user, optionally filtered by object IDs and type. tags: - Search API/search parameters: - name: objectId in: query description: Source object ID list required: false schema: type: array items: type: string - name: objectType in: query description: Object type, default 1 required: false schema: type: integer - name: sort in: query description: 'Sort order: 1=creation time asc, 2=update time asc. Default: 1' required: false schema: type: integer - name: pageSize in: query description: Page size, default 20 required: false schema: type: integer - name: pageNum in: query description: Page number, default 1 required: false schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.ObjectResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527398-run operationId: Search_user_source_objects_236527398 x-source-doc: https://docs.tvunetworks.cn/api-236527398.md /api/search/v2/person: get: summary: Search persons by source object deprecated: false description: Search detected persons within the given source objects and time range. tags: - Search API/search parameters: - name: objectIds in: query description: Source object ID list required: true schema: type: array items: type: string - name: startTimestamp in: query description: Start time in milliseconds required: true schema: type: integer - name: endTimestamp in: query description: End time in milliseconds required: true schema: type: integer - name: sort in: query description: 'Sort by timestamp: 1=ascending (default)' required: false schema: type: integer - name: personIdList in: query description: Filter by person IDs required: false schema: type: array items: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.PersonResp' example: result: list: - personIdList: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527399-run operationId: Search_persons_by_source_object_236527399 x-source-doc: https://docs.tvunetworks.cn/api-236527399.md /api/search/v2/person/info: get: summary: Search person face appearances deprecated: false description: Search face appearance records for a specific person within source objects and time range. Supports pagination via searchAfterId. tags: - Search API/search parameters: - name: objectIds in: query description: Source object ID list required: true schema: type: array items: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: personId in: query description: Person ID to filter by required: false schema: type: string - name: pageNum in: query description: Page number required: false schema: type: integer - name: pageSize in: query description: Page size required: false schema: type: integer - name: searchAfterId in: query description: Cursor for deep pagination; use value from previous response required: false schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.PersonInfoResp' example: data: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527402-run operationId: Search_person_face_appearances_236527402 x-source-doc: https://docs.tvunetworks.cn/api-236527402.md /api/search/v2/person/track: get: summary: Search person track by source object deprecated: false description: Search person tracking data (appearance timeline) within given source objects and time range. tags: - Search API/search parameters: - name: objectIds in: query description: Source object ID list required: true schema: type: array items: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 1 day required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: personName in: query description: Filter by person name required: false schema: type: string - name: personIdList in: query description: Filter by person IDs required: false schema: type: array items: type: string - name: noTrackList in: query description: Exclude tracklist from response, default false required: false schema: type: boolean - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.PersonTrackResp' example: result: list: - personId: [] trackList: - [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527401-run operationId: Search_person_track_by_source_object_236527401 x-source-doc: https://docs.tvunetworks.cn/api-236527401.md /api/search/v2/recorderstatus: get: summary: Get TVU 264 status deprecated: false tags: - Search API/search parameters: - name: errorCode in: query description: Error code filter required: false schema: type: string - name: errorMessage in: query description: Error message filter required: false schema: type: string - name: objectId in: query description: Object ID required: false schema: type: string - name: tangibleId in: query description: Tangible ID required: false schema: type: string - name: taskId in: query description: Task ID required: false schema: type: string - name: path in: query description: Path required: false schema: type: string - name: useHighRes in: query description: Use high resolution required: false schema: type: boolean - name: startTimeStamp in: query description: Start timestamp in milliseconds required: false schema: type: integer - name: endTimeStamp in: query description: End timestamp in milliseconds required: false schema: type: integer - name: Authorization in: header description: Bearer token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.Tvu264StatusResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Bad Request content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-256196990-run operationId: Get_TVU_264_status_256196990 x-source-doc: https://docs.tvunetworks.cn/api-256196990.md /api/search/v2/scenechagneinfo: get: summary: Get scene change info v2 deprecated: false description: Search scene change info by source object ID tags: - Search API/search parameters: - name: startTime in: query description: Search start time in milliseconds required: false schema: type: integer - name: endTime in: query description: Search end time in milliseconds required: false schema: type: integer - name: sourceObjectId in: query description: Source object ID required: true schema: type: string - name: Authorization in: header description: Bearer token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.SceneChangeInfoResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Bad Request content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-239970999-run operationId: Get_scene_change_info_v2_239970999 x-source-doc: https://docs.tvunetworks.cn/api-239970999.md /api/search/v2/search: post: summary: Cross-type media content search (v2) deprecated: false description: Full-featured media content search across captions (STT transcripts), media assets, person detections, and source recordings. Authenticate via JWT Bearer token in the Authorization request header. When AI search is enabled, natural-language queries are automatically decomposed into person name filters and keyword matches. Time range defaults to the last 7 days when omitted. Results are scoped to the caller's access permissions. Use the 'dataSource' array to restrict which content types are searched ('caption', 'event', 'person', 'source'). Sort options include relevance score (0), creation time descending (1), creation time ascending (2), and custom field ordering. tags: - Search API/search parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/models.PubSearchBaseReq' example: dataSource: - event - caption pageNum: 3 pageSize: 10 sort: 10 timestampRange: startTimestamp: 1699545600000 endTimestamp: 1762531199000 filters: fuzzyMatchString: books objectEvents: [] objectSources: - '1398305490756308992' persons: [] tags: [] userIds: - 578825562ca44818a40123ed90bc8ee2 groupIds: - 16d219d093fe4d268a721bbce00d7de8 searchLang: '' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.PublicSearchResp' example: errorCode: 0 errorInfo: succ result: size: 6 list: [] total: 6 headers: {} x-apifox-name: OK security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527406-run operationId: Cross_type_media_content_search_v2_236527406 x-source-doc: https://docs.tvunetworks.cn/api-236527406.md /api/search/v2/settings: get: summary: Get settings deprecated: false description: Get configuration settings for a given source object. tags: - Search API/search parameters: - name: sourceObjectId in: query description: Source object ID required: true schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.SettingsResp' headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-416429886-run operationId: Get_settings_416429886 x-source-doc: https://docs.tvunetworks.cn/api-416429886.md /api/search/v2/suggestion: get: summary: Get search suggestions deprecated: false description: Get keyword/caption suggestions for autocomplete within a source object and time range. tags: - Search API/search parameters: - name: query in: query description: Search keyword required: true schema: type: string - name: objectId in: query description: Source object ID required: false schema: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: language in: query description: 'Search language: cn, dn, en, es, fr, std. Default: auto-detect' required: false schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.SuggestionResp' example: result: - hint_list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527403-run operationId: Get_search_suggestions_236527403 x-source-doc: https://docs.tvunetworks.cn/api-236527403.md /api/search/v2/supportlang: get: summary: Get supported languages deprecated: false description: Get supported caption languages for a given source object and time range. tags: - Search API/search parameters: - name: sourceObject in: query description: Source object ID required: true schema: type: string - name: startTime in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTime in: query description: End time in milliseconds, default now required: false schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.SupportLangResp' example: data: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527407-run operationId: Get_supported_languages_236527407 x-source-doc: https://docs.tvunetworks.cn/api-236527407.md /api/search/v2/usermediafile: get: summary: Get recorded files deprecated: false description: Search recorded files by user account and time range. tags: - Search API/search parameters: - name: userAccount in: query description: User ID or user email required: false schema: type: string - name: startTimestamp in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTimestamp in: query description: End time in milliseconds, default now required: false schema: type: integer - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2006=user not found, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.RecordedFileResp' example: result: list: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527409-run operationId: Get_recorded_files_236527409 x-source-doc: https://docs.tvunetworks.cn/api-236527409.md /api/search/v2/words: get: summary: Search words deprecated: false description: Search caption words/keywords for a given source object and time range. tags: - Search API/search parameters: - name: sourceObject in: query description: Source object ID required: true schema: type: string - name: startTime in: query description: Start time in milliseconds, default last 7 days required: false schema: type: integer - name: endTime in: query description: End time in milliseconds, default now required: false schema: type: integer - name: languageType in: query description: Language type, default en-US required: false schema: type: string - name: Authorization in: header description: Bearer token or session token required: true example: '' schema: type: string - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 responses: '200': description: 'Successful response; check errorCode for logical results: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.WordsResp' example: result: data: - words: [] headers: {} x-apifox-name: OK '400': description: Malformed HTTP request or parse error content: application/json: schema: type: object additionalProperties: true x-apifox-orders: [] properties: {} x-apifox-ignore-properties: [] headers: {} x-apifox-name: '' security: [] x-apifox-folder: Search API/search x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-236527408-run operationId: Search_words_236527408 x-source-doc: https://docs.tvunetworks.cn/api-236527408.md components: schemas: models.AppearanceSearchRequest: type: object properties: filters: description: Search filter criteria allOf: - $ref: '#/components/schemas/models.AppearanceSearchFilter' pageNum: description: The page number of the returned results, defaulting to 1 type: integer pageSize: description: The number of results returned per page, defaulting to 20 type: integer searchLang: description: Search language, defaults to en type: string sort: description: Result sort order; currently only 1 (by relevance) is supported type: integer timestampRange: description: The search time range, defaults to one week allOf: - $ref: '#/components/schemas/models.TimestampRange' x-apifox-orders: - filters - pageNum - pageSize - searchLang - sort - timestampRange x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.EventRecordingsResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Recording files associated with the event; present only on success allOf: - $ref: '#/components/schemas/models.EventObjectRecordingsResult' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.SearchObjectByUserId: type: object properties: objectId: type: string objectName: type: string x-apifox-orders: - objectId - objectName x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PersonResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned person list; present only on success allOf: - $ref: '#/components/schemas/controllers.PersonItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.LocationInfo: type: object properties: description: type: string mainText: type: string searchedText: type: string secondaryText: type: string terms: type: array items: $ref: '#/components/schemas/models.TermsItem' x-apifox-orders: - description - mainText - searchedText - secondaryText - terms x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceFilter: type: object properties: classType: description: 'Appearance class type to filter: 0=logo/brand, 1=text/number, 2=person/face' type: integer content: description: Specific appearance entities to filter by within the class type type: array items: $ref: '#/components/schemas/models.AppearanceContent' x-apifox-orders: - classType - content x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SuggestionResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: List of autocomplete suggestions; present only on success type: array items: $ref: '#/components/schemas/models.HintRetureData' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SupportLangResp: type: object required: - data - errorCode - errorInfo properties: data: description: Supported language list; present only on success allOf: - $ref: '#/components/schemas/controllers.SupportLangItem' errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string x-apifox-orders: - data - errorCode - errorInfo x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PersonItem: type: object properties: list: description: List of detected persons type: array items: $ref: '#/components/schemas/models.PersonInfo' size: description: Number of persons in the current response type: integer total: description: Total number of matching persons type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceRelationItem: type: object properties: classType: description: 'Appearance class type: 0=logo/brand, 1=text/number, 2=person/face' type: integer content: description: List of appearance content items in this class type: array items: $ref: '#/components/schemas/models.AppearanceContent' x-apifox-orders: - classType - content x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.CaptionSearchResult: type: object properties: list: description: List of matched caption records type: array items: $ref: '#/components/schemas/models.EsCapfullReturnDataV3' size: description: Number of records in the current page type: integer total: description: Total number of matching records across all pages type: integer x-apifox-orders: - list - size - total x--orders: - list - size - total x--ignore-properties: [] x-apifox-folder: '' controllers.MediaFileByIdsResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: List of media files matching the given object IDs; present only on success type: array items: $ref: '#/components/schemas/models.SearchMediaFileBySourceObjectId' x-apifox-orders: - errorCode - errorInfo - result x--orders: - errorCode - errorInfo - result x--ignore-properties: [] x-apifox-folder: '' controllers.PublicSearchItem: type: object properties: list: description: return data type: array items: type: string size: description: return data size type: integer examples: - 6 total: description: return data length type: integer examples: - 6 x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.EventItem: type: object properties: list: description: List of matched event records type: array items: $ref: '#/components/schemas/models.SearchAssetResult' size: description: Number of events in the current response type: integer total: description: Total number of matching events type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceRelationsResult: type: object properties: relations: type: array items: $ref: '#/components/schemas/models.AppearanceRelations' size: type: integer total: type: integer x-apifox-orders: - relations - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PersonTrackResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned person track list; present only on success allOf: - $ref: '#/components/schemas/controllers.PersonTrackItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SettingsResp: type: object required: - errorCode - errorMsg properties: errorCode: description: 'Business result code: 0=success, 2004=invalid request, 2008=access denied' type: integer errorMsg: description: Human-readable result message type: string result: type: string x-apifox-orders: - errorCode - errorMsg - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.RecordedFileResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2006=user not found by email, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned recorded file list; present only on success allOf: - $ref: '#/components/schemas/controllers.MediafileItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.MediaInfo: type: object properties: fullPath: type: string mediaObjectId: type: string offset: type: integer path: type: string recordEnd: type: integer recordStart: type: integer rid: type: string sourceId: type: string sourceObjectId: type: string thumbnailFullPath: type: string x-apifox-orders: - fullPath - mediaObjectId - offset - path - recordEnd - recordStart - rid - sourceId - sourceObjectId - thumbnailFullPath x-apifox-ignore-properties: [] x-apifox-folder: '' models.Tvu264StatusData: type: object properties: createTimestamp: type: integer errorCode: type: string errorMessage: type: string path: type: string sourceObjectId: type: string tangibleId: type: string taskId: type: string x-apifox-orders: - createTimestamp - errorCode - errorMessage - path - sourceObjectId - tangibleId - taskId x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceEvent: type: object properties: SourceId: type: string SourceType: description: Source type identifier; currently always 100 (reserved) type: integer eventID: type: string eventObjectID: type: string eventTitle: type: string eventTitleWithHighlight: type: string host: $ref: '#/components/schemas/models.HostAppearance' language: type: string living: type: boolean mediaInfo: type: array items: $ref: '#/components/schemas/models.MediaInfo' objectTag: type: string previewMediaInfo: type: array items: $ref: '#/components/schemas/models.PreViewMediaInfo' sourceName: type: string sourceObjectId: type: string sourceObjectName: type: string sourceObjectType: type: string status: description: 'Live status of the event''s source: 0=no status, 1=live/broadcasting, 2=ingesting/recording' type: integer timestamp: type: integer timestampEnd: type: integer timestampStart: type: integer x-apifox-orders: - SourceId - SourceType - eventID - eventObjectID - eventTitle - eventTitleWithHighlight - host - language - living - mediaInfo - objectTag - previewMediaInfo - sourceName - sourceObjectId - sourceObjectName - sourceObjectType - status - timestamp - timestampEnd - timestampStart x-apifox-ignore-properties: [] x-apifox-folder: '' models.PersonInfo: type: object required: - groupId - name - personIdList - position - thumbnailAllPath - thumbnailPath - timestamp properties: groupId: description: group id type: string name: description: person name type: string personIdList: description: person all id type: array items: type: string position: type: string thumbnailAllPath: description: person thumbnail all path type: string thumbnailPath: description: person thumbnail pic type: string timestamp: description: time stamp type: integer x-apifox-orders: - groupId - name - personIdList - position - thumbnailAllPath - thumbnailPath - timestamp x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.MediafileItem: type: object properties: list: description: List of matched media files type: array items: $ref: '#/components/schemas/models.SearchMediaFileBySourceObjectId' size: description: Number of media files in the current response type: integer total: description: Total number of matching media files type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.SearchMediaFileBySourceObjectId: type: object properties: highResMediaPath: $ref: '#/components/schemas/models.MediaItem' mediaFileType: description: '0: MMA 1:RRS' type: integer mediaObjectId: type: string previewMediaPath: $ref: '#/components/schemas/models.MediaItem' sourceObjectId: type: string thumbnailPath: type: string x-apifox-orders: - highResMediaPath - mediaFileType - mediaObjectId - previewMediaPath - sourceObjectId - thumbnailPath x--orders: - highResMediaPath - mediaFileType - mediaObjectId - previewMediaPath - sourceObjectId - thumbnailPath x--ignore-properties: [] x-apifox-folder: '' models.PubSearchTsRange: type: object properties: endTimestamp: description: End time in milliseconds type: integer examples: - 1762531199000 startTimestamp: description: Start time in milliseconds type: integer examples: - 1699545600000 x-apifox-orders: - endTimestamp - startTimestamp x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PersonTrackItem: type: object properties: list: description: List of person tracking records with appearance timelines type: array items: $ref: '#/components/schemas/models.PersonTrackInfo' size: description: Number of records in the current response type: integer total: description: Total number of matching person track records type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.PubSearchBaseReq: type: object properties: dataSource: description: 'The type of data to search: caption, event, person, or source' type: array items: type: string examples: - - event filters: description: The search filter criteria allOf: - $ref: '#/components/schemas/models.PubSearchFilters' groupIds: description: Group IDs for permission control type: array items: type: string examples: - - 16d219d093fe4d268a721bbce00d7de8 pageNum: description: The page number of the results to retrieve type: integer examples: - 3 pageSize: description: The number of results to include per page type: integer examples: - 10 searchLang: description: The language used for searching type: string examples: - '' sort: description: 'Sorting: 0=relevance, 1=create time desc, 2=create time asc, 3=duration desc, 4=duration asc, 5=source status, 6=source name, 7=custom, 8=last edit desc, 9=last edit asc' type: integer examples: - 10 sortOptions: description: Additional sort options (live/online/no-input source ordering) allOf: - $ref: '#/components/schemas/models.SortOptions' timestampRange: description: The time range in which to search for results allOf: - $ref: '#/components/schemas/models.PubSearchTsRange' userIds: description: User IDs or user email list for permission control type: array items: type: string examples: - - 578825562ca44818a40123ed90bc8ee2 x-apifox-orders: - dataSource - filters - groupIds - pageNum - pageSize - searchLang - sort - sortOptions - timestampRange - userIds x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PublicSearchResp: type: object properties: errorCode: description: error code type: integer examples: - 0 errorInfo: description: error message type: string examples: - succ result: description: return data allOf: - $ref: '#/components/schemas/controllers.PublicSearchItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PersonInfoItem: type: object properties: list: description: List of face appearance records type: array items: type: string personName: description: Display name of the queried person type: string searchAfterId: description: Cursor to pass in the next request for the following page; empty means last page type: string size: description: Number of records in the current response type: integer total: description: Total number of face appearance records type: integer x-apifox-orders: - list - personName - searchAfterId - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.Tvu264StatusItem: type: object properties: list: type: array items: $ref: '#/components/schemas/models.Tvu264StatusData' size: type: integer total: type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceRelations: type: object properties: classType: description: 'Appearance class type: 0=logo/brand, 1=text/number, 2=person/face' type: integer content: description: Content identifier of the appearance type: string groupId: description: Group ID this appearance belongs to type: string name: description: Display name of the appearance entity type: string personId: description: Person ID (applicable when classType=2) type: string position: type: string relations: description: Related appearances grouped by class type type: array items: $ref: '#/components/schemas/models.AppearanceRelationItem' thumbnailPath: description: Path to the thumbnail image type: string x-apifox-orders: - classType - content - groupId - name - personId - position - relations - thumbnailPath x-apifox-ignore-properties: [] x-apifox-folder: '' models.HostAppearance: type: object properties: appearance: $ref: '#/components/schemas/models.AppearanceData' offset: type: integer x-apifox-orders: - appearance - offset x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.CaptionResp: type: object properties: errorCode: description: 'Business result code: 0=success, 2004=invalid request, 2008=access denied, 2009-2012=file write error' type: integer errorInfo: description: Human-readable result message type: string x-apifox-orders: - errorCode - errorInfo x-apifox-ignore-properties: [] x-apifox-folder: '' models.HintData: type: object properties: hint_data: type: string hint_text: type: string original_string: type: string x-apifox-orders: - hint_data - hint_text - original_string x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.CaptionSearchReq: type: object properties: endTimestamp: description: Search end time in milliseconds; required type: integer fuzzyMatchString: description: Prefix-based fuzzy search string for subtitle content type: string keywords: description: Exact keyword list; all keywords must appear in the subtitle (AND logic) type: array items: type: string objectId: description: Source object ID obtained from the source object API; required type: string pageNum: description: Page number, starting from 1; defaults to 1 type: integer pageSize: description: Number of results per page; defaults to 20 type: integer startTimestamp: description: Search start time in milliseconds; required type: integer x-apifox-orders: - endTimestamp - fuzzyMatchString - keywords - objectId - pageNum - pageSize - startTimestamp x--orders: - endTimestamp - fuzzyMatchString - keywords - objectId - pageNum - pageSize - startTimestamp x--ignore-properties: [] x-apifox-folder: '' models.AppearanceSearchResult: type: object properties: affiliated: type: array items: $ref: '#/components/schemas/models.AppearanceAffiliated' list: type: array items: $ref: '#/components/schemas/models.AppearanceEvent' size: type: integer total: type: integer x-apifox-orders: - affiliated - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.PersonInfoResp: type: object required: - data - errorCode - errorInfo properties: data: description: Person face appearance data; present only on success allOf: - $ref: '#/components/schemas/controllers.PersonInfoItem' errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string x-apifox-orders: - data - errorCode - errorInfo x-apifox-ignore-properties: [] x-apifox-folder: '' models.HintRetureData: type: object properties: hint_list: type: array items: $ref: '#/components/schemas/models.HintData' hint_type: description: 'Currently, there are four types: person_name/story_title/word_expand/caption. We are going to add a new type “address”' type: string x-apifox-orders: - hint_list - hint_type x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.ContentV2Resp: type: object properties: errorCode: description: error code type: integer errorInfo: description: error message type: string result: $ref: '#/components/schemas/controllers.ContentV2Item' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SceneChangeInfoResp: type: object required: - result properties: errorCode: description: error code type: integer errorInfo: description: error message type: string result: description: data allOf: - $ref: '#/components/schemas/controllers.SceneChangeInfoItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SupportLangItem: type: object required: - list - size - total properties: list: description: List of supported language codes (e.g., "en-US", "zh-CN") type: array items: type: string size: description: Number of languages in the current response type: integer total: description: Total number of supported languages type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceAffiliatedContent: type: object properties: id: type: string name: type: string position: type: string thumbnailPath: type: string x-apifox-orders: - id - name - position - thumbnailPath x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.LatestEventResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: List of latest event records; present only on success type: array items: $ref: '#/components/schemas/models.SearchAssetResult' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.TermsItem: type: object properties: offset: type: integer value: type: string x-apifox-orders: - offset - value x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.EventResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned event list; present only on success allOf: - $ref: '#/components/schemas/controllers.EventItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceRelationsResponse: type: object properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Appearance relations result; present only on success allOf: - $ref: '#/components/schemas/models.AppearanceRelationsResult' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.MediaItem: type: object properties: duration: type: integer endTimestamp: type: integer fileSize: type: integer path: type: string startTimestamp: type: integer x-apifox-orders: - duration - endTimestamp - fileSize - path - startTimestamp x--orders: - duration - endTimestamp - fileSize - path - startTimestamp x--ignore-properties: [] x-apifox-folder: '' models.SortOptions: type: object properties: customSourceSort: type: string liveSources: type: array items: type: string noInputources: type: array items: type: string onlineSources: type: array items: type: string x-apifox-orders: - customSourceSort - liveSources - noInputources - onlineSources x-apifox-ignore-properties: [] x-apifox-folder: '' models.PreViewMediaInfo: type: object properties: fullPath: type: string mediaObjectId: type: string mediafrom: type: string offset: type: integer path: type: string recordEnd: type: integer recordStart: type: integer rid: type: string sourceId: type: string sourceObjectId: type: string thumbnailFullPath: type: string x-apifox-orders: - fullPath - mediaObjectId - mediafrom - offset - path - recordEnd - recordStart - rid - sourceId - sourceObjectId - thumbnailFullPath x-apifox-ignore-properties: [] x-apifox-folder: '' models.TimestampRange: type: object properties: endTimestamp: description: End time of search in milliseconds type: integer startTimestamp: description: Start time of search in milliseconds, defaults to last 7 days type: integer x-apifox-orders: - endTimestamp - startTimestamp x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.MediaFileResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned media file list; present only on success allOf: - $ref: '#/components/schemas/controllers.MediafileItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceSearchResponse: type: object properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Search result payload; present only on success allOf: - $ref: '#/components/schemas/models.AppearanceSearchResult' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceSearchFilter: type: object properties: appearance: description: Appearance filters; multiple filters can be combined type: array items: $ref: '#/components/schemas/models.AppearanceFilter' exactMatchStrings: description: Exact search keywords; multiple keywords can be provided type: array items: type: string fuzzyMatchStrings: description: Fuzzy matching search string type: string groupIds: description: 'Permission control: a list of user group IDs' type: array items: type: string objectSources: description: A list of source object IDs for searching content under these sources type: array items: type: string userIds: description: 'Permission control: a list of user IDs; defaults to current user if empty' type: array items: type: string x-apifox-orders: - appearance - exactMatchStrings - fuzzyMatchStrings - groupIds - objectSources - userIds x-apifox-ignore-properties: [] x-apifox-folder: '' models.PubSearchFilters: type: object properties: areaName: description: The location of the object, for example, New York type: array items: type: string exactMatchStrings: description: The string to search for exact matches type: array items: type: string fuzzyMatchString: description: fuzzyMatchString carries the natural language query. The response provides moment-level results, including sourceObject, mediaObject, and eventObject, along with specific start and end timestamps type: string examples: - books objectEvents: description: list of event object IDs type: array items: type: string objectSources: description: objectSources is required, otherwise, no data will be found. source object IDs to search within type: array items: type: string examples: - - '1398305490756308992' persons: description: person id list; results containing these persons will have higher weight type: array items: type: string status: description: 1:INGESTING 2:LIVING 3:ALL type: integer tags: description: tag id list type: array items: type: string x-apifox-orders: - areaName - exactMatchStrings - fuzzyMatchString - objectEvents - objectSources - persons - status - tags x-apifox-ignore-properties: [] x-apifox-folder: '' models.EventObjectRecordingsResult: type: object properties: duration: type: integer endTimestamp: type: integer id: description: slug id type: string mType: type: string name: type: string objectId: type: string path: type: string recordEndTime: type: integer recordStartTime: type: integer rid: type: string sourceObjectId: type: string startTimestamp: type: integer storageInfoBase64: type: string tagInfos: type: string thumbnail: type: string x-apifox-orders: - duration - endTimestamp - id - mType - name - objectId - path - recordEndTime - recordStartTime - rid - sourceObjectId - startTimestamp - storageInfoBase64 - tagInfos - thumbnail x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceListResponse: type: object properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Appearance list result; present only on success allOf: - $ref: '#/components/schemas/models.AppearanceListItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.ObjectItem: type: object properties: list: description: List of matched source objects type: array items: $ref: '#/components/schemas/models.SearchObjectByUserId' size: description: Number of objects in the current response type: integer total: description: Total number of matching source objects type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.SearchAssetResult: type: object properties: duration: type: integer endTimestamp: type: integer groupId: type: string id: description: slug id type: string isHasMedia: type: integer name: type: string objectId: type: string path: type: string sourceObjectId: type: string startTimestamp: type: integer tagsInfos: type: string thumbnail: type: string x-apifox-orders: - duration - endTimestamp - groupId - id - isHasMedia - name - objectId - path - sourceObjectId - startTimestamp - tagsInfos - thumbnail x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.WebPersonReturnData: type: object properties: can_be_merged: type: array items: $ref: '#/components/schemas/models.PersonReturnData' list: type: array items: $ref: '#/components/schemas/models.PersonReturnData' size: type: integer total: type: integer x-apifox-orders: - can_be_merged - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SceneChangeInfoItem: type: object properties: list: type: array items: $ref: '#/components/schemas/models.SceneChangeInfoData' size: type: integer total: type: integer x-apifox-orders: - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.EsWordsData: type: object properties: end_time: type: integer speaker_tag: type: integer start_time: type: integer word: type: string x-apifox-orders: - end_time - speaker_tag - start_time - word x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceSuggestionResponse: type: object properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: List of appearance entity suggestions; present only on success type: array items: $ref: '#/components/schemas/models.AppearanceData' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.EsCapfullReturnDataV3: type: object properties: _id: type: string capEndTimestamp: type: integer capStartTimestamp: type: integer captionText: type: string highlight: type: string lang: type: string path: type: string score: type: number sourceObjectId: type: string x-apifox-orders: - _id - capEndTimestamp - capStartTimestamp - captionText - highlight - lang - path - score - sourceObjectId x--orders: - _id - capEndTimestamp - capStartTimestamp - captionText - highlight - lang - path - score - sourceObjectId x--ignore-properties: [] x-apifox-folder: '' controllers.NameSuggestionResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: List of person name suggestions; present only on success allOf: - $ref: '#/components/schemas/controllers.WebPersonReturnData' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.PersonReturnData: type: object properties: asset_num: type: integer face_num: type: integer examples: - 1 group_id: type: string examples: - 00fe20a2d2d84093b304f0d54d4bedda highlight: type: string last_update_ts: type: integer examples: - 1717055943701 name: type: string examples: - '' object_media: type: integer path: type: string examples: - FFFFFFF00015C633_1717048728819.jpg peer_id: type: string examples: - FFFFFFF00015C633 person_id: type: string examples: - 1710142217249mbzk5zx0 position: type: string recfile_path: type: string sourceObjectId: type: string tag: type: string timestamp: type: integer examples: - 1717055943701 total_track_duration: type: integer examples: - 1000 tracklist: description: the first value is the emerged time of the person, the second value is the disappearred time. type: array items: type: array items: type: integer format: int64 tslist: type: array items: type: integer uid: type: string x-apifox-orders: - asset_num - face_num - group_id - highlight - last_update_ts - name - object_media - path - peer_id - person_id - position - recfile_path - sourceObjectId - tag - timestamp - total_track_duration - tracklist - tslist - uid x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.MediaFileByIdsReq: type: object properties: objectIdList: description: List of source object IDs obtained from the source object API. type: array items: type: string x-apifox-orders: - objectIdList x--orders: - objectIdList x--ignore-properties: [] x-apifox-folder: '' controllers.ContentV2Item: type: object properties: afterContent: description: Cursor for the next page; empty means this is the last page type: string content_list: type: array items: type: string list: type: array items: $ref: '#/components/schemas/models.SubStanceV2' size: type: integer total: type: integer x-apifox-orders: - afterContent - content_list - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.Tvu264StatusResp: type: object required: - result properties: errorCode: description: error code type: integer errorInfo: description: error message type: string result: description: data allOf: - $ref: '#/components/schemas/controllers.Tvu264StatusItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.EsCapfullReturnData: type: object properties: _id: type: string end_ts: type: integer lang: type: string peer_id: type: string speaker_tag: type: integer start_ts: type: integer text: type: string timestamp: type: integer tmpid: type: string words: type: array items: $ref: '#/components/schemas/models.EsWordsData' x-apifox-orders: - _id - end_ts - lang - peer_id - speaker_tag - start_ts - text - timestamp - tmpid - words x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceListItem: type: object properties: afterContent: description: Cursor for next page; empty means last page type: string content_list: type: array items: type: string list: type: array items: $ref: '#/components/schemas/models.SubStanceV2' size: type: integer total: type: integer x-apifox-orders: - afterContent - content_list - list - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.PersonTrackInfo: type: object required: - LastUpdateTs - groupId - name - personId - position - thumbnailAllPath - thumbnailPath - timestamp - totalTrackDuration - trackList properties: LastUpdateTs: type: integer groupId: description: group id type: string name: description: person name type: string personId: description: person id type: array items: type: string position: type: string thumbnailAllPath: description: thumbnail all path type: string thumbnailPath: description: thumbnail path type: string timestamp: type: integer totalTrackDuration: description: total trackduration type: integer trackList: type: array items: type: array items: type: integer format: int64 x-apifox-orders: - LastUpdateTs - groupId - name - personId - position - thumbnailAllPath - thumbnailPath - timestamp - totalTrackDuration - trackList x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.ObjectResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned object list; present only on success allOf: - $ref: '#/components/schemas/controllers.ObjectItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceAffiliated: type: object properties: classType: description: 'Appearance class type: 0=logo/brand, 1=text/number, 2=person/face' type: integer content: description: List of appearance entities in this class found in the result type: array items: $ref: '#/components/schemas/models.AppearanceAffiliatedContent' x-apifox-orders: - classType - content x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.WordsItem: type: object required: - data - size - total properties: data: description: List of caption word records type: array items: $ref: '#/components/schemas/models.EsCapfullReturnData' size: description: Number of records in the current response type: integer total: description: Total number of matching records type: integer x-apifox-orders: - data - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' models.SceneChangeInfoData: type: object properties: createTimestamp: type: integer objectId: type: string pts: type: integer tangibleId: type: string timecode: type: integer x-apifox-orders: - createTimestamp - objectId - pts - tangibleId - timecode x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.CaptionSearchResp: type: object properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Search result payload allOf: - $ref: '#/components/schemas/controllers.CaptionSearchResult' x-apifox-orders: - errorCode - errorInfo - result x--orders: - errorCode - errorInfo - result x--ignore-properties: [] x-apifox-folder: '' models.AppearanceData: type: object properties: classType: description: 'Appearance class type: 0=logo/brand, 1=text/number, 2=person/face' type: integer content: description: Content identifier (e.g., person ID for faces, text for logos) type: string highlight: description: Highlighted snippet for search result display type: string name: description: Display name of the appearance entity type: string path: description: Path to the appearance image or resource type: string personId: description: Person ID (applicable when classType=2) type: string position: type: string x-apifox-orders: - classType - content - highlight - name - path - personId - position x-apifox-ignore-properties: [] x-apifox-folder: '' models.SubStanceV2: type: object properties: class: type: integer content: type: string height: type: number left: type: number source_object_id: type: string state_time: type: array items: type: array items: type: integer format: int64 top: type: number total_track_duration: type: integer width: type: number x-apifox-orders: - class - content - height - left - source_object_id - state_time - top - total_track_duration - width x-apifox-ignore-properties: [] x-apifox-folder: '' models.AppearanceContent: type: object properties: id: type: string name: type: string path: type: string position: type: string x-apifox-orders: - id - name - path - position x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.AutoCompleteResp: type: object properties: code: type: string data: type: array items: $ref: '#/components/schemas/models.LocationInfo' msg: type: string x-apifox-orders: - code - data - msg x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.WordsResp: type: object required: - errorCode - errorInfo - result properties: errorCode: description: 'Business result code: 0=success, 2002=no results, 2004=invalid request, 2008=access denied' type: integer errorInfo: description: Human-readable result message type: string result: description: Returned word/caption records; present only on success allOf: - $ref: '#/components/schemas/controllers.WordsItem' x-apifox-orders: - errorCode - errorInfo - result x-apifox-ignore-properties: [] x-apifox-folder: '' securitySchemes: bearer: type: bearer scheme: bearer apikey-header-Authorization: type: apikey in: header name: Authorization apikey-header-SID: type: apikey in: header name: SID tvu: type: bearer scheme: bearer