음성 텍스트 변환

ElevenLabs로 음성 오디오를 텍스트로 변환하는 방법을 알아보세요.

개요

ElevenLabs 음성 텍스트 변환(STT) API는 최첨단 정확도로 음성 오디오를 텍스트로 변환합니다. Scribe v2 모델은 90개 이상의 언어와 다양한 음성 스타일에서 텍스트 단서에 맞춰 조정됩니다. 라이브 데모를 사용해 보려면 음성 텍스트 변환 쇼케이스 페이지를 방문하세요.

HIPAA 준수가 필요한 기업은 BAA(Business Associate Agreement) 계약을 체결하기 위해 ElevenLabs 영업팀에 문의해야 합니다. HIPAA 관련 통합 또는 배포를 진행하기 전에 이 단계를 완료하세요.

모델

API 응답 예시

다음 예시는 샘플 오디오 파일에 Scribe v2 모델을 사용한 음성 텍스트 변환 API의 출력입니다.

{
"language_code": "en",
"language_probability": 1,
"text": "With a soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditative guides, or adding an intimate feel to your narrative projects.",
"words": [
{
"text": "With",
"start": 0.119,
"end": 0.259,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.239,
"end": 0.299,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "a",
"start": 0.279,
"end": 0.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.339,
"end": 0.499,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "soft",
"start": 0.479,
"end": 1.039,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.019,
"end": 1.2,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "and",
"start": 1.18,
"end": 1.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.339,
"end": 1.44,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "whispery",
"start": 1.419,
"end": 1.979,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.959,
"end": 2.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "American",
"start": 2.159,
"end": 2.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 2.699,
"end": 2.779,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "accent,",
"start": 2.759,
"end": 3.389,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.119,
"end": 4.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "I'm",
"start": 4.159,
"end": 4.459,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.44,
"end": 4.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "the",
"start": 4.5,
"end": 4.599,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.579,
"end": 4.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ideal",
"start": 4.679,
"end": 5.099,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.079,
"end": 5.219,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "choice",
"start": 5.199,
"end": 5.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.699,
"end": 6.099,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "for",
"start": 6.099,
"end": 6.199,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.179,
"end": 6.279,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "creating",
"start": 6.259,
"end": 6.799,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.779,
"end": 6.979,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ASMR",
"start": 6.959,
"end": 7.739,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 7.719,
"end": 7.859,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "content,",
"start": 7.839,
"end": 8.45,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9,
"end": 9.06,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "meditative",
"start": 9.04,
"end": 9.64,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9.619,
"end": 9.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "guides,",
"start": 9.679,
"end": 10.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 10.359,
"end": 10.409,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "or",
"start": 11.319,
"end": 11.439,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.42,
"end": 11.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "adding",
"start": 11.5,
"end": 11.879,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.859,
"end": 12,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "an",
"start": 11.979,
"end": 12.079,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.059,
"end": 12.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "intimate",
"start": 12.179,
"end": 12.579,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.559,
"end": 12.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "feel",
"start": 12.679,
"end": 13.159,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.139,
"end": 13.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "to",
"start": 13.159,
"end": 13.26,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.239,
"end": 13.3,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "your",
"start": 13.299,
"end": 13.399,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.379,
"end": 13.479,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "narrative",
"start": 13.479,
"end": 13.889,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.919,
"end": 13.939,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "projects.",
"start": 13.919,
"end": 14.779,
"type": "word",
"speaker_id": "speaker_0"
}
]
}

출력은 세 가지 카테고리 유형으로 분류됩니다.

  • word - 오디오 언어의 단어
  • spacing - 단어 사이의 공백입니다. 일본어, 중국어 표준어, 태국어, 라오어, 버마어, 광둥어처럼 공백을 사용하지 않는 언어에는 적용되지 않습니다.
  • audio_event - 웃음이나 박수 같은 비언어적 소리

동시성 및 우선순위

동시성은 동시에 처리할 수 있는 요청 수를 의미합니다.

음성 텍스트 변환의 경우 처리 속도를 높이기 위해 8분이 넘는 파일을 내부적으로 병렬 트랜스크립션합니다. 오디오는 동시에 트랜스크립션할 수 있도록 네 개의 세그먼트로 분할됩니다.

다음 계산식으로 동시성 한도를 계산할 수 있습니다.

Concurrency=min⁡(4,round_up(audio_ duration_secs480))Concurrency = \min(4, \text{round\_up}(\frac{\text{audio\_ duration\_secs}}{480}))

예를 들어 15분 길이의 오디오 파일은 동시성 2로, 120분 길이의 오디오 파일은 동시성 4로 트랜스크립션됩니다.

위 계산은 Scribe v2 및 Scribe v2 Medical에만 적용됩니다. Scribe v2 Realtime의 경우 동시성 한도 차트를 참조하세요.

고급 기능

키텀 프롬프팅과 트랜스크립트 편집에는 추가 비용이 발생합니다. 자세한 가격 정보는 API 가격 페이지를 참조하세요.

키텀 프롬프팅

키텀 프롬프팅은 Scribe v2, Scribe v2 Medical(배치), Scribe v2 Realtime에서 사용할 수 있습니다.

단어나 구문을 강조하여 모델이 해당 내용을 트랜스크립션하도록 유도할 수 있습니다. 이는 제품명, 이름 또는 기타 특정 용어처럼 오디오에서 흔하지 않은 특정 단어나 문장을 트랜스크립션할 때 유용합니다. 키텀은 문맥을 바탕으로 해당 용어를 트랜스크립션할지 판단하므로, 다른 모델이 제공하는 편향 키워드나 맞춤형 어휘보다 강력합니다. 배치는 최대 1,000개의 키텀(각 50자)을 지원하며, 실시간은 최대 50개의 키텀(각 20자)을 지원합니다.

키텀 프롬프팅 사용 방법은 키텀 프롬프팅 문서를 참조하세요.

축어 모드 미사용

축어 모드 미사용은 Scribe v2, Scribe v2 Medical(배치), Scribe v2 Realtime에서 사용할 수 있습니다.

no_verbatim을 활성화하면 모델이 트랜스크립트에서 추임새, 잘못 시작한 발화 및 비유창성을 제거합니다. 따라서 자막, 요약 또는 말한 모든 단어를 캡처하는 것보다 가독성이 더 중요한 모든 사용 사례에 적합한 깔끔한 출력을 생성합니다.

엔터티 감지

엔터티 감지는 모든 배치 모델과 Scribe v2 Realtime에서 사용할 수 있습니다.

배치 모델과 Scribe v2 Realtime은 트랜스크립트에서 여러 카테고리의 엔터티를 감지하고 정확한 타임스탬프를 제공합니다. 신용카드 번호, 이름, 의료 상태 또는 SSN을 강조 표시하는 데 유용합니다.

지원되는 엔터티의 전체 목록은 엔터티 감지 문서를 참조하세요.

트랜스크립트 편집

트랜스크립트 편집은 모든 배치 모델과 Scribe v2 Realtime에서 사용할 수 있는 실험적 기능입니다.

transcript_edit 매개변수에 자연어 지침을 전달하면 완성된 트랜스크립트에 적용됩니다. 편집된 텍스트는 원본 트랜스크립트와 함께 edited_transcript로 반환되므로 타임스탬프와 화자 라벨이 그대로 유지됩니다. 날짜, 시간 또는 단위의 표기 방식을 정규화하거나, 다른 스타일을 적용하거나, 단일 요청으로 트랜스크립트를 다시 작성하는 데 유용합니다.

자세한 내용은 트랜스크립트 편집 문서 및 실시간 트랜스크립트 편집 가이드를 참조하세요.

지원 언어

Scribe v2는 다음을 포함한 90개 이상의 언어를 지원합니다.

아프리칸스어 (afr), 암하라어 (amh), 아랍어 (ara), 아르메니아어 (hye), 아삼어 (asm), 아스투리아스어 (ast), 아제르바이잔어 (aze), 벨라루스어 (bel), 벵골어 (ben), 보스니아어 (bos), 불가리아어 (bul), 버마어 (mya), 광둥어 (yue), 카탈루냐어 (cat), 세부아노어 (ceb), 치체와어 (nya), 크로아티아어 (hrv), 체코어 (ces), 덴마크어 (dan), 네덜란드어 (nld), 영어 (eng), 에스토니아어 (est), 필리핀어 (fil), 핀란드어 (fin), 프랑스어 (fra), 풀라어 (ful), 갈리시아어 (glg), 간다어 (lug), 조지아어 (kat), 독일어 (deu), 그리스어 (ell), 구자라트어 (guj), 하우사어 (hau), 히브리어 (heb), 힌디어 (hin), 헝가리어 (hun), 아이슬란드어 (isl), 이그보어 (ibo), 인도네시아어 (ind), 아일랜드어 (gle), 이탈리아어 (ita), 일본어 (jpn), 자바어 (jav), 카보베르데어 (kea), 칸나다어 (kan), 카자흐어 (kaz), 크메르어 (khm), 한국어 (kor), 쿠르드어 (kur), 키르기스어 (kir), 라오어 (lao), 라트비아어 (lav), 링갈라어 (lin), 리투아니아어 (lit), 루오어 (luo), 룩셈부르크어 (ltz), 마케도니아어 (mkd), 말레이어 (msa), 말라얄람어 (mal), 몰타어 (mlt), 중국어 표준어 (zho), 마오리어 (mri), 마라티어 (mar), 몽골어 (mon), 네팔어 (nep), 북소토어 (nso), 노르웨이어 (nor), 오크어 (oci), 오디아어 (ori), 파슈토어 (pus), 페르시아어 (fas), 폴란드어 (pol), 포르투갈어 (por), 펀자브어 (pan), 루마니아어 (ron), 러시아어 (rus), 세르비아어 (srp), 쇼나어 (sna), 신드어 (snd), 싱할라어 (sin), 슬로바키아어 (slk), 슬로베니아어 (slv), 소말리어 (som), 스페인어 (spa), 스와힐리어 (swa), 스웨덴어 (swe), 타밀어 (tam), 타지크어 (tgk), 텔루구어 (tel), 태국어 (tha), 터키어 (tur), 우크라이나어 (ukr), 움분두어 (umb), 우르두어 (urd), 우즈베크어 (uzb), 베트남어 (vie), 웨일스어 (cym), 월로프어 (wol), 코사어 (xho), 줄루어 (zul).

언어 지원 세부 정보

단어 오류율(WER)은 트랜스크립션 시스템의 정확도를 평가하는 핵심 지표입니다. 기준 트랜스크립트와 비교하여 트랜스크립트에 포함된 오류 수를 측정합니다. 아래는 Scribe v2가 지원하는 각 언어의 WER 세부 정보입니다.

벨라루스어(bel), 보스니아어(bos), 불가리아어(bul), 카탈루냐어(cat), 크로아티아어(hrv), 체코어(ces), 덴마크어(dan), 네덜란드어(nld), 영어(eng), 에스토니아어(est), 핀란드어(fin), 프랑스어(fra), 갈리시아어 (glg), 독일어(deu), 그리스어(ell), 헝가리어(hun), 아이슬란드어(isl), 인도네시아어(ind), 이탈리아어 (ita), 일본어(jpn), 칸나다어(kan), 라트비아어(lav), 마케도니아어(mkd), 말레이어(msa), 말라얄람어 (mal), 노르웨이어(nor), 폴란드어(pol), 포르투갈어(por), 루마니아어(ron), 러시아어(rus), 슬로바키아어 (slk), 스페인어(spa), 스웨덴어(swe), 터키어(tur), 우크라이나어(ukr), 베트남어(vie)

아르메니아어(hye), 아제르바이잔어(aze), 벵골어(ben), 광둥어(yue), 필리핀어(fil), 조지아어 (kat), 구자라트어(guj), 힌디어(hin), 카자흐어(kaz), 리투아니아어(lit), 몰타어(mlt), 중국어 표준어 (cmn), 마라티어(mar), 네팔어(nep), 오리야어(ori), 페르시아어(fas), 세르비아어(srp), 슬로베니아어(slv), 스와힐리어(swa), 타밀어(tam), 텔루구어(tel)

아프리칸스어(afr), 아랍어(ara), 아삼어(asm), 아스투리아스어(ast), 버마어(mya), 하우사어(hau), 히브리어(heb), 자바어(jav), 한국어(kor), 키르기스어(kir), 룩셈부르크어(ltz), 마오리어(mri), 오크어(oci), 펀자브어(pan), 타지크어(tgk), 태국어(tha), 우즈베크어(uzb), 웨일스어(cym)

암하라어(amh), 간다어(lug), 이그보어(ibo), 아일랜드어(gle), 크메르어(khm), 쿠르드어(kur), 라오어(lao), 몽골어(mon), 북소토어(nso), 파슈토어(pus), 쇼나어(sna), 신디어(snd), 싱할라어(sin), 소말리어(som), 우르두어(urd), 월로프어(wol), 코사어(xho), 요루바어(yor), 줄루어(zul)

FAQ

예. API는 트랜스크립션을 위해 오디오와 비디오 파일을 모두 업로드할 수 있도록 지원합니다.

최대 3GB 크기의 파일이 지원됩니다. 길이 제한은 트랜스크립션 모드에 따라 다릅니다.

  • 표준 모드 (use_multi_channel=false): 최대 10시간
  • 멀티채널 모드 (use_multi_channel=true): 모든 채널의 총 길이가 10시간 미만이어야 합니다.

API는 다음 오디오 및 비디오 형식을 지원합니다.

  • audio/aac
  • audio/x-aac
  • audio/x-aiff
  • audio/ogg
  • audio/mpeg
  • audio/mp3
  • audio/mpeg3
  • audio/x-mpeg-3
  • audio/opus
  • audio/wav
  • audio/x-wav
  • audio/webm
  • audio/flac
  • audio/x-flac
  • audio/mp4
  • audio/aiff
  • audio/x-m4a

지원되는 비디오 형식은 다음과 같습니다.

  • video/mp4
  • video/x-msvideo
  • video/x-matroska
  • video/quicktime
  • video/x-ms-wmv
  • video/x-flv
  • video/webm
  • video/mpeg
  • video/3gpp

ElevenLabs는 모델이 지원하는 언어 수를 지속적으로 확장하고 있습니다. 업데이트를 위해 자주 확인해 주세요.

예. 비동기 트랜스크립션 결과는 UI의 웹훅 설정에서 구성한 웹훅으로 전송할 수 있습니다. 자세한 내용은 웹훅 쿡북을 참조하세요.

예. 멀티채널 STT 기능을 사용하면 각 채널을 독립적으로 처리하고 채널 번호에 따라 화자 ID를 할당하여 오디오를 트랜스크립션할 수 있습니다. 이 기능은 최대 5개 채널을 지원합니다. 자세한 내용은 멀티채널 트랜스크립션 쿡북을 참조하세요.

ElevenLabs는 트랜스크립션을 위해 전송된 오디오 길이를 기준으로 음성 텍스트 변환 요금을 부과합니다. 요금은 오디오 시간당 계산되며, 등급과 모델에 따라 달라집니다. 자세한 가격 정보는 API 가격 페이지를 참조하세요.

주요 정보

  • 지원 입력: 오디오 및 비디오 파일 모두 지원
  • 최대 파일 크기: 3GB
  • 최대 길이: 10시간(표준 모드), 1시간(멀티채널 모드)
  • 멀티채널 모드: 최대 5개 채널, 각 채널은 독립적으로 처리되며 채널 번호에 따라 화자 ID가 할당됨
  • 웹훅: 비동기 트랜스크립션 결과를 웹훅으로 전송할 수 있음 — 워크스페이스 설정에서 구성
  • 지원 오디오 형식: AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM
  • 지원 비디오 형식: MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP