Skip to content
Start here

List captions or subtitles

client.Stream.Captions.Get(ctx, identifier, query) (*SinglePage[Caption], error)
GET/accounts/{account_id}/stream/{identifier}/captions

Lists the available captions or subtitles for a specific video.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Stream WriteStream Read
ParametersExpand Collapse
identifier string

A Cloudflare-generated unique identifier for a media item.

maxLength32
query CaptionGetParams
AccountID param.Field[string]

Identifier.

maxLength32
ReturnsExpand Collapse
type Caption struct{…}
Generated booloptional

Whether the caption was generated via AI.

Label stringoptional

The language label displayed in the native language to users.

Language stringoptional

The language tag in BCP 47 format.

Status CaptionStatusoptional

The status of a generated caption.

One of the following:
const CaptionStatusReady CaptionStatus = "ready"
const CaptionStatusInprogress CaptionStatus = "inprogress"
const CaptionStatusError CaptionStatus = "error"

List captions or subtitles

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/stream"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  page, err := client.Stream.Captions.Get(
    context.TODO(),
    "ea95132c15732412d22c1476fa83f27a",
    stream.CaptionGetParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "generated": true,
      "label": "Türkçe",
      "language": "tr",
      "status": "ready"
    }
  ]
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "generated": true,
      "label": "Türkçe",
      "language": "tr",
      "status": "ready"
    }
  ]
}