Uç noktalar
Konuşmayı metne çevirme
POST /audio/transcriptions ile Whisper, GPT-4o Transcribe ve Deepgram gibi modellerle sesi metne çevirin; multipart ve JSON gövde, formatlar ve fiyatlandırma.
Playground’da deneKonuşmayı Whisper, GPT-4o Transcribe, Deepgram, Voxtral ve diğer transkripsiyon modelleriyle metne çevirin (speech-to-text, STT). Uç nokta OpenAI'ın POST /audio/transcriptions yapısını izler; bu yüzden client.audio.transcriptions.create(...) değişiklik yapmadan çalışır.
POST https://api14.com/api/v1/audio/transcriptions
İstek
Ses dosyasıyla birlikte multipart/form-data gönderin (OpenAI SDK'larının yaptığı gibi) veya JSON gövde kullanın.
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
file | file | evet | Ses dosyası: mp3, mp4, m4a, wav, webm, ogg, flac. |
model | string | evet | Bir transkripsiyon modeli kimliği, örn. openai/whisper-1. |
language | string | hayır | ISO-639-1 kodu (en, de); doğruluğu ve hızı artırır. |
prompt | string | hayır | Kelime dağarcığı ipuçları veya önceki bölümün metni. |
response_format | string | hayır | Desteklenen yerlerde json (varsayılan), text, srt, vtt, verbose_json. |
temperature | number | hayır | Örnekleme sıcaklığı, 0–1. |
İstek gövdesi limiti varsayılan olarak 25 MB'tır. Daha büyük dosyalar 413 payload_too_large döndürür; uzun kayıtları parçalara bölün.
cURL ile 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 gövde
Destekleyen modeller için sesin base64 olarak verildiği JSON da kabul edilir:
{
"model": "openai/whisper-1",
"input_audio": { "data": "<base64>", "format": "mp3" },
"language": "en"
}
Örnek
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);
Yanıt
{
"text": "Thanks everyone for joining. Let's start with the roadmap.",
"usage": { "type": "duration", "seconds": 42, "cost": 0.0042 }
}
response_format değeri "text", srt veya vtt olduğunda gövde JSON yerine düz metindir.
Fiyatlandırma
Transkripsiyon, modelin listelenen fiyatı üzerinden "$ / dakika" olarak (token fiyatlı modellerde token başına) faturalandırılır. Ücret usage.cost alanında döner ve USD bakiyenizden düşülür.
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 400 | invalid_body | Multipart gövde ayrıştırılamadı. |
| 400 | model_required | model alanı eksik. |
| 402 | insufficient_balance | USD bakiyeniz 0. |
| 404 | model_not_found | Bilinmeyen veya devre dışı model kimliği. |
| 413 | payload_too_large | Dosya gövde boyutu limitini aşıyor. |
Bkz. Hatalar.