Używamy plików cookie. Pliki cookie i pamięć przeglądarki pozwalają utrzymać logowanie i zapamiętać Twoje preferencje. Za Twoją zgodą mierzymy też, jak korzystasz ze strony. W każdej chwili możesz . Zobacz naszą politykę cookie.

Transkrypcja (STT)

Endpointy

Transkrypcja (STT)

POST /audio/transcriptions: zamień nagranie audio na tekst modelami Whisper, GPT-4o Transcribe, Deepgram i Voxtral, w formacie zgodnym z OpenAI.

Wypróbuj w playground

Zamień mowę na tekst (speech-to-text, STT) za pomocą Whisper, GPT-4o Transcribe, Deepgram, Voxtral i innych modeli transkrypcji. Endpoint ma kształt zgodny z POST /audio/transcriptions z OpenAI, więc client.audio.transcriptions.create(...) działa bez zmian.

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

Żądanie

Wyślij multipart/form-data z plikiem audio (tak robią SDK OpenAI) lub ciało JSON.

PoleTypWymaganeOpis
filefiletakPlik audio: mp3, mp4, m4a, wav, webm, ogg, flac.
modelstringtakIdentyfikator modelu transkrypcji, np. openai/whisper-1.
languagestringnieKod ISO-639-1 (en, de), poprawia dokładność i szybkość.
promptstringnieWskazówki dotyczące słownictwa lub tekst poprzedniego segmentu.
response_formatstringniejson (domyślnie), text, srt, vtt, verbose_json, jeśli są obsługiwane.
temperaturenumbernieTemperatura próbkowania, 0–1.

Domyślny limit rozmiaru ciała żądania to 25 MB. Większe pliki zwracają 413 payload_too_large, więc dziel długie nagrania na fragmenty.

Multipart z cURL

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

Ciało JSON

JSON też jest akceptowany, z dźwiękiem w base64 dla modeli, które to obsługują:

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

Przykład

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);

Odpowiedź

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

Przy response_format: "text", srt lub vtt ciałem odpowiedzi jest zwykły tekst zamiast JSON.

Cennik

Transkrypcja jest rozliczana według ceny podanej przy modelu, wyświetlanej jako "$ / minuta" (lub za token dla modeli wycenianych za tokeny). Opłata jest zwracana w usage.cost i pobierana z Twojego salda w USD.

Błędy

StatusKodKiedy
400invalid_bodyNie udało się sparsować ciała multipart.
400model_requiredBrakuje pola model.
402insufficient_balanceTwoje saldo w USD wynosi 0 USD.
404model_not_foundNieznany lub wyłączony identyfikator modelu.
413payload_too_largePlik przekracza limit rozmiaru ciała żądania.

Zobacz Błędy.