Captions

注: 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 string
API リソースのタイプを識別します。値は youtube#caption になります。
etag etag
このリソースの Etag。
id string
字幕トラックを一意に識別するために YouTube が使用する ID。
snippet object
snippet オブジェクトには、字幕に関する基本情報が含まれます。
snippet.videoId string
字幕トラックに関連付けられた動画を一意に識別するために YouTube が使用する ID。
snippet.lastUpdated datetime
字幕トラックが最後に更新された日時。値は ISO 8601 形式で指定します。
snippet.trackKind string
字幕トラックのタイプ。

このプロパティの有効な値は次のとおりです。
  • ASR - 自動音声認識を使用して生成された字幕トラック。
  • forced - プレーヤーで他のトラックが選択されていない場合に再生される字幕トラック。たとえば、エイリアンがエイリアンの言語で話している動画には、エイリアンの言語の字幕のみを表示する強制字幕トラックが設定されている場合があります。
  • standard - 通常の字幕トラック。これがデフォルト値です。
snippet.language string
字幕トラックの言語。プロパティ値は BCP-47 言語タグです。
snippet.name string
字幕トラックの名前。この名前は、再生中にオプションとしてユーザーに表示することを目的としています。サポートされている名前の最大長は 150 文字です。
snippet.audioTrackType string
字幕トラックに関連付けられた音声トラックのタイプ。

このプロパティの有効な値は次のとおりです。
  • commentary - 字幕トラックは、ディレクトリ コメンタリーなどのコメンタリーを含む代替音声トラックに対応します。
  • descriptive - 字幕トラックは、追加の説明音声を含む代替音声トラックに対応しています。
  • primary - 字幕トラックは、動画のメイン音声トラックに対応しています。これは通常、動画に関連付けられている音声トラックです。
  • unknown - デフォルト値です。
snippet.isCC boolean
トラックに聴覚障がい者や難聴者向けの字幕が含まれているかどうかを示します。デフォルト値は false です。
snippet.isLarge boolean
字幕トラックで視覚障がい者向けの大きなテキストが使用されているかどうかを示します。デフォルト値は false です。
snippet.isEasyReader boolean
字幕トラックが「読みやすい」形式になっているかどうかを示します。つまり、言語学習者向けの 3 年生レベルの形式になっているかどうかを示します。デフォルト値は false です。
snippet.isDraft boolean
字幕トラックが下書きかどうかを示します。値が true の場合、トラックは一般公開されません。デフォルト値は false です。
snippet.isAutoSynced boolean
YouTube が字幕トラックを動画の音声トラックと同期したかどうかを示します。字幕トラックのアップロード時に同期が明示的にリクエストされた場合、値は true になります。たとえば、captions.insert メソッドまたは captions.update メソッドを呼び出すときに、sync パラメータを true に設定すると、アップロードしたトラックを動画に同期するよう YouTube に指示できます。値が false の場合、YouTube はアップロードされた字幕トラックのタイムコードを使用して、字幕を表示するタイミングを決定します。
snippet.status string
字幕トラックのステータス。

このプロパティの有効な値は次のとおりです。
  • failed
  • serving
  • syncing
snippet.failureReason string
YouTube が字幕トラックを処理できなかった理由。このプロパティは、state プロパティの値が failed の場合にのみ存在します。

このプロパティの有効な値は次のとおりです。
  • processingFailed - アップロードされた字幕トラックの処理に失敗しました。
  • unknownFormat - 字幕トラックの形式が認識されませんでした。
  • unsupportedFormat - 字幕トラックの形式がサポートされていません。