/v1/tiktok/video/transcript
Transcript
Get native captions or an opt-in AI transcript with timestamp segments from a TikTok video. Long AI transcripts may time out.
| Credit cost | Default: 1 credit when no rule matches.
Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Returned native captions cost 1 credit, even for long videos with the paid flag. By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits; no transcript: 0 credits How charges are determinedCost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns. A call that fails costs 0 credits. A result served from cache costs 0 credits. `default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins. A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true). A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute. |
|---|---|
| Cache support | Not specified in the published contract. |
| Pagination | No explicit pagination metadata in the published contract. Consult the parameters and response fields below. |
Parameters
| Name | Location / required | Schema |
|---|---|---|
urlTikTok video URL | query / required |
|
languageTwo-letter transcript language code, such as en, es, fr, de, it, ja, ko, or zh. | query / optional |
|
allow_long_transcriptionAllow AI transcription over 2 minutes. Paid rates apply to short videos too. Enable transcription separately. | query / optional |
|
use_ai_as_fallbackSet true to use AI only when native captions are unavailable; defaults to false. Default AI: <=120s, 1 credit. With allow_long_transcription=true, all successful AI costs 10 credits/started minute, including short videos. | query / optional |
|
Request examples
Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.
cURL
curl --request GET 'https://api.fetchproof.com/v1/tiktok/video/transcript?url=YOUR_URL' \
--header 'x-api-key: YOUR_API_KEY'JavaScript
const response = await fetch("https://api.fetchproof.com/v1/tiktok/video/transcript?url=YOUR_URL", {
method: 'GET',
headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());Python
import os
import requests
response = requests.get("https://api.fetchproof.com/v1/tiktok/video/transcript?url=YOUR_URL",
headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)Responses
200Success. Envelope: success / credits_remaining / credits_charged.
application/json
object
successrequired
boolean
credits_remainingrequired
integer
idrequired
string
urlrequired
string
transcript_with_timestamprequired
null
transcriptrequired
string