高级阅读时间约 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"
}
顶层字段
- 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 小时内回复