Çerez kullanıyoruz. Çerezler ve tarayıcı depolaması oturumunu açık tutar ve tercihlerini hatırlar. İzin verirsen sitenin nasıl kullanıldığını da ölçeriz. İstediğin zaman . Ayrıntılar için çerez politikamıza bak.

Konuşmayı metne çevirme

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 dene

Konuş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.

AlanTürZorunluAçıklama
filefileevetSes dosyası: mp3, mp4, m4a, wav, webm, ogg, flac.
modelstringevetBir transkripsiyon modeli kimliği, örn. openai/whisper-1.
languagestringhayırISO-639-1 kodu (en, de); doğruluğu ve hızı artırır.
promptstringhayırKelime dağarcığı ipuçları veya önceki bölümün metni.
response_formatstringhayırDesteklenen yerlerde json (varsayılan), text, srt, vtt, verbose_json.
temperaturenumberhayı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

DurumKodNe zaman
400invalid_bodyMultipart gövde ayrıştırılamadı.
400model_requiredmodel alanı eksik.
402insufficient_balanceUSD bakiyeniz 0.
404model_not_foundBilinmeyen veya devre dışı model kimliği.
413payload_too_largeDosya gövde boyutu limitini aşıyor.

Bkz. Hatalar.