Ç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şma sentezi

Uç noktalar

Konuşma sentezi

POST /audio/speech ile metni doğal sesli konuşmaya (TTS) çevirin; ses, format ve hız parametreleri, ham ses yanıtı ve karakter başına fiyatlandırma.

Playground’da dene

Metni doğal sesli konuşmaya çevirin (text-to-speech, TTS). Uç nokta OpenAI'ın POST /audio/speech yapısını izler ve ham ses baytlarını döndürür; bu yüzden client.audio.speech.create(...) değişiklik yapmadan çalışır.

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

İstek

ParametreTürZorunluAçıklama
modelstringevetBir konuşma modeli kimliği, örn. openai/gpt-4o-mini-tts.
inputstringevetSeslendirilecek metin.
voicestringevetSes adı, örn. alloy, nova, verse. Sesler modele göre değişir (model sayfasına bakın).
response_formatstringhayırDesteklenen yerlerde mp3 (varsayılan), wav, opus, aac, flac, pcm.
speednumberhayırOynatma hızı, genellikle 0.25–4.0.
instructionsstringhayırBunu kabul eden modeller için stil yönergesi ("sakin, sıcak bir ton").

Örnek

import { writeFile } from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const audio = await client.audio.speech.create({
  "model": "openai/gpt-4o-mini-tts",
  "input": "Hello from api14! One API for every model.",
  "voice": "alloy",
  "response_format": "mp3"
});
await writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));

Yanıt

Gövde, ses dosyasının kendisidir ve eşleşen bir Content-Type ile gelir (örn. audio/mpeg). Diske kaydedin veya bir oynatıcıya stream edin:

curl https://api14.com/api/v1/audio/speech \
  -H "Authorization: Bearer sk-api14-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-4o-mini-tts","input":"Hello from api14!","voice":"alloy"}' \
  --output hello.mp3

Hatalar yine OpenAI hata yapısında JSON olarak döner; bu yüzden dosyayı yazmadan önce durum kodunu kontrol edin.

Fiyatlandırma

Konuşma, modelin listelenen fiyatı üzerinden girdi karakteri başına faturalandırılır ve "$ / 1M karakter" olarak gösterilir. 1 milyon karakter başına 15 $ fiyatlı bir modelde 1.000 karakterlik bir paragraf 0,015 $ tutar.

Konuşma modellerini listeleme

curl "https://api14.com/api/v1/models?category=speech"

Hatalar

DurumKodNe zaman
400model_required / invalid_jsonmodel eksik veya gövde hatalı.
402insufficient_balanceUSD bakiyeniz 0.
403model_not_allowed / plan_requiredAnahtar izin listesi veya plan modeli dışlıyor.
404model_not_foundBilinmeyen veya devre dışı model kimliği.
429rate_limitedDakikalık istek limiti aşıldı.

Desteklenmeyen sesler veya formatlar sağlayıcı tarafında reddedilir ve aynen iletilir. Bkz. Hatalar.