Skip to main content

일반 STT

일반 STT API는 음성 파일을 텍스트로 변환할 수 있는 API입니다. 일반 STT API의 경우, HTTP 기반의 REST API로 구현되어 있습니다.

참고사항

Tip

일반 STT API의 경우, 긴 음성 파일도 지원하기 위하여 Polling 방식으로 구현되어 있습니다. STT 변환을 요청한 뒤, 응답받은 ID를 상태 값이 최종상태(completed 또는 failed)가 될 때까지 주기적으로 조회하여 변환 결과를 확인할 수 있습니다. 권장하는 Polling 주기는 5초입니다.

지원 포멧

tip

일반 STT API는 음성 파일 포맷 mp4, m4a, mp3, amr, flac, wav 을 지원하고 있습니다.

인증 토큰 발급

일반 STT API는 인증 토큰 발급 가이드를 통해 토큰을 발급받은 뒤 사용하실 수 있습니다.

API 목록

MethodUrlDescription
POST/v1/transcribe파일 전사 요청
GET/v1/transcribe/{id}파일 전사 결과 조회

1) [POST]/v1/transcribe

HTTP 요청

POST https://openapi.vito.ai/v1/transcribe

요청 헤더

Authorization: bearer YOUR_JWT_TOTEN
  • scheme: bearer
  • bearerFormat: JWT

요청 바디 (Request body)

multipart/form-data

FieldTypeRequired
configRequestConfigrequired
fileBinaryrequired
{
config: {
// 화자 분리 사용을 위한 옵션 정보
diarization: {
use_ars?: boolean
// 화자 분리 사용시 Verify 처리 옵션
use_verification?: boolean
// 서비스의 사용자 고유 ID, (useVerification=true) 일때 필요한 정보
user_id?: string
// 대화 상대방의 고유 ID, (useVerification=true) 일때 필요한 정보
partner_id?: string
}
// 다중 채널 파일 처리 옵션
use_multi_channel?: boolean
// 영어,숫자,단위 변환
use_itn?: boolean
// 간투어 필터
use_disfluency_filter?: boolean
// 비속어 필터
use_profanity_filter?: boolean
// 문단나누기
paragraph_splitter?: {
min:integer
max:integer
}
}
}
caution

일반 STT API의 경우 아래와 같은 제약 사항이 있습니다. 최대 인식파일 크기: 250MB 최대 인식가능 시간: 4시간

응답 바디 (Response Body)

  • 200 Success

application/json

{
// Transcribe ID
id?: string
}

오류 코드

application/json

{
// 오류 코드 값
code?: string
}
HttpStatusCodeNotes
400H0001잘못된 파라미터 요청
401H0002유효하지 않은 토큰
413H0005파일 사이즈 초과
413H0006파일 길이 초과
429A0001사용량 초과
500E500서버 오류

샘플 코드


curl -X 'POST' \
'https://openapi.vito.ai/v1/transcribe' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@sample.wav' \
-F 'config={
"diarization": {
"use_ars": false,
"use_verification": false
},
"use_multi_channel": false,
"use_itn": false,
"use_disfluency_filter": false,
"use_profanity_filter": false,
"paragraph_splitter": {
"min": 10,
"max": 50
}
}'

2)[GET]/v1/transcribe/{id}

  • Batch 파일 전사 결과 조회

HTTP 요청

GET https://openapi.vito.ai/v1/transcribe/{id}

요청 헤더

Authorization: bearer YOUR_JWT_TOTEN
  • scheme: bearer
  • bearerFormat: JWT

응답 바디 (Response Body)

  • 200 Success

application/json

{
// transcribeID
id?: string
// 결과 상태 값
status?: string
results: {
// 변환된 발화 목록
utterances:
[
{
// 시작 timestamp
start_at: integer,
// Duration
duration: integer,
// 변환 결과
msg: string,
// 화자/채널 ID
spk: integer
},
]
// useVerification 사용시 verified 여부
verified?: boolean
}
}

전사 결과 상태

StatusNotes
transcribing변환중
completed변환 성공
failed변환 실패

오류 코드

application/json

{
// 오류 코드 값
code?: string
}
HttpStatusCodeNotes
400H0001잘못된 파라미터 요청
401H0002유효하지 않은 토큰
403H0003권한 없음
404H0004전사 결과 없음
500E500서버 오류

샘플 코드


curl -X 'GET' \
'https://openapi.vito.ai/v1/transcribe/{TRANSCRIBE_ID}' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN'