Skip to content

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)

POST/v1/audio/speech

Metni seslendirilmiş bir ses dosyasına çevirir.

İstek parametreleri (JSON)

AlanTipZorunluAçıklama
modelstringTTS modeli (blab-fast, blab-pro ya da bunların takma adları)
inputstringSeslendirilecek metin
voicestringSes kimliği (dil kodu değil). Boş bırakılırsa motorun varsayılan sesi kullanılır — bkz. Ses Kadrosu
response_formatstringwav (varsayılan), mp3, pcm
speednumber0.25–4.0 arası hız
qualitystringYalnızca blab-fast: standard / high / max
instructionstringYalnızca blab-pro: doğal dille stil yönlendirme (örn. "cheerful, slightly faster")
stream_formatstringAkış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

bash
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.wav
python
resp = 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)

GET/v1/audio/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

AlanTipZorunluAçıklama
modelstringTTS model adı (blab-fast, blab-pro, ya da bir takma ad)

Örnek

bash
curl -H "Authorization: Bearer $QEVRON_API_KEY" \
  "https://app.qevron.ai/v1/audio/voices?model=blab-pro"

Yanıt

json
{
  "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üğü

AlanTipHer kayıtta var mı?Açıklama
supports_custombool✓ (kök alan)Motor özel ses (klon) oluşturmayı destekliyor mu
idstring/v1/audio/speech isteğinin voice alanına yazacağınız değer
labelstringGörünen ad (kendi dilinde)
builtinbooltrue = motorun yerleşik sesi, false = kiracı klonu
statusstringhayır"ready". Kapsama tutarsız — aşağıdaki uyarıya bakın
langstringhayırKürate edildiği dil (tr / en). Künyesiz kayıtlarda yok ya da null
lang_keystringhayırlang ile aynı değer ve aynı kapsam
label_enstringhayırİngilizce görünen ad (şu an tüm kayıtlarda label ile aynı)
genderstringhayırM (erkek) veya F (kadın)
agestringhayıryoung / adult / mature
categorystringhayırKürate edildiği kullanım alanı (örn. news, audiobooks)
categoriesstring[]hayırcategory'nin dizi hâli; şu an her zaman tek elemanlı
tagsstring[]hayırTam olarak beş karakter etiketi (örn. warm, crisp)
descriptionstringhayırKısa tanıtım (kendi dilinde)
description_enstringhayı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 M1F5 varsayılan stilleridir; onlarda yalnızca id, label, builtin (ve motor verirse status) bulunur.

Kod yazarken:

  1. lang ve lang_key birebir aynı kapsamdadır — ikisi de yalnızca künyeli kadroda dolu. "lang_key her zaman doludur" doğru değildir; lang_key üzerine kurulan bir dil filtresi lang üzerine kurulanla aynı sesleri düşürür (yani kullanıcının kendi klonlarını gizler). Tek fark biçimsel: blab-fast künyesiz kayıtlarda lang'i null olarak gönderir, lang_key'i ise hiç göndermez.
  2. Dil filtresi "bilinmeyen dil" durumunu ele almalıdırlang yoksa sesi elemeyin.
  3. status alanına güvenmeyinblab-pro her kayıtta gönderir (91/91), blab-fast yalnızca 10/60'ında. "Hazır" rozeti kurmayın; alan yoksa sesi kullanılabilir sayın.

Hatalar

DurumYanıt
model verilmedi400{"error": {"message": "query param 'model' is required"}}
Model yerel bir TTS modeli değil404
Motora ulaşılamadı502

Özel ses klonlama

POST/v1/audio/voices

Bir referans klipten kendi grubunuza ait özel ses üretir. multipart/form-data kullanır. Anında klonlama blab-pro motorunda çalışır.

AlanYerZorunluAçıklama
modelquery ya da formTTS model adı
labelformSesin görünen adı
fileformReferans ses klibi (3–60 sn)
transcriptformKlibin birebir metni. Verilirse blab-pro prompt-devamı ("ultimate") moduna geçer ve benzerlik keskinleşir; diğer motorlar yoksayar
bash
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

DELETE/v1/audio/voices/{id}

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.

bash
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)

POST/v1/audio/transcriptions

Bir ses dosyasını metne döker. multipart/form-data kullanır.

Form alanları

AlanTipZorunluAçıklama
modelstringSTT modeli (örn. solab-stt)
filedosyaSes dosyası (wav, mp3, m4a, ...)
languagestringDil kodu (örn. tr, en)
response_formatstringjson (varsayılan), verbose_json, text

Örnek

bash
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"
python
with open("kayit.wav", "rb") as f:
    resp = client.audio.transcriptions.create(
        model="solab-stt",
        file=f,
        language="tr",
    )
print(resp.text)

Yanıt

json
{ "text": "Merhaba, bu bir test kaydıdır." }

verbose_json kullanırsanız ek olarak language, duration ve segments döner.

Sesten İngilizceye çeviri

POST/v1/audio/translations

Transcriptions ile aynı form alanlarını kullanır, ancak çıktı metni İngilizceye çevrilir. language alanı gerekmez.

Qevron — AI gateway. Arpanet / OpenAI / Anthropic / Gemini uyumlu.