Metinden Sese (TTS)
Bir metin alır, doğal sese çevirir. OpenAI audio/speech formatıyla uyumludur.
Qevron'da iki yerel TTS motoru vardır: hızlı olan blab-fast ve premium olan blab-pro. Diğer bütün TTS kimlikleri bu ikisine yönelen takma adlardır.
Mevcut modeller
| Model | Motor | Örnekleme | Ölçülen gecikme¹ | Fiyat | Nerede kullanılır |
|---|---|---|---|---|---|
blab-fast (varsayılan) | Supertonic v3 | 44,1 kHz | ~0,2–0,5 sn (medyan ~0,3) | $6 / 1M karakter | Gerçek zamanlı ajan, telefon, akış, yüksek hacim |
blab-pro (premium) | VoxCPM2 | 48 kHz | ~0,5–0,8 sn (medyan ~0,7) | $12 / 1M karakter | Tanıtım, sesli kitap, ses klonlama, stil yönlendirme |
tts-1 | OpenAI | — | — | OpenAI tarifesi | Yalnızca OpenAI anahtarlı bir kanal tanımlıysa |
¹ Bu kurulumda, aynı makineden, ~50 karakterlik Türkçe bir cümle için uçtan uca (akışsız) ölçüldü. Uzun metinlerde süre metin uzunluğuyla birlikte artar; ilk sesi erken almak için akışı kullanın.
Takma adlar
Eski model kimlikleri kaldırılmadı, kalıcı takma ad olarak çalışmaya devam eder:
| Yazdığınız | Gerçekte çalışan |
|---|---|
blab-stable | blab-fast |
blab-expressive | blab-pro |
blab-tts | blab-pro |
Kaldırılmış Piper modelleri
blab-fast-tr-naz ve blab-fast-en-emma 2026-08-10 itibarıyla tamamen kaldırıldı ve artık 404 döndürür. Bu kimlikleri kullanan kodu blab-fast + bir voice kimliğine taşıyın.
curl
curl https://app.qevron.ai/v1/audio/speech \
-H "Authorization: Bearer $QEVRON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "blab-fast",
"input": "Merhaba, bu Qevron ile üretilmiş bir sestir.",
"voice": "naz"
}' --output cikti.wavPython (openai SDK)
from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://app.qevron.ai/v1")
resp = client.audio.speech.create(
model="blab-fast",
input="Qevron, kendi modellerinizi tek API ile sunar.",
voice="naz",
)
resp.stream_to_file("cikti.wav")Hangi modeli ne zaman?
blab-fast— varsayılan seçiminiz. Telefon ajanı, canlı sohbet, akışlı okuma, toplu üretim. Milisaniye ölçeğinde üretir, 30 dil destekler.qualityalanı (standard/high/max) difüzyon adım sayısını artırarak hız–kalite dengesini ayarlar.blab-pro— kalite ve ses kimliği öncelikliyse. 48 kHz stüdyo kalitesi, bağlama duyarlı okuma, anında ses klonlama, metin tarifiyle ses tasarımı (voice_description) ve doğal dille stil yönlendirme (instruction). Yaklaşık iki katı gecikme ve iki katı fiyat.tts-1— yalnızca OpenAI anahtarlı bir kanal tanımlıysa; sesler OpenAI'ninkilerdir.
Telefon ve gerçek zaman şeritleri
blab-stable-voice ve blab-stable-live ayrı model kimlikleridir; aynı Supertonic motorunu telefoni ve gerçek zamanlı kullanım için ayrılmış GPU şeritlerine sabitler; böylece toplu işler kuyruğu bloklamaz. Genel amaçlı entegrasyonlarda blab-fast kullanın.
voice parametresi
voice bir ses kimliğidir (id) — dil kodu değildir. Alan opsiyoneldir; vermezseniz motor kendi varsayılan sesini kullanır.
{"model": "blab-pro", "input": "Merhaba dünya", "voice": "sinan"}- Kullanılabilir kimliklerin tamamı: TTS Ses Kadrosu (
blab-proiçin 47,blab-fastiçin 40 künyeli ses). - Canlı liste:
GET /v1/audio/voices?model=blab-fast→ bkz. Audio API. - Kadro motora özeldir:
blab-prokimlikleriblab-fastüzerinde geçerli değildir. - Kendi klonladığınız sesler de aynı listede döner ve yalnızca sizin grubunuza görünür.
Tanınmayan id iki motorda FARKLI davranır
Kadroda olmayan bir voice (ya da eski kullanımdaki "tr" / "en" dil kodları):
| motor | sonuç |
|---|---|
blab-fast (blab-stable) | HTTP 200 — hata vermez, sessizce motorun varsayılan sesiyle okur |
blab-pro (blab-expressive, blab-tts) | HTTP 400 — isteği reddeder |
Sessiz düşüş yalnızca blab-fast tarafındadır ve tehlikeli olan da odur: yanlış bir id gönderdiğinizde istek başarılı görünür ama ses beklediğiniz kişi değildir. Bir motorun kadrosundaki id diğerinde geçerli değildir (naz yalnızca blab-fast, nisan yalnızca blab-pro) — kimlikleri her zaman kullandığınız modelin GET /v1/audio/voices çıktısıyla doğrulayın.
Ses formatı (response_format)
| Format | blab-fast | blab-pro |
|---|---|---|
wav (varsayılan) | ✓ 44,1 kHz | ✓ 48 kHz |
mp3 | ✓ | ✓ |
pcm | ✓ ham int16 | ✓ ham int16 (24 kHz akış) |
opus / aac / flac | ✗ — sessizce WAV döner | ✗ — 400 hata döner |
İki motorun davranışı burada farklıdır: blab-fast desteklemediği bir formatı sessizce WAV'a düşürür, blab-pro ise açıkça hata verir. Dosya uzantısını yanıtın gerçek içeriğine göre seçin, isteğinize göre değil.
Akış (streaming)
stream = client.audio.speech.create(
model="blab-fast",
input="Uzun bir metin...",
voice="naz",
stream=True,
)
with open("cikti.wav", "wb") as f:
for chunk in stream.iter_bytes():
f.write(chunk)Gerçek zamanlı ajanlarda response_format: "pcm" ile ham int16 akışı alıp doğrudan ses aygıtına/telefon hattına besleyebilirsiniz.
Eski stream_format parametresi
v2.2.0 öncesi OpenAI TTS API'sinin orijinal stream_format: "sse" parametresini açıkça vermek gerekiyordu. v2.2.0 ile qevron stream: true (SDK kullanımı) ⇒ stream_format: "sse" otomatik köprüleme yapıyor. Her ikisi de çalışır; stream_format açıkça verilirse o kazanır.
Ses klonlama
blab-pro referans klipten saniyeler içinde klon üretir:
curl -X POST "https://app.qevron.ai/v1/audio/voices?model=blab-pro" \
-H "Authorization: Bearer $QEVRON_API_KEY" \
-F "label=Sunucu Sesi" \
-F "file=@referans.wav"Dönen id değerini doğrudan voice alanına yazarsınız. Referans klip 3–60 saniye olmalıdır. Klibin birebir metnini transcript alanında verirseniz klon prompt-devamı ("ultimate") moduna geçer ve benzerlik keskinleşir. Ayrıntı: Audio API.
Sorun çözme
- Sessiz / bozuk dosya çıkıyor →
Content-Type: application/jsonbaşlığını ekleyin; form-data değil JSON gönderin. - Ses değişmiyor → verdiğiniz
voicekimliği o motorun kadrosunda olmayabilir; sessizce varsayılana düşülmüştür.GET /v1/audio/voices?model=<model>ile doğrulayın. 404 model not found→ kaldırılmış bir kimlik kullanıyorsunuz (blab-fast-tr-naz,blab-fast-en-emma).blab-fast+voicekullanın.opus/flacistedim, WAV geldi →blab-fastdesteklemediği formatı sessizce WAV'a düşürür.- MP3 mi WAV mı? → Varsayılan WAV.
"response_format": "mp3"ekleyerek MP3 alırsınız.
Devam: TTS Ses Kadrosu · Audio API · STT — Sesten Metne