API belgeleri

Kurdî TTS API'si Kurmancî metni WAV sese çevirir. API erişimi Başlangıç ve Pro paketlerinde vardır.

Kimlik doğrulama

Panelin API anahtarları bölümünden anahtar oluşturun ve her istekte Authorization: Bearer başlığıyla gönderin. Anahtar yalnız oluşturulduğu anda gösterilir. Anahtarı tarayıcı veya mobil uygulama koduna koymayın, kendi sunucunuzdan kullanın.

Ses üretme

POST /api/v1/tts

AlanTürAçıklama
textmetin, zorunluLatin alfabesiyle Kurmancî metin. En fazla 1.000 karakter.
voicemetinSes kimliği. Varsayılan erkek2.
speedsayı0.75 ile 1.4 arası konuşma hızı. Varsayılan 1.

Başarılı yanıt audio/wav (22.050 Hz, 16 bit, tek kanal) döner. X-Characters-Remaining başlığı kalan aylık karakteri, X-Synthetic-Voice başlığı sesin yapay olduğunu bildirir.

cURL

curl -X POST https://kurditts.com/api/v1/tts \
  -H "Authorization: Bearer $KURDI_TTS_ANAHTARI" \
  -H "Content-Type: application/json" \
  -d '{"text": "Roj baş, tu çawa yî?", "voice": "erkek2", "speed": 1}' \
  --output ses.wav

Python

import os, requests

yanit = requests.post(
    "https://kurditts.com/api/v1/tts",
    headers={"Authorization": f"Bearer {os.environ['KURDI_TTS_ANAHTARI']}"},
    json={"text": "Roj baş, tu çawa yî?", "voice": "kadin1"},
    timeout=120,
)
yanit.raise_for_status()
open("ses.wav", "wb").write(yanit.content)

Node.js

const yanit = await fetch("https://kurditts.com/api/v1/tts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KURDI_TTS_ANAHTARI}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ text: "Roj baş, tu çawa yî?", voice: "erkek2" }),
});
if (!yanit.ok) throw new Error((await yanit.json()).error.message);
const ses = Buffer.from(await yanit.arrayBuffer());

Sesler

GET /api/v1/sesler sesleri listeler, anahtar gerektirmez.

KimlikAdTür
kadin1Kadın 1Kadın
kadin2Kadın 2Kadın
erkek1Erkek 1Erkek
erkek2Erkek 2Erkek

Sınırlar

Başlangıç paketinde dakikada 20, Pro paketinde dakikada 60 istek yapılabilir. Uzun metinleri cümle sonlarından bölerek gönderin. Yoğunlukta istekler sıraya girer, bu yüzden en az 120 saniyelik zaman aşımı kullanın.

Hatalar

{
  "error": {
    "code": "aylik_kota",
    "message": "Aylık karakter kotanız doldu.",
    "limit": 100000
  }
}
DurumKodAnlamı
400gecersiz_istekEksik ya da hatalı alan
401gecersiz_anahtarAnahtar yanlış ya da iptal edilmiş
402aylik_kotaAylık karakter kotası doldu
403api_paket_gerekliPaket API erişimi içermiyor
413metin_uzunMetin istek başına sınırı aşıyor
429hiz_siniriDakikalık istek sınırı aşıldı
503servis_hazir_degilSes hizmeti geçici olarak hazır değil, karakterler iade edildi

Yapay ses bildirimi

API ile üretilen sesi dinleyicilere sunarken sesin yapay olduğunu belirtmelisiniz. Ayrıntılar için yapay ses beyanına bakın.

API belgeleri | Kurdî TTS