Appearance
Timed transcript and word timings
GET
/v1/clips/{clipId}/transcriptReturns the caption cues of a clip in order, plus the per-word timings that back the word index. Cue indexes are stable: cue 7 of a clip stays cue 7 across responses, so a caller can cache the transcript and reference cues by index.
Transcripts come from the platform's automatic captions. They are accurate enough for highlighting and seeking, and they are not a human transcription: expect occasional wrong words, and no speaker labels beyond the >> markers the source provides.
Parameters
| Name | In | Type | Default | Required | Description |
|---|---|---|---|---|---|
clipId | path | string | yes | Vocaflare clip id (UUID) or the YouTube video id. | |
words | query | boolean | true | no | Include the words array. Set to false for the cues alone. |
Response
| Field | Type | Description |
|---|---|---|
clipId | string (uuid) | |
videoId | string | |
language | string | |
source | auto-captions | How the transcript was produced. |
cues | object[] | |
cues[].idx | integer | Position in the transcript. Stable across responses. |
cues[].t0 | number | Start time in seconds. |
cues[].t1 | number | End time in seconds. |
cues[].text | string | |
words | object[] | |
words[].wordId | integer | |
words[].word | string | |
words[].level | A1 | A2 | B1 | B2 | C1 | C2 | CEFR level assigned during screening. |
words[].tStart | number |
Errors
| Status | Code | When |
|---|---|---|
401 | invalid_key | The key is missing, unknown or disabled. |
404 | not_found | No such clip, or the word is not in the catalogue. |
429 | rate_limited | Too many requests, or the plan quota is spent. Retry-After carries the wait in seconds. |
Example
bash
curl https://clips.vocaflare.com/v1/clips/FinOIdu21XA/transcript \
-H "Authorization: Bearer $VOCAFLARE_API_KEY"json
{
"clipId": "0f2a6c1e-88d7-4f0a-9f0b-1b7a2c3d4e5f",
"videoId": "FinOIdu21XA",
"language": "en",
"source": "auto-captions",
"cues": [
{
"idx": 6,
"t0": 10.9,
"t1": 12.2,
"text": "and then a few days later"
},
{
"idx": 7,
"t0": 12.2,
"t1": 14.05,
"text": "you receive the confirmation email"
}
],
"words": [
{
"wordId": 4127,
"word": "receive",
"level": "B1",
"tStart": 12.34
}
]
}