Unified schema
Transcript
The schema-2 transcript object, one shape on every platform, and which endpoints return it.
Endpoints that turn the speech in a video or audio post into text return one shape on every platform, at data.transcript. This page describes schema 2, which every key gets from October 4, 2026; before it, the transcript was a string on some platforms and a list on others. See Schema 2.
Example
/v1/youtube/video/transcript, shortened:
{
"success": true,
"platform": "youtube",
"endpoint": "/v1/youtube/video/transcript",
"schema_version": "2",
"data": {
"transcript": {
"language": "en",
"text": "[♪♪♪] ♪ We're no strangers to love ♪ ♪ You know the rules and so do I ♪ …",
"segments": [
{ "text": "[♪♪♪]", "start_seconds": 1.36, "duration_seconds": 1.68 },
{ "text": "♪ We're no strangers to love ♪", "start_seconds": 18.64, "duration_seconds": 3.24 }
]
}
},
"unavailable": [],
"credits_used": 30,
"credits_remaining": 9970,
"request_id": "req_5cace944c435",
"cached": false,
"idempotent_replay": false,
"charge_reason": "miss",
"free_call": false
}Fields
| Field | Type | Nullable | Description |
|---|---|---|---|
transcript.language | string | Yes | The transcript's language as the platform states it, such as en. null when it gives none. |
transcript.text | string | Yes | The whole transcript as one string. Where the platform sends timed cues, this is their text joined with spaces. null when there is no transcript text; the response then lists transcript.text in unavailable. |
transcript.segments | object[] | Yes | Timed cues, when the platform has them (YouTube). null when the platform sends the transcript as plain text only. |
transcript.segments[].text | string | No | The text of one cue. |
transcript.segments[].start_seconds | number | Yes | When the cue starts, in seconds from the start of the video. |
transcript.segments[].duration_seconds | number | Yes | How long the cue lasts, in seconds. |
Read transcript.text for the words. Read segments only when you need timing, and check it for null first.
Where it is used
Seven platforms return this shape, on eight endpoints.
| Platform | Endpoints |
|---|---|
/v1/facebook/adlibrary/ad/transcript, /v1/facebook/post/transcript | |
/v1/instagram/media/transcript | |
/v1/linkedin/post/transcript | |
/v1/reddit/post/transcript | |
| TikTok | /v1/tiktok/post/transcript |
| Twitter/X | /v1/twitter/tweet/transcript |
| YouTube | /v1/youtube/video/transcript |
Prices differ per endpoint; see Endpoint pricing. A worked example is in Video transcription.