Metinden Konuşmaya (TTS)
Metni doğal tonda konuşmaya dönüştürün
GÖNDERİ
/api/v1/tts/generate/
Yapay zeka ses sentezi kullanarak metni konuşmaya dönüştürün. Bir MP3 ses dosyası döndürür.
Kimlik Doğrulama
API anahtarınızı Authorization başlığına ekleyin.
İstek Gövdesi
| Parametre | Gerekli | Tür | Açıklama |
|---|---|---|---|
| text | gerekli | ip | Dönüştürülecek metin (maks. 1500 karakter) |
| output_format | isteğe bağlı | ip | İstenen ses çıkış formatı. codec_sampleRate_bitrate (ör. mp3_22050_32) şeklinde belirtilir. Varsayılan değer mp3_44100_128’dir. Tam liste için aşağıdaki Çıkış Formatları bölümüne bakın. |
| voice_id | gerekli | tam sayı | ...-dan gelen ses kimliği ses listesi. |
| prerecording | isteğe bağlı | tam sayı | 1 (Temel İyileştirme) veya 2 (Yapay Zeka Destekli İyileştirme) |
| voice_settings | isteğe bağlı | dizge (JSON) | Ses özelleştirme seçenekleri |
Desteklenen Çıktı Formatları
output_format parametresi, aşağıdaki değerlerden herhangi biri olabilir:
- MP3: mp3_22050_32, mp3_24000_48, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192
- PCM: pcm_8000, pcm_16000, pcm_22050, pcm_24000, pcm_32000, pcm_44100, pcm_48000
- Eser: opus_48000_32, opus_48000_64, opus_48000_96, opus_48000_128, opus_48000_192
Bu bölüm bir başvuru kaynağı işlevi görür; böylece kullanıcılar, ana talep tablosunu karmaşıklaştırmadan uygun formatı seçebilirler.
Ses Ayarları Nesnesi
| Parametre | Tür | Menzil | Varsayılan | Açıklama |
|---|---|---|---|---|
| temperature | tam sayı | 0 – 100 | 25 | Konuşma değişkenliğini ve ifade gücünü kontrol eder. Düşük değerler daha istikrarlı ve öngörülebilir bir konuşma sağlarken, yüksek değerler çeşitliliği, doğaçlamayı ve yaratıcı ifade biçimlerini artırır. |
| voice_similarity | tam sayı | 0 – 100 | 100 | Üretilen konuşmanın seçilen ses profiliyle ne ölçüde örtüştüğünü belirler. Daha yüksek değerler orijinal ses kimliğini korurken, daha düşük değerler ton ve artikülasyonda daha fazla sapmaya olanak tanır. |
| speed | yüzmek | 0.7 – 1.2 | 1.0 | Konuşma hızını ayarlar. 1,0’ın altındaki değerler anlaşılırlığı artırmak için konuşmayı yavaşlatırken, 1,0’ın üzerindeki değerler konuşma hızını artırır. |
| enable_emotions | mantıksal | false / true | false | Duygusal açıdan etkileyici konuşma üretimini mümkün kılar. Bu özellik etkinleştirildiğinde model; konuşma hızını, tonlamayı ve vurguyu duygusal bağlama göre dinamik olarak kontrol eder. |
| fast_mode | tam sayı | 0, 1, or 2 | 0 |
Ses kalitesinden ödün vererek sentez gecikmesini azaltır.
|
Ses Ayarları Kuralları ve Kısıtlamaları
-
enable_emotions true olarak ayarlandığında, voice_settings içinde aşağıdaki alanlar yer almamalıdır:
voice_similarityspeedfast_mode
- Duygular (emotions) etkin durumdayken bu alanlardan herhangi birini içeren istekler, 400 INVALID_REQUEST hatasıyla reddedilecektir.
Örnek
curl -X POST "https://moknah.io/api/v1/tts/generate/" \
-H "Authorization: "Bearer your_api_key"
-d '{
"text": "مرحبا بك في منصة مكنة",
"voice_id": 1,
"prerecording": 1,
"voice_settings": {
"speed": 1.0,
"temperature": 25
}
}' \
--output speech.mp3
import requests
response = requests.post(
"https://moknah.io/api/v1/tts/generate/",
headers={
"Authorization": "Bearer your_api_key",
"Content-Type": "application/json"
},
json={
"text": "مرحبا بك في منصة مكنة",
"voice_id": 1,
"prerecording": 1,
"voice_settings": {
"speed": 1.0,
"temperature": 25
}
}
)
with open("speech.mp3", "wb") as f:
f.write(response.content)
const response = await fetch(
'https://moknah.io/api/v1/tts/generate/',
{
method: 'POST',
headers: {
'Authorization': 'Bearer your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: 'مرحبا بك في منصة مكنة',
voice_id: 1,
prerecording: 1,
voice_settings: {
speed: 1.0,
temperature: 25
}
})
}
);
const blob = await response.blob();
// Save or play the audio
Yanıt
Şu başlıklara sahip ikili MP3 ses verisi döndürür:
| Üst Bilgi | Açıklama |
|---|---|
Content-Type |
audio/mpeg |
Hatalar
| Durum | Kod | Açıklama |
|---|---|---|
400 |
INVALID_REQUEST | Geçersiz parametreler |
401 |
UNAUTHORIZED | Geçersiz API anahtarı |
402 |
INSUFFICIENT_CREDITS | Yeterli kredi yok |
429 |
RATE_LIMIT_EXCEEDED | Çok fazla istek |
API Desteği
API ile ilgili soru veya sorunlarınız için bizimle şu adresten iletişime geçin: api@moknah.io.