Audio
Ses uç noktaları dört işlem sunar: metinden sese (TTS), ses (voice) yönetimi, sesten metne (STT) ve sesten İngilizceye çeviri.
Metinden sese (TTS)
Metni seslendirilmiş bir ses dosyasına çevirir.
İstek parametreleri (JSON)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
model | string | ✓ | TTS modeli (blab-fast, blab-pro ya da bunların takma adları) |
input | string | ✓ | Seslendirilecek metin |
voice | string | Ses kimliği (dil kodu değil). Boş bırakılırsa motorun varsayılan sesi kullanılır — bkz. Ses Kadrosu | |
response_format | string | wav (varsayılan), mp3, pcm | |
speed | number | 0.25–4.0 arası hız | |
quality | string | Yalnızca blab-fast: standard / high / max | |
instruction | string | Yalnızca blab-pro: doğal dille stil yönlendirme (örn. "cheerful, slightly faster") | |
stream_format | string | Akışlı çıktı için ("sse"); stream: true ile otomatik köprülenir |
voice doğrulanmaz
Tanınmayan bir voice kimliği hata döndürmez — istek 200 döner ve motorun varsayılan sesi gelir. Kimlikleri aşağıdaki listeleme ucuyla doğrulayın. opus / aac / flac bu motorlarda desteklenmez: blab-fast sessizce WAV'a düşer, blab-pro 400 verir.
Örnek
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.wavresp = client.audio.speech.create(
model="blab-fast",
input="Merhaba, bu Qevron ile üretilmiş bir sestir.",
voice="naz",
)
resp.stream_to_file("cikti.wav")Yanıt, ikili (binary) ses verisidir (varsayılan Content-Type: audio/wav). Akış kullanırsanız ses parçaları SSE olarak speech.audio.delta olayları hâlinde gelir.
Ses listeleme (voices)
Bir TTS modelinin kullanabileceği sesleri döndürür: motorun yerleşik kadrosu artı sizin kendi klonlarınız. Başka kiracıların klonları listede görünmez.
Sorgu parametreleri
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
model | string | ✓ | TTS model adı (blab-fast, blab-pro, ya da bir takma ad) |
Örnek
curl -H "Authorization: Bearer $QEVRON_API_KEY" \
"https://app.qevron.ai/v1/audio/voices?model=blab-pro"Yanıt
{
"supports_custom": true,
"voices": [
{
"id": "sinan",
"label": "Sinan",
"builtin": true,
"lang": "tr",
"status": "ready",
"lang_key": "tr",
"label_en": "Sinan",
"gender": "M",
"age": "mature",
"category": "video-narration",
"categories": ["video-narration"],
"tags": ["professional", "calm", "crisp", "narrative", "raspy"],
"description": "Sinan, haber bülteni ve resmi duyurular için tok, net ve güven veren bir spiker sesi.",
"description_en": "Haber bülteni ve resmi duyurular için tok, net ve güven veren bir spiker sesi."
}
]
}Alan sözlüğü
| Alan | Tip | Her kayıtta var mı? | Açıklama |
|---|---|---|---|
supports_custom | bool | ✓ (kök alan) | Motor özel ses (klon) oluşturmayı destekliyor mu |
id | string | ✓ | /v1/audio/speech isteğinin voice alanına yazacağınız değer |
label | string | ✓ | Görünen ad (kendi dilinde) |
builtin | bool | ✓ | true = motorun yerleşik sesi, false = kiracı klonu |
status | string | hayır | "ready". Kapsama tutarsız — aşağıdaki uyarıya bakın |
lang | string | hayır | Kürate edildiği dil (tr / en). Künyesiz kayıtlarda yok ya da null |
lang_key | string | hayır | lang ile aynı değer ve aynı kapsam |
label_en | string | hayır | İngilizce görünen ad (şu an tüm kayıtlarda label ile aynı) |
gender | string | hayır | M (erkek) veya F (kadın) |
age | string | hayır | young / adult / mature |
category | string | hayır | Kürate edildiği kullanım alanı (örn. news, audiobooks) |
categories | string[] | hayır | category'nin dizi hâli; şu an her zaman tek elemanlı |
tags | string[] | hayır | Tam olarak beş karakter etiketi (örn. warm, crisp) |
description | string | hayır | Kısa tanıtım (kendi dilinde) |
description_en | string | hayır | İngilizce tanıtım (best-effort; birkaç kayıtta hâlâ Türkçe metin döner) |
Değerlerin tam listesi ve Türkçe karşılıkları: TTS Ses Kadrosu.
Kapsama uyarısı — künyeli ve künyesiz kayıtlar
Listedeki her ses künye taşımaz. Yalnızca kürate edilmiş kadro gender / age / category / tags / description alanlarını taşır (blab-pro: 91 kayıttan 47'si, blab-fast: 60 kayıttan 40'ı). Kalanlar kiracı klonları ve blab-fast'in jenerik M1–F5 varsayılan stilleridir; onlarda yalnızca id, label, builtin (ve motor verirse status) bulunur.
Kod yazarken:
langvelang_keybirebir aynı kapsamdadır — ikisi de yalnızca künyeli kadroda dolu. "lang_keyher zaman doludur" doğru değildir;lang_keyüzerine kurulan bir dil filtresilangüzerine kurulanla aynı sesleri düşürür (yani kullanıcının kendi klonlarını gizler). Tek fark biçimsel:blab-fastkünyesiz kayıtlardalang'inullolarak gönderir,lang_key'i ise hiç göndermez.- Dil filtresi "bilinmeyen dil" durumunu ele almalıdır —
langyoksa sesi elemeyin. statusalanına güvenmeyin —blab-proher kayıtta gönderir (91/91),blab-fastyalnızca 10/60'ında. "Hazır" rozeti kurmayın; alan yoksa sesi kullanılabilir sayın.
Hatalar
| Durum | Yanıt |
|---|---|
model verilmedi | 400 — {"error": {"message": "query param 'model' is required"}} |
| Model yerel bir TTS modeli değil | 404 |
| Motora ulaşılamadı | 502 |
Özel ses klonlama
Bir referans klipten kendi grubunuza ait özel ses üretir. multipart/form-data kullanır. Anında klonlama blab-pro motorunda çalışır.
| Alan | Yer | Zorunlu | Açıklama |
|---|---|---|---|
model | query ya da form | ✓ | TTS model adı |
label | form | ✓ | Sesin görünen adı |
file | form | ✓ | Referans ses klibi (3–60 sn) |
transcript | form | Klibin birebir metni. Verilirse blab-pro prompt-devamı ("ultimate") moduna geçer ve benzerlik keskinleşir; diğer motorlar yoksayar |
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"Oluşan sesin kimliği grubunuzla öneklenir (g<grup>__<etiket>) — böylece kiracılar birbirinin seslerini göremez ve adlar çakışmaz. voice alanında dönen id'yi olduğu gibi kullanın, verdiğiniz label'ı değil.
Ses silme
Kendi oluşturduğunuz bir özel sesi siler. model sorgu parametresi zorunludur. Yalnızca kendi grubunuzun sesleri silinebilir; yerleşik sesler ve başka kiracıların sesleri 403 döndürür. Geçici klonları (örn. dublajda konuşucu başına üretilenler) temizlemek için kullanılır.
curl -X DELETE "https://app.qevron.ai/v1/audio/voices/gacme__sunucu_sesi?model=blab-pro" \
-H "Authorization: Bearer $QEVRON_API_KEY"Sesten metne (STT)
Bir ses dosyasını metne döker. multipart/form-data kullanır.
Form alanları
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
model | string | ✓ | STT modeli (örn. solab-stt) |
file | dosya | ✓ | Ses dosyası (wav, mp3, m4a, ...) |
language | string | Dil kodu (örn. tr, en) | |
response_format | string | json (varsayılan), verbose_json, text |
Örnek
curl https://app.qevron.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $QEVRON_API_KEY" \
-F "model=solab-stt" \
-F "file=@kayit.wav" \
-F "language=tr"with open("kayit.wav", "rb") as f:
resp = client.audio.transcriptions.create(
model="solab-stt",
file=f,
language="tr",
)
print(resp.text)Yanıt
{ "text": "Merhaba, bu bir test kaydıdır." }verbose_json kullanırsanız ek olarak language, duration ve segments döner.
Sesten İngilizceye çeviri
Transcriptions ile aynı form alanlarını kullanır, ancak çıktı metni İngilizceye çevrilir. language alanı gerekmez.