Kami menggunakan cookie. Cookie dan penyimpanan browser menjaga Anda tetap masuk dan mengingat preferensi Anda. Dengan izin Anda, kami juga mengukur cara situs digunakan. Anda dapat kapan saja. Lihat kebijakan cookie kami.

Transkripsi (STT)

Endpoint

Transkripsi (STT)

POST /audio/transcriptions mengubah audio menjadi teks dengan Whisper, GPT-4o Transcribe, dan model lain, dengan format yang sama seperti OpenAI.

Coba di playground

Ubah ucapan menjadi teks (speech-to-text, STT) dengan Whisper, GPT-4o Transcribe, Deepgram, Voxtral, dan model transkripsi lainnya. Endpoint ini mengikuti POST /audio/transcriptions milik OpenAI, sehingga client.audio.transcriptions.create(...) bekerja tanpa perubahan.

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

Request

Kirim multipart/form-data dengan file audio (seperti yang dilakukan OpenAI SDK), atau body JSON.

FieldTipeWajibDeskripsi
filefileyaFile audio: mp3, mp4, m4a, wav, webm, ogg, flac.
modelstringyaID model transkripsi, mis. openai/whisper-1.
languagestringtidakKode ISO-639-1 (en, de), meningkatkan akurasi dan kecepatan.
promptstringtidakPetunjuk kosakata atau teks segmen sebelumnya.
response_formatstringtidakjson (default), text, srt, vtt, verbose_json jika didukung.
temperaturenumbertidakTemperature sampling, 0–1.

Batas body request default adalah 25 MB. File yang lebih besar mengembalikan 413 payload_too_large, pecah rekaman panjang menjadi potongan.

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

Body JSON

JSON juga diterima, dengan audio sebagai base64 untuk model yang mendukungnya:

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

Contoh

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

Respons

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

Dengan response_format: "text", srt, atau vtt, body berupa teks biasa, bukan JSON.

Harga

Transkripsi ditagih sesuai harga model yang tercantum, ditampilkan sebagai "$ / menit" (atau per token untuk model berharga token). Biayanya dikembalikan di usage.cost dan dipotong dari saldo USD Anda.

Error

StatusKodeKapan
400invalid_bodyBody multipart tidak dapat di-parse.
400model_requiredField model tidak ada.
402insufficient_balanceSaldo USD Anda $0.
404model_not_foundID model tidak dikenal atau dinonaktifkan.
413payload_too_largeFile melebihi batas ukuran body.

Lihat Error.