Prosody

STT

STT API

오디오 URL 또는 Base64 데이터를 텍스트와 단어별 타임스탬프로 변환합니다.

1

음성 인식

audioUrl과 audioData 중 하나를 전달합니다.

URL

POST
https://agitvxptajouhvoatxio.supabase.co/functions/v1/stt-transcribe-v1

Authentication and headers

Store API keys in server environment variables and send them only in request headers.

http
X-API-Key: {YOUR_API_KEY}
Content-Type: application/json

Request fields

  • audioUrlstring (URL)Conditional

    서버가 내려받을 오디오 URL입니다.

    audioData가 없으면 필수

  • audioDatastring (Base64)Conditional

    Base64 오디오 또는 data:audio/...;base64,... 형식입니다.

    audioUrl이 없으면 필수

  • langstringOptional

    인식 언어 코드입니다.

    Default "ko"

Request example

json
{
  "audioUrl": "https://example.com/audio.mp3",
  "lang": "ko"
}

Response

200

인식 결과

  • jobIdUUIDRequired

    생성된 STT 작업 ID입니다.

  • transcriptstringRequired

    전체 인식 텍스트입니다.

  • confidencenumberRequired

    전체 인식 신뢰도입니다.

  • wordsobject[]Optional

    단어별 startTime, endTime, confidence입니다.

  • processingTimeMsnumberRequired

    서버 처리 시간(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 작업을 예약할 크레딧이 부족합니다.