openapi: 3.2.0 info: title: TVU Networks — Search Search API/search/query 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/query paths: /api/search/v1/i/autosearch: post: summary: Run an auto-search query deprecated: false description: Executes an active search across media objects using the provided criteria and time range, returning matched results grouped by source object. tags: - Search API/search/query parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/models.AutoSearchReq' example: userId: ff8080816b793b5a016b8f11f2090057 criteria: sources: - '1031567882850549760' fields: - event keywords: - biden persons: null relationship: or conditions: null logos: null tsRange: startTime: 1778304121635 endTime: 1778304241635 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.ActiveSearchResp' example: code: 0 message: succ data: size: 0 total: 0 matchList: null headers: {} x-apifox-name: '' '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/query x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-468959086-run operationId: Run_an_auto_search_query_468959086 x-source-doc: https://docs.tvunetworks.cn/api-468959086.md /api/search/v1/i/searchsummarization: post: summary: Search stored summarizations by time range deprecated: false description: Returns stored AI summarization items for the specified source object and time range, sorted chronologically. tags: - Search API/search/query parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/models.SearchSummarizationRequest' example: sourceObjectId: '1400073057711820800' startTime: 1778298487122 endTime: 1778299320439 responses: '200': description: 'Successful response; check code field for logical results: 0=success, 1001=invalid request, 1002=invalid session, 1404=access denied' content: application/json: schema: $ref: '#/components/schemas/controllers.SearchSummarizationResp' example: data: [] headers: {} x-apifox-name: '' '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/query x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-468959087-run operationId: Search_stored_summarizations_by_time_range_468959087 x-source-doc: https://docs.tvunetworks.cn/api-468959087.md /api/search/v1/i/summarization: post: summary: Get AI summarization for a media segment deprecated: false description: 'Returns an AI-generated text summarization for the specified source object and time range. Example request: ```json { "sourceObject": "1326008830139699200", "path": "", "start": 1778306200900, "end": 1778307400115, "type": 3 } ``` Example response: ```json { "code": 0, "message": "succ", "source": "{\"peer_id\":\"FFFFFFF0001CFB05\",\"text\":\"Top standby now here in a minute or two...\"}", "summarization": "Weather conditions affecting police helicopter operations." } ```' tags: - Search API/search/query parameters: - name: SID in: header description: '' example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 schema: type: string default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7 requestBody: content: application/json: schema: $ref: '#/components/schemas/models.SummarizationRequest' example: sourceObject: '1326008830139699200' path: '' start: 1778306200900 end: 1778307400115 type: 3 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/controllers.GetSummarizationResp' example: code: 0 message: succ source: '{"peer_id":"FFFFFFF0001CFB05","uid":"05-FFFFFFF0001CFB05-DB1D4D46A5BCCB90","text":"Top standby now here in a minute or two. Well. I have it for the moment here...","lang":"en-us","sourceObjectId":"1326008830139699200"}' summarization: Weather conditions affecting police helicopter operations. headers: {} x-apifox-name: '' '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/query x-apifox-status: released x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-468959088-run operationId: Get_AI_summarization_for_a_media_segment_468959088 x-source-doc: https://docs.tvunetworks.cn/api-468959088.md components: schemas: models.MatchCaptionRet: type: object properties: highlight: type: string text: type: string timestamp: type: integer timestampEnd: type: integer x-apifox-orders: - highlight - text - timestamp - timestampEnd x-apifox-ignore-properties: [] x-apifox-folder: '' models.SourceCondition: type: object properties: eventList: type: array items: $ref: '#/components/schemas/models.EventCondition' source: type: string sourceName: type: string x-apifox-orders: - eventList - source - sourceName x-apifox-ignore-properties: [] x-apifox-folder: '' models.AutoSearchReq: type: object properties: criteria: $ref: '#/components/schemas/models.CriteriasCondition' tsRange: $ref: '#/components/schemas/models.SearchTsRange' userId: type: string examples: - ff8080816b793b5a016b8f11f2090057 x-apifox-orders: - criteria - tsRange - userId x-apifox-ignore-properties: [] x-apifox-folder: '' models.SearchSummarizationRequest: type: object properties: endTime: type: integer examples: - 1778299320439 sourceObjectId: type: string examples: - '1400073057711820800' startTime: type: integer examples: - 1778298487122 x-apifox-orders: - endTime - sourceObjectId - startTime x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.ActiveSearchResp: type: object properties: code: description: 'Response code: 0=success, 1001=invalid request, 1002=invalid session, 1404=access denied' type: integer data: description: Search result type: array items: $ref: '#/components/schemas/models.MatchResult' message: description: Human-readable result message type: string x-apifox-orders: - code - data - message x-apifox-ignore-properties: [] x-apifox-folder: '' models.EventCondition: type: object properties: endTime: type: integer event: type: string eventName: type: string startTime: type: integer x-apifox-orders: - endTime - event - eventName - startTime x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.GetSummarizationResp: type: object properties: code: description: 'Response code: 0=success, 1001=invalid request, 1002=invalid session, 1404=access denied' type: integer examples: - 0 message: description: Human-readable result message type: string examples: - succ source: description: Raw caption source data (JSON string) type: string examples: - '{"peer_id":"FFFFFFF0001CFB05","text":"..."}' summarization: description: AI-generated summarization text for the requested segment type: string examples: - Weather conditions affecting police helicopter operations. x-apifox-orders: - code - message - source - summarization x-apifox-ignore-properties: [] x-apifox-folder: '' models.HitSlug: type: object properties: objectAsset: type: string slugName: type: string timestampEnd: type: integer timestampStart: type: integer x-apifox-orders: - objectAsset - slugName - timestampEnd - timestampStart x-apifox-ignore-properties: [] x-apifox-folder: '' models.MediaFileRet: type: object properties: RPeerId: type: string TPeerId: type: string mType: description: rrs or mma type: string objectGrid: type: string objectMedia: type: string path: type: string recordEnd: type: integer recordStart: type: integer srcInfo: type: string storageInfo: type: string thumbnailPath: type: string uid: type: string x-apifox-orders: - RPeerId - TPeerId - mType - objectGrid - objectMedia - path - recordEnd - recordStart - srcInfo - storageInfo - thumbnailPath - uid x-apifox-ignore-properties: [] x-apifox-folder: '' models.MatchLogoRet: type: object properties: name: type: string timestampEnd: type: integer timestampStart: type: integer x-apifox-orders: - name - timestampEnd - timestampStart x-apifox-ignore-properties: [] x-apifox-folder: '' models.MatchSlugRet: type: object properties: assetId: type: string highlight: type: string objectAsset: type: string slug: type: string timestampEnd: type: integer timestampStart: type: integer x-apifox-orders: - assetId - highlight - objectAsset - slug - timestampEnd - timestampStart x-apifox-ignore-properties: [] x-apifox-folder: '' models.SummarizationItem: type: object properties: endTime: type: integer sourceObjectId: type: string startTime: type: integer summarization: type: string x-apifox-orders: - endTime - sourceObjectId - startTime - summarization x-apifox-ignore-properties: [] x-apifox-folder: '' models.MatchResult: type: object properties: matchList: type: array items: $ref: '#/components/schemas/models.MatchListRet' size: type: integer examples: - 0 total: type: integer examples: - 0 x-apifox-orders: - matchList - size - total x-apifox-ignore-properties: [] x-apifox-folder: '' controllers.SearchSummarizationResp: type: object properties: code: description: 'Response code: 0=success, 1001=invalid request, 1002=invalid session, 1404=access denied' type: integer data: description: return data type: array items: $ref: '#/components/schemas/models.SummarizationItem' message: description: Human-readable result message type: string x-apifox-orders: - code - data - message x-apifox-ignore-properties: [] x-apifox-folder: '' models.MatchListRet: type: object properties: MediaFile: $ref: '#/components/schemas/models.MediaFileRet' captions: type: array items: $ref: '#/components/schemas/models.MatchCaptionRet' faces: type: array items: $ref: '#/components/schemas/models.MatchFaceRet' hitSlug: $ref: '#/components/schemas/models.HitSlug' logos: type: array items: $ref: '#/components/schemas/models.MatchLogoRet' slugs: type: array items: $ref: '#/components/schemas/models.MatchSlugRet' x-apifox-orders: - MediaFile - captions - faces - hitSlug - logos - slugs x-apifox-ignore-properties: [] x-apifox-folder: '' models.SummarizationRequest: type: object properties: end: type: integer examples: - 1778307400115 mode: type: integer examples: - 0 path: type: string examples: - '' sourceObject: type: string examples: - '1326008830139699200' start: type: integer examples: - 1778306200900 type: type: integer examples: - 3 x-apifox-orders: - end - mode - path - sourceObject - start - type x-apifox-ignore-properties: [] x-apifox-folder: '' models.MatchFaceRet: type: object properties: faceId: type: string name: type: string path: type: string position: type: string timestampEnd: type: integer timestampStart: type: integer x-apifox-orders: - faceId - name - path - position - timestampEnd - timestampStart x-apifox-ignore-properties: [] x-apifox-folder: '' models.CriteriasCondition: type: object properties: conditions: description: The following fields are for backward compatibility. type: array items: $ref: '#/components/schemas/models.SourceCondition' fields: type: array items: type: string examples: - - event keywords: type: array items: type: string examples: - - biden logos: type: array items: type: string persons: type: array items: type: string relationship: description: '`or` `and`' type: string examples: - or sources: type: array items: type: string examples: - - '1031567882850549760' x-apifox-orders: - conditions - fields - keywords - logos - persons - relationship - sources x-apifox-ignore-properties: [] x-apifox-folder: '' models.SearchTsRange: type: object properties: endtime: type: integer examples: - 1778304241635 field: type: string starttime: type: integer examples: - 1778304121635 x-apifox-orders: - endtime - field - starttime 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