쿠키를 사용합니다. 쿠키와 브라우저 저장소는 로그인 상태를 유지하고 환경설정을 기억합니다. 동의하시면 사이트 이용 방식도 측정합니다. 언제든지 할 수 있습니다. 자세한 내용은 쿠키 정책을 참고하세요.

음성 인식

엔드포인트

음성 인식

Whisper, GPT-4o Transcribe, Deepgram, Voxtral 모델로 음성을 텍스트로 바꾸는 POST /audio/transcriptions 사용법입니다. multipart와 JSON 요청, 응답 형식, 요금, 오류를 설명합니다.

플레이그라운드에서 사용해 보기

Whisper, GPT-4o Transcribe, Deepgram, Voxtral 등의 전사 모델로 음성을 텍스트로 바꿉니다(speech-to-text, STT). 이 엔드포인트는 OpenAI의 POST /audio/transcriptions를 따르므로 client.audio.transcriptions.create(...)가 그대로 동작합니다.

POST https://api14.com/api/v1/audio/transcriptions

요청

오디오 파일을 담은 multipart/form-data(OpenAI SDK가 보내는 방식) 또는 JSON 본문을 보내세요.

필드타입필수설명
filefile예오디오 파일: mp3, mp4, m4a, wav, webm, ogg, flac.
modelstring예전사 모델 ID. 예: openai/whisper-1.
languagestring아니요ISO-639-1 코드(en, de). 정확도와 속도가 향상됩니다.
promptstring아니요어휘 힌트 또는 이전 구간의 텍스트.
response_formatstring아니요json(기본값), text, srt, vtt, 지원되는 경우 verbose_json.
temperaturenumber아니요샘플링 온도, 0–1.

요청 본문 크기 제한은 기본 25 MB입니다. 더 큰 파일은 413 payload_too_large를 반환하므로, 긴 녹음은 조각으로 나누세요.

cURL로 보내는 Multipart

curl https://api14.com/api/v1/audio/transcriptions \
  -H "Authorization: Bearer sk-api14-..." \
  -F model=openai/whisper-1 \
  -F file=@meeting.mp3 \
  -F language=en

JSON 본문

지원하는 모델에서는 오디오를 base64로 담은 JSON도 받습니다.

{
  "model": "openai/whisper-1",
  "input_audio": { "data": "<base64>", "format": "mp3" },
  "language": "en"
}

예제

import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.audio.transcriptions.create({
  model: "openai/whisper-1",
  file: fs.createReadStream("audio.mp3"),
});
console.log(result.text);

응답

{
  "text": "Thanks everyone for joining. Let's start with the roadmap.",
  "usage": { "type": "duration", "seconds": 42, "cost": 0.0042 }
}

response_format이 "text", srt, vtt이면 본문은 JSON이 아닌 일반 텍스트입니다.

가격

전사는 모델에 표시된 가격으로 과금되며, "$ / minute"(토큰 단위 가격 모델은 토큰당)으로 표시됩니다. 요금은 usage.cost로 반환되고 USD 잔액에서 차감됩니다.

오류

상태코드발생 조건
400invalid_bodymultipart 본문을 파싱할 수 없습니다.
400model_requiredmodel 필드가 없습니다.
402insufficient_balanceUSD 잔액이 $0입니다.
404model_not_found알 수 없거나 비활성화된 모델 ID입니다.
413payload_too_large파일이 본문 크기 제한을 초과했습니다.

오류를 참고하세요.