進階閱讀時間約 4 分鐘更新日期:2026年10月20日

JSON 格式:面向開發者的結構化資料

匯出包含文字分段、時間戳記、檔案資訊和講者資訊的 JSON 資料,便於開發和整合。

JSON 會將逐字稿匯出為結構化資料:完整文字、每個片段及其開始與結束時間、說話者,以及附有信心分數的逐字時間資訊。可用於您自己的程式、資料分析或自訂工具。JSON 匯出適用於所有方案,包括 Free。

JSON 結構

以下是實際匯出檔的精簡範例(僅顯示一個片段與兩個字詞):

{
  "id": "cmvfviwjf00wnb6hzcwfodyhz",
  "fileName": "Weekly team sync.mp3",
  "text": "Speaker 1: Okay, I think everyone's here. Thanks for jumping on...",
  "language": "en",
  "duration": 145,
  "segments": [
    {
      "id": 1,
      "end": 10.088,
      "text": "Thanks for jumping on.",
      "start": 8.968,
      "speaker": "SPEAKER_00",
      "words": [
        { "end": 9.368, "word": "Thanks", "start": 8.968, "confidence": 0.911 },
        { "end": 9.528, "word": "for", "start": 9.368, "confidence": 0.989 }
      ]
    }
  ],
  "speakerNames": null,
  "createdAt": "2026-10-19T23:16:45.243Z"
}
在程式碼編輯器中開啟的 JSON 匯出檔

最上層欄位

  • id:逐字稿的唯一識別碼
  • fileName:檔案名稱,與 TranscribeNext 中顯示的相同
  • text:以單一字串呈現的完整逐字稿;開啟說話者時,每段發言都以說話者名稱開頭(“Speaker 1: …”)
  • language:語言代碼(en、es、fr…);未知時省略
  • duration:音訊長度,以整數秒表示;未知時省略
  • segments:含時間資訊的片段陣列(見下方)
  • speakerNames:您為說話者設定的名稱,例如 {"SPEAKER_00": "Anna"},或 null
  • createdAt:建立時間,採 ISO 8601 格式(UTC)

片段物件

  • id:片段編號,從 0 開始
  • start、end:開始與結束時間,單位為秒
  • text:此片段中說的內容
  • speaker:說話者 ID,例如“SPEAKER_00”(僅在已辨識說話者時提供)
  • words:每個字詞及其 start、end 與介於 0 到 1 的 confidence(如有提供)

實用秘訣

時間是未經四捨五入的原始數值,因此可能會看到 7.768000000000001 這類數值。如需顯示,請在程式中自行四捨五入。

哪些設定會影響輸出

  • 工具列中的“說話者”核取方塊:關閉時,text 中不含說話者名稱,片段中沒有 speaker 欄位,speakerNames 為 null
  • “時間標記”核取方塊不影響 JSON,片段時間一律會包含
  • 從“翻譯”分頁或“重點分析”結果匯出時,檔案會包含該文字,segments 陣列則為空
  • 如果大量編輯導致時間資訊與文字不再相符,segments 會被省略

最佳使用情境

  • 自訂資料處理程式
  • 分析與文字探勘
  • 打造您自己的字幕工具
  • 匯入資料庫或搜尋索引
  • 找出辨識器不確定的字詞(信心分數低)

處理 JSON 資料(JavaScript)

const data = JSON.parse(jsonString);

// 總長度(分鐘)
const minutes = Math.floor((data.duration ?? 0) / 60);

// 列出每個片段及其說話者
data.segments.forEach(segment => {
  const who = data.speakerNames?.[segment.speaker] ?? segment.speaker ?? '';
  console.log(`[${segment.start.toFixed(1)}s] ${who} ${segment.text}`);
});

// 辨識器不確定的字詞
const unsure = data.segments
  .flatMap(seg => seg.words ?? [])
  .filter(w => w.confidence < 0.5);

處理 JSON 資料(Python)

import json

with open('transcription.json', encoding='utf-8') as f:
    data = json.load(f)

print(f"File: {data['fileName']}")
print(f"Duration: {data.get('duration', 0)} s")

names = data.get('speakerNames') or {}
for segment in data['segments']:
    who = names.get(segment.get('speaker'), segment.get('speaker', ''))
    print(f"[{segment['start']:.1f}s] {who} {segment['text']}")

重要

由於每個字詞都列有各自的時間資訊,JSON 檔案會比 TXT 大得多。一小時的錄音會產生約 2 MB 的檔案。

標籤

JSONAPI開發者結構化資料整合

相關文章

🎬

SRT 時間戳記格式:詳解 hh:mm:ss,mmm

逐項瞭解 SubRip 時間戳記 hh:mm:ss,mmm --> hh:mm:ss,mmm 的含義、常見格式錯誤、它與 VTT 和 SBV 的區別,以及如何從 TranscribeNext 匯出 SRT。

📥

匯出指南:選擇合適的格式

瞭解各種匯出格式,以及它們各自適合的使用場景。

⏱️

帶時間戳記的轉錄:跳轉到錄音位置

透過文字分段的時間戳記定位錄音,搜尋文字後跳轉收聽,並按需匯出時間資訊。

📄

TXT 格式:純文字

將轉錄結果匯出為簡潔的文字檔案,便於在各種文字編輯器和應用程式中使用。

相關工具

  • 支援的音訊與影片格式 — 包括 MP3、WAV、OGG、MP4、MPEG 等格式,以及各格式的限制與使用建議。
  • Mac 轉錄應用程式 — 使用 Whisper 和 Parakeet 免費離線錄音與轉錄;離線處理時,檔案不會離開您的電腦。

還需要協助嗎? 聯絡支援團隊 — 通常於 24 小時內回覆

JSON 格式:面向開發者的結構化資料 | TranscribeNext 說明