고급4분 읽기2026년 10월 20일에 업데이트됨
JSON 형식: 개발자를 위한 구조화 데이터
구간, 시간, 메타데이터, 화자 정보가 포함된 JSON을 연동에 활용하세요.
JSON은 텍스트 변환 결과를 구조화 데이터로 내보냅니다. 전체 텍스트, 시작·종료 시간이 있는 모든 구간, 화자, 신뢰도 점수가 포함된 단어 단위 타이밍이 들어 있습니다. 자체 스크립트, 데이터 분석 또는 맞춤 도구에 활용하세요. JSON 내보내기는 무료 요금제를 포함한 모든 요금제에서 사용할 수 있습니다.
JSON 구조
실제 내보내기 파일을 줄인 예시입니다(구간 1개와 단어 2개만 표시).
{
"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 — “SPEAKER_00” 같은 화자 ID(화자를 식별한 경우에만)
- words — 각 단어와 그 시작·종료 시간, 0에서 1 사이의 신뢰도(제공되는 경우)
프로 팁
시간 값은 반올림하지 않은 원시 숫자이므로 7.768000000000001 같은 값이 보일 수 있습니다. 화면에 표시할 때는 코드에서 반올림하세요.
출력에 영향을 주는 요소
- 도구 모음의 “화자” 확인란: 끄면 텍스트에 화자 이름이 없고, 구간에 speaker 필드가 없으며, speakerNames는 null이 됩니다.
- “타임스탬프” 확인란은 JSON에 영향을 주지 않습니다. 구간 시간은 항상 포함됩니다.
- 번역 탭이나 인사이트 결과에서 내보내면 파일에는 해당 텍스트와 빈 segments 배열이 담깁니다.
- 편집을 많이 해서 타이밍이 텍스트와 더 이상 맞지 않으면 segments가 생략됩니다.
추천 활용 사례
- 맞춤 데이터 처리 스크립트
- 분석 및 텍스트 마이닝
- 자체 자막 또는 캡션 도구 제작
- 데이터베이스나 검색 인덱스로 가져오기
- 인식기가 확신하지 못한 단어(낮은 신뢰도) 찾기
JSON 데이터 처리(JavaScript)
const data = JSON.parse(jsonString);
// Total duration in minutes
const minutes = Math.floor((data.duration ?? 0) / 60);
// Print each segment with its speaker
data.segments.forEach(segment => {
const who = data.speakerNames?.[segment.speaker] ?? segment.speaker ?? '';
console.log(`[${segment.start.toFixed(1)}s] ${who} ${segment.text}`);
});
// Words the recognizer was unsure about
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보다 훨씬 큽니다. 1시간 분량의 녹음은 약 2MB 크기의 파일이 됩니다.
태그
JSON개발자API데이터
관련 문서
🎬
SRT 타임스탬프 형식: hh:mm:ss,mmm 이해하기
SubRip 자막의 정확한 시간 문법과 재생 오류를 막는 규칙을 알아보세요.
📥
내보내기 개요: 알맞은 형식 선택하기
모든 내보내기 형식과 용도에 맞는 선택 방법을 알아보세요.
⏱️
타임스탬프 텍스트 변환: 원하는 순간으로 바로 이동
구간별 시간 코드를 눌러 오디오를 재생하고 TXT, SRT, JSON에 시간을 포함하는 방법을 알아보세요.
📄
TXT 형식: 간단한 일반 텍스트
모든 편집기와 앱에서 열 수 있는 깔끔한 텍스트 파일로 내보내세요.
관련 도구
- 지원되는 오디오 및 동영상 형식 — MP3, WAV, OGG, MP4, MPEG 등 지원 형식별 제한과 팁을 확인하세요.
- Mac용 텍스트 변환 앱 — Whisper와 Parakeet으로 오프라인에서 무료로 녹음하고 텍스트로 변환하세요. 데이터는 기기 밖으로 나가지 않습니다.
도움이 더 필요하신가요? 고객 지원 문의 — 보통 24시간 이내에 답변해 드립니다.