TikTok Transcript API
One POST turns a TikTok video URL into a transcript in the same JSON shape every platform returns. TikTok videos often carry a caption track, which is read first; a video without one is transcribed from its audio on the same request. Short-form video is held inline, so a TikTok transcript almost always comes back in the first response rather than as a job.
A TikTok video without a caption track is transcribed from its audio and charged only on delivery: 1 credit per started 5 minutes of audio, minimum 1. Failed requests are free.
On this platform
- Accepts tiktok.com/@user/video/<id> URLs, vm.tiktok.com and vt.tiktok.com short links, or a bare 19-digit TikTok video id.
- TikTok and Instagram requests are held inline even when the media length cannot be read, so a 202 is rare.
- language comes back as TikTok labels it, such as eng-US, and source says whether captions or audio served the text.
/api/v2/transcripts/videoidempotentFetch a transcript (YouTube, TikTok, Instagram, or file URL)
Returns a transcript - text plus timestamped segments. Accepts YouTube, TikTok, and Instagram URLs (or a bare TikTok video id), direct media file URLs. ..) identifying who is talking. Speaker ids are hints from voice separation, not named identification. When no captions exist the audio is transcribed automatically: when we can determine the media length, media under 20 minutes simply waits (the request is held open for up to 45 seconds) and returns the finished transcript, so no polling is needed; when the length cannot be determined, only short-form platforms (TikTok and Instagram) are held inline. Longer media, or a transcription still running when the 45-second hold expires, returns 202 with a job to poll instead - the work continues either way, so the same request is safe to retry and will hit the cache once it finishes. Supply callback_url to have the finished transcript POSTed to you instead of polling. Every failure carries an ai_fallback block saying whether captions were definitively unavailable and whether retrying would work.
Body parameters
videostringrequiredmode"captions" | "audio" | "auto"optionaltimestampsbooleanoptionalcallback_urlstring (https URL)optionalai_fallbackbooleanoptionalRequest example
Responses
{
"ok": true,
"request_id": "req_…",
"data": {
"kind": "transcript",
"video_id": "7690953765293231373",
"url": "https://www.tiktok.com/@khanacademy/video/7690953765293231373",
"platform": "tiktok",
"title": "Lower Car Payment? Check the Loan First! The best deal isn’t always the one with the lowest monthly payment. Learn more in Khan Academy’s Monthly payment versus total cost lesson! Link in bio",
"channel": "khanacademy",
"duration": 35,
"language": "eng-US",
"thumbnail_url": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/ogAAeIAg75qA92HwwcidCiuCVDcBDgDS5EfCnn~tplv-tiktokx-origin.image",
"source": "captions",
"segments": [
{
"start": 0.5,
"duration": 3.98,
"text": "Wait, this payment for my new car is way lower?"
},
{
"start": 4.78,
"duration": 2,
"text": "Yeah, I'm going with this payment."
},
{
"start": 6.781,
"duration": 2.86,
"text": "Okay, but look at that loan closely."
}
]
},
"usage": {
"credits_spent": 1,
"balance": 656,
"bytes": 1893
}
}Every TikTok endpoint
Frequently asked questions
- Which TikTok URLs are accepted?
- Full video URLs (tiktok.com/@user/video/<id>), the vm.tiktok.com and vt.tiktok.com short links TikTok's share sheet produces, and the bare numeric video id. The URL formats page lists each with an example.
- Does TikTok have captions, or is every transcript transcribed from audio?
- Many TikTok videos carry a caption track, and the endpoint reads it first: the response says source captions and costs 1 credit. When there is none, the audio is transcribed on the same request and source says audio.
- Will a TikTok request answer 202 and make me poll?
- Rarely. TikTok is short-form, so the request is held open and the finished transcript is returned inline whether or not the media length could be read. Only a transcription that outlasts the hold answers 202 with a job to poll.
- Can I transcribe a private TikTok, or one behind an age gate?
- No. Only public videos are reachable. A private, removed or region-locked video fails with a clear error and costs nothing.