STT
STT API
오디오 URL 또는 Base64 데이터를 텍스트와 단어별 타임스탬프로 변환합니다.
1
음성 인식
audioUrl과 audioData 중 하나를 전달합니다.
URL
POST
https://agitvxptajouhvoatxio.supabase.co/functions/v1/stt-transcribe-v1인증 및 헤더
API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.
X-API-Key: {YOUR_API_KEY}
Content-Type: application/json요청 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
audioUrl | string (URL) | 조건부 | 서버가 내려받을 오디오 URL입니다. audioData가 없으면 필수 |
audioData | string (Base64) | 조건부 | Base64 오디오 또는 `data:audio/...;base64,...` 형식입니다. audioUrl이 없으면 필수 |
lang | string | 선택 | 인식 언어 코드입니다. 기본값 "ko" |
요청 예시
{
"audioUrl": "https://example.com/audio.mp3",
"lang": "ko"
}응답
200
인식 결과
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
jobId | UUID | 필수 | 생성된 STT 작업 ID입니다. |
transcript | string | 필수 | 전체 인식 텍스트입니다. |
confidence | number | 필수 | 전체 인식 신뢰도입니다. |
words | object[] | 선택 | 단어별 startTime, endTime, confidence입니다. |
processingTimeMs | number | 필수 | 서버 처리 시간(ms)입니다. |
인식 결과
{
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"transcript": "안녕하세요.",
"confidence": 0.98,
"words": [
{ "word": "안녕하세요", "startTime": 0, "endTime": 0.82, "confidence": 0.99 }
],
"processingTimeMs": 842
}400
E4201 / E4203 · 입력 또는 오디오 오류
audioUrl, audioData, lang 타입이 잘못되었거나 오디오 형식·길이를 검증할 수 없는 경우입니다.
E4201 / E4203 · 입력 또는 오디오 오류
{
"error": {
"code": "E4201",
"message": "Invalid request",
"details": "Missing required field: text"
}
}402
E4601 · 크레딧 부족
STT 작업을 예약할 크레딧이 부족합니다.
- 지원 형식은 WAV, MP3, M4A, AAC, WebM, MP4이며 최대 파일 크기는 50 MiB입니다.
- 인증된 요청의 최대 길이는 3,600초이고 게스트 요청은 30초입니다.
- audioUrl은 서버가 15초 제한으로 내려받으며 리디렉션과 사설 네트워크 주소를 제한합니다.