Captions

注意:YouTube 於 2024 年 3 月 13 日宣布,將淘汰 captions.insertcaptions.update API 端點的 sync 參數。你仍可在 YouTube 創作者工作室中使用字幕自動同步功能。詳情請參閱 API 修訂版本歷史記錄

caption 資源代表 YouTube 字幕音軌。字幕軌只能與一個 YouTube 影片建立關聯。

方法

這個 API 支援 captions 資源的下列方法:

list
擷取與指定影片相關聯的字幕軌清單。請注意,API 回應不含實際的字幕,而 captions.download 方法則可用來擷取字幕音軌。立即試用
插入
上傳字幕軌。立即試用
update
更新字幕軌。更新字幕軌時,你可以變更軌道的草稿狀態,為軌道上傳新的字幕檔案,或同時執行這兩項操作。立即試用
download
下載字幕軌。除非要求指定 tfmt 參數的值,否則字幕軌會以原始格式傳回;除非要求指定 tlang 參數的值,否則字幕會以原始語言傳回。立即試用
刪除
刪除指定的字幕軌。立即試用

資源表示法

以下 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
指出字幕音軌是否採用「易讀」格式,也就是語言學習者程度的第三級。預設值為 false
snippet.isDraft boolean
指明字幕音軌是否為草稿。如果值為 true,則該曲目不會公開顯示。預設值為 false
snippet.isAutoSynced boolean
指出 YouTube 是否已將字幕音軌與影片中的音訊音軌同步。如果在字幕軌上傳時明確要求同步,則值會是 true。舉例來說,呼叫 captions.insertcaptions.update 方法時,您可以將 sync 參數設為 true,指示 YouTube 將已上傳的曲目同步至影片。如果值為 false,YouTube 會使用上傳字幕音軌中的時間碼,判斷何時顯示字幕。
snippet.status string
字幕音軌的狀態。

此屬性的有效值如下:
  • failed
  • serving
  • syncing
snippet.failureReason string
YouTube 無法處理字幕軌的原因。只有在 state 屬性的值為 failed 時,才會出現這個屬性。

這個屬性的有效值如下:
  • processingFailed – YouTube 無法處理上傳的字幕音軌。
  • unknownFormat:系統無法辨識字幕軌的格式。
  • unsupportedFormat – 系統不支援字幕音軌的格式。