注: 2024 年 3 月 13 日、YouTube は 
captions.insert API エンドポイントと captions.update API エンドポイントの sync パラメータのサポート終了を発表しました。字幕の自動同期は、引き続き YouTube クリエイター ツールで利用できます。詳細については、API のリビジョン履歴をご覧ください。caption リソースは、YouTube 字幕トラックを表します。字幕トラックは 1 つの YouTube 動画にのみ関連付けられます。
メソッド
この API は、captions リソースの次のメソッドをサポートしています。
- list
- 指定した動画に関連付けられている字幕トラックのリストを取得します。API レスポンスには実際のキャプションは含まれず、captions.downloadメソッドを使用してキャプション トラックを取得できます。今すぐお試しください。
- insert
- 字幕トラックをアップロードします。 今すぐ試す
- update
- 字幕トラックを更新します。字幕トラックを更新する際は、トラックの下書きステータスを変更したり、トラックの新しい字幕ファイルをアップロードしたり、その両方を行うことができます。 今すぐお試しください。
- ダウンロード
- 字幕トラックをダウンロードします。字幕トラックは、リクエストで tfmtパラメータの値が指定されていない限り元の形式に、tlangパラメータの値が指定されていない限り元の言語に返されます。今すぐお試しください。
- delete
- 指定した字幕トラックを削除します。今すぐ試す
リソース表現
次の JSON 構造は、captions リソースの形式を示しています。
{
  "kind": "youtube#caption",
  "etag": etag,
  "id": string,
  "snippet": {
    "videoId": string,
    "lastUpdated": datetime,
    "trackKind": string,
    "language": string,
    "name": string,
    "audioTrackType": string,
    "isCC": boolean,
    "isLarge": boolean,
    "isEasyReader": boolean,
    "isDraft": boolean,
    "isAutoSynced": boolean,
    "status": string,
    "failureReason": string
  }
}プロパティ
次の表は、このリソースで使用されているプロパティの定義を示したものです。
| プロパティ | |
|---|---|
| kind | stringAPI リソースのタイプを識別します。値は youtube#captionになります。 | 
| etag | etagこのリソースの Etag。 | 
| id | string字幕トラックを一意に識別するために YouTube が使用する ID。 | 
| snippet | objectsnippetオブジェクトには、字幕に関する基本情報が含まれます。 | 
| snippet.videoId | string字幕トラックに関連付けられた動画を一意に識別するために YouTube が使用する ID。 | 
| snippet.lastUpdated | datetime字幕トラックが最後に更新された日時。値は ISO 8601 形式で指定します。 | 
| snippet.trackKind | string字幕トラックのタイプ。 このプロパティの有効な値は次のとおりです。 
 | 
| snippet.language | string字幕トラックの言語。プロパティ値は BCP-47 言語タグです。 | 
| snippet.name | string字幕トラックの名前。この名前は、再生中にオプションとしてユーザーに表示することを目的としています。サポートされている名前の最大長は 150 文字です。 | 
| snippet.audioTrackType | string字幕トラックに関連付けられた音声トラックのタイプ。 このプロパティの有効な値は次のとおりです。 
 | 
| snippet.isCC | booleanトラックに聴覚障がい者や難聴者向けの字幕が含まれているかどうかを示します。デフォルト値は falseです。 | 
| snippet.isLarge | boolean字幕トラックで視覚障がい者向けの大きなテキストが使用されているかどうかを示します。デフォルト値は falseです。 | 
| snippet.isEasyReader | boolean字幕トラックが「読みやすい」形式になっているかどうかを示します。つまり、言語学習者向けの 3 年生レベルの形式になっているかどうかを示します。デフォルト値は falseです。 | 
| snippet.isDraft | boolean字幕トラックが下書きかどうかを示します。値が trueの場合、トラックは一般公開されません。デフォルト値はfalseです。 | 
| snippet.isAutoSynced | booleanYouTube が字幕トラックを動画の音声トラックと同期したかどうかを示します。字幕トラックのアップロード時に同期が明示的にリクエストされた場合、値は trueになります。たとえば、captions.insertメソッドまたはcaptions.updateメソッドを呼び出すときに、syncパラメータをtrueに設定すると、アップロードしたトラックを動画に同期するよう YouTube に指示できます。値がfalseの場合、YouTube はアップロードされた字幕トラックのタイムコードを使用して、字幕を表示するタイミングを決定します。 | 
| snippet.status | string字幕トラックのステータス。 このプロパティの有効な値は次のとおりです。 
 | 
| snippet.failureReason | stringYouTube が字幕トラックを処理できなかった理由。このプロパティは、 stateプロパティの値がfailedの場合にのみ存在します。このプロパティの有効な値は次のとおりです。 
 |