---
title: Captions
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/typescript)

[Stream](https://developers.cloudflare.com/api/typescript/resources/stream)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Captions

##### [List captions or subtitles](https://developers.cloudflare.com/api/typescript/resources/stream/subresources/captions/methods/get)

client.stream.captions.get(stringidentifier, CaptionGetParams { account\_id } params, RequestOptionsoptions?): SinglePage<[Caption](https://developers.cloudflare.com/api/typescript/resources/stream#%28resource%29%20stream.captions%20%3E%20%28model%29%20caption%20%3E%20%28schema%29) { generated, label, language, status } \>

GET/accounts/{account\_id}/stream/{identifier}/captions

##### ModelsExpand Collapse 

Caption { generated, label, language, status } 

generated?: boolean

Whether the caption was generated via AI.

label?: string

The language label displayed in the native language to users.

language?: string

The language tag in BCP 47 format.

status?: "ready" | "inprogress" | "error"

The status of a generated caption.

One of the following:

"ready"

"inprogress"

"error"

#### CaptionsLanguage

##### [List captions or subtitles for a provided language](https://developers.cloudflare.com/api/typescript/resources/stream/subresources/captions/subresources/language/methods/get)

client.stream.captions.language.get(stringlanguage, LanguageGetParams { account\_id, identifier } params, RequestOptionsoptions?): [Caption](https://developers.cloudflare.com/api/typescript/resources/stream#%28resource%29%20stream.captions%20%3E%20%28model%29%20caption%20%3E%20%28schema%29) { generated, label, language, status } 

GET/accounts/{account\_id}/stream/{identifier}/captions/{language}

##### [Generate captions or subtitles for a provided language via AI](https://developers.cloudflare.com/api/typescript/resources/stream/subresources/captions/subresources/language/methods/create)

client.stream.captions.language.create(stringlanguage, LanguageCreateParams { account\_id, identifier } params, RequestOptionsoptions?): [Caption](https://developers.cloudflare.com/api/typescript/resources/stream#%28resource%29%20stream.captions%20%3E%20%28model%29%20caption%20%3E%20%28schema%29) { generated, label, language, status } 

POST/accounts/{account\_id}/stream/{identifier}/captions/{language}/generate

##### [Upload captions or subtitles](https://developers.cloudflare.com/api/typescript/resources/stream/subresources/captions/subresources/language/methods/update)

client.stream.captions.language.update(stringlanguage, LanguageUpdateParams { account\_id, identifier, file } params, RequestOptionsoptions?): [Caption](https://developers.cloudflare.com/api/typescript/resources/stream#%28resource%29%20stream.captions%20%3E%20%28model%29%20caption%20%3E%20%28schema%29) { generated, label, language, status } 

PUT/accounts/{account\_id}/stream/{identifier}/captions/{language}

##### [Delete captions or subtitles](https://developers.cloudflare.com/api/typescript/resources/stream/subresources/captions/subresources/language/methods/delete)

client.stream.captions.language.delete(stringlanguage, LanguageDeleteParams { account\_id, identifier } params, RequestOptionsoptions?): [LanguageDeleteResponse](https://developers.cloudflare.com/api/typescript/resources/stream#%28resource%29%20stream.captions.language%20%3E%20%28model%29%20language%5Fdelete%5Fresponse%20%3E%20%28schema%29)

DELETE/accounts/{account\_id}/stream/{identifier}/captions/{language}

##### ModelsExpand Collapse 

LanguageDeleteResponse \= string

#### CaptionsLanguageVtt

##### [Return WebVTT captions for a provided language](https://developers.cloudflare.com/api/typescript/resources/stream/subresources/captions/subresources/language/subresources/vtt/methods/get)

client.stream.captions.language.vtt.get(stringlanguage, VttGetParams { account\_id, identifier } params, RequestOptionsoptions?): [VttGetResponse](https://developers.cloudflare.com/api/typescript/resources/stream#%28resource%29%20stream.captions.language.vtt%20%3E%20%28model%29%20vtt%5Fget%5Fresponse%20%3E%20%28schema%29)

GET/accounts/{account\_id}/stream/{identifier}/captions/{language}/vtt

##### ModelsExpand Collapse 

VttGetResponse \= string