Skip to main content
GET
Get video captions
Get video captions Pricing — billed per successful call; the final charge scales by your plan multiplier. Charged only when the upstream response body code is 200.
Response structure is not yet fully documented — refer to the actual API response.

Example

Authorizations

Authorization
string
header
required

AIsa API key. Get yours at https://aisa.one

Query Parameters

video_id
string

Video ID

video_url
string

Video URL

language_code
string

Language code, returns available caption list if empty

format
enum<string>
default:srt

Caption format

  • srt: SubRip subtitle format (with timestamps)
  • xml: Raw XML format
  • json3: JSON format (YouTube raw structure)
  • txt: Plain text (no timestamps)
Available options:
srt,
xml,
json3,
txt

Response

200 - application/json

Successful response. The outer object follows ResponseModel; the endpoint-specific payload is in data.

Returns

Without language_code (caption language list):

With language_code (caption content):

  • format=srt: Standard SRT subtitle content (with sequence numbers, timestamps, text)
  • format=txt: Plain text (text only, no timestamps)
  • format=xml: YouTube raw XML captions
  • format=json3: YouTube JSON format captions

Large videos (async job):

  • When status="processing" is returned, poll /tikhub/youtube/web_v2/get_video_captions_result with the job_id to retrieve the final captions

Video has no captions:

API references: get_video_captions_result = GET /tikhub/youtube/web_v2/get_video_captions_result (operationId: get_tikhub_youtube_web_v2_get_video_captions_result).

code
integer
default:200

HTTP status code

request_id
string | null

Unique request identifier

message
string
default:Request successful. This request will incur a charge.

Response message (EN-US)

message_zh
string
default:请求成功,本次请求将被计费。

Response message (ZH-CN)

support
string
default:Discord: https://discord.gg/aMEAS8Xsvz

Support message

time
string

The time the response was generated

time_stamp
integer

The timestamp the response was generated

time_zone
string
default:America/Los_Angeles

The timezone of the response time

docs
string | null

Link to the API Swagger documentation for this endpoint

cache_message
string | null
default:This response is cached and accessible via the URL below for 24 hours at no extra cost. The cache is for request tracing only — it doesn't affect the API's data freshness and won't be returned through the API again.

Cache message (EN-US)

cache_message_zh
string | null
default:本次响应已缓存,可通过下方 URL 直接查看,有效期 24 小时,访问缓存链接无额外费用。缓存仅用于请求溯源,不影响接口数据的时效性,也不会再次通过接口返回。

Cache message (ZH-CN)

cache_url
string | null

The URL to access the cached result

router
string
default:""

The endpoint that generated this response

params
any
default:{}

The parameters used in the request

data
any | null

Endpoint-specific response payload. The official shared model does not declare a fixed type or field set. Use the operation's documented return fields or response example; an operation-specific schema, when present, describes the documented fields. Undocumented fields must be read from the actual response rather than assumed.