목차
음성 텍스트 변환 안내
음성 텍스트 변환 안내
POST /v1/audio/transcriptions는 OpenAI-compatible 형식입니다. multipart/form-data로 오디오를 업로드하거나 JSON으로 base64 input_audio를 보내면 텍스트를 받습니다. 모델에는 elevenlabs/scribe-v2와 elevenlabs/scribe-v2-medical이 있습니다. 최신 목록은 GET /v1/models?output_modalities=transcription에서 확인하세요. GET /v1/models는 기본적으로 텍스트 모델만 반환하므로 ?output_modalities=transcription(또는 all)를 붙여 목록을 확인하세요.
/v1/audio/transcriptions매개변수
| 매개변수 | 형식 | 필수 | 설명 |
|---|---|---|---|
| model | string | 예 | 전사 모델 ID. 예: elevenlabs/scribe-v2. |
| file | file | 예 | 오디오 파일(multipart). wav, mp3, mp4, m4a, ogg, flac, webm, aac 지원. 최대 25 MiB. JSON 클라이언트는 input_audio: {data: base64, format}을 대신 보낼 수 있습니다. |
| response_format | string | 아니요 | json(기본값)은 {text}를 반환하고 verbose_json은 언어, 길이, segments/words를 추가합니다. |
| language | string | 아니요 | en 또는 zh 같은 선택적 언어 힌트. 비워두면 자동 감지합니다. |
| prompt | string | 아니요 | 이름과 용어 인식을 돕는 선택적 문맥 텍스트. 모델에 따라 적용되지 않을 수 있습니다. |
| timestamp_granularities[] | string[] | 아니요 | word 및/또는 segment. response_format=verbose_json에서만 적용되고 다른 형식에서는 무시됩니다. 단어 단위 타임스탬프는 아직 반환되지 않으며 segments는 반환됩니다. |
출력 형식
response_format은 json 또는 verbose_json만 허용합니다(text, srt, vtt 미지원). stream은 지원되지 않습니다. 오디오 길이 제한은 모델별로 정해지며 기본값은 60초입니다. 초과하면 처리 전에 413 audio_too_long으로 거부되고 요금이 부과되지 않습니다. 긴 녹음은 나누세요.
요금
전사는 오디오 초 단위로 청구됩니다. 초당 가격은 /models의 모델 페이지와 GET /v1/models의 pricing.second에 있으며 분당 가격은 그 60배입니다. 응답의 usage는 청구 초를, usage.cost는 청구 금액을 보여 줍니다.
예제
curl https://api.bazaarlink.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $BAZAARLINK_API_KEY" \
-F model="elevenlabs/scribe-v2" \
-F file=@audio.mp3 \
-F response_format=verbose_json \
-F "timestamp_granularities[]=word"흔한 오류
| 상태 | 원인 및 해결 방법 |
|---|---|
| 400 | 잘못된 요청: model 또는 file 누락, 빈 오디오, json/verbose_json 이외의 response_format, stream=true(unsupported_parameter), 또는 word/segment 이외의 timestamp_granularities. |
| 401 | API 키가 없거나 유효하지 않습니다. |
| 402 | 잔액이 부족합니다. 충전 후 다시 시도하세요. |
| 413 | audio_too_large: 디코딩한 오디오가 25 MiB를 초과합니다. audio_too_long: 모델별 길이 제한(기본 60초)을 초과한 오디오는 처리 전에 거부되며 요금이 부과되지 않습니다. 압축하거나 나누세요. |
| 429 | 요청 제한에 도달했습니다. Retry-After에 따라 기다린 뒤 다시 시도하세요. |
| 502 | 모델 서비스를 일시적으로 사용할 수 없거나 오디오 전송이 중단되었습니다. 다시 시도하세요. 실패한 요청에는 요금이 부과되지 않습니다. |
음성 전사
multipart/form-data의 model, file 또는 JSON model, input_audio:{data,format} (원시 base64)를 보냅니다. 형식: wav, mp3, mp4, m4a, ogg, flac, webm, aac. 오디오 최대 25 MiB, 요청 본문 50 MiB. audio.transcription_max_seconds_by_model이 모델별 제한을 정하며, 없으면 audio.transcription_max_seconds와 기본 60초가 순서대로 적용됩니다. 초과한 오디오는 처리 전에 413 audio_too_long으로 거부되고 요금이 부과되지 않습니다. response_format은 json 또는 verbose_json; timestamp_granularities word/segment는 verbose_json이 필요합니다. stream 미지원 (400 unsupported_parameter), 크기 초과: 413 audio_too_large. provider는 무시됩니다. 데이터베이스 가격으로 usage.seconds 또는 입력/출력 token에 과금하며 분당 가격은 초당 가격의 60배입니다. usage.cost는 USD 고객 청구액입니다.
/v1/audio/transcriptions