Vi använder cookies. Cookies och webbläsarlagring håller dig inloggad och kommer ihåg dina preferenser. Med ditt tillstånd mäter vi också hur webbplatsen används. Du kan när som helst. Läs vår cookiepolicy.

Transkribering (STT)

Endpoints

Transkribering (STT)

Förvandla tal till text med POST /audio/transcriptions och modeller som Whisper och GPT-4o Transcribe, med filformat, parametrar, priser och felkoder.

Testa i playground

Förvandla tal till text (tal-till-text, STT) med Whisper, GPT-4o Transcribe, Deepgram, Voxtral och andra transkriberingsmodeller. Endpointen följer OpenAI:s POST /audio/transcriptions, så client.audio.transcriptions.create(...) fungerar oförändrat.

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

Anrop

Skicka multipart/form-data med ljudfilen (det OpenAI-SDK:erna gör), eller ett JSON-innehåll.

FältTypObligatoriskBeskrivning
filefilejaLjudfil: mp3, mp4, m4a, wav, webm, ogg, flac.
modelstringjaEtt transkriberingsmodell-id, t.ex. openai/whisper-1.
languagestringnejISO-639-1-kod (en, de), förbättrar noggrannhet och hastighet.
promptstringnejOrdförrådstips eller föregående segments text.
response_formatstringnejjson (standard), text, srt, vtt, verbose_json där det stöds.
temperaturenumbernejSamplingstemperatur, 0–1.

Gränsen för anropets storlek är som standard 25 MB. Större filer returnerar 413 payload_too_large, dela upp långa inspelningar i delar.

Multipart med 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

JSON-innehåll

JSON accepteras också, med ljudet som base64 för modeller som stöder det:

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

Exempel

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

Svar

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

Med response_format: "text", srt eller vtt är svaret ren text i stället för JSON.

Priser

Transkribering faktureras till modellens listade pris, som visas som "$ / minute" (eller per token för tokenprissatta modeller). Avgiften returneras i usage.cost och dras från ditt USD-saldo.

Fel

StatusKodNär
400invalid_bodyMultipart-innehållet kunde inte tolkas.
400model_requiredFältet model saknas.
402insufficient_balanceDitt USD-saldo är 0 USD.
404model_not_foundOkänt eller inaktiverat modell-id.
413payload_too_largeFilen överskrider gränsen för innehållets storlek.

Se Fel.