ElevenLabs, gerçekçi yapay zeka sesleriyle metin okuma (text-to-speech) hizmeti sunan bir platformdur. Bu derste Python'dan ElevenLabs API'sini kullanarak bir metni seslendirip MP3 olarak kaydedeceğiz.
API Anahtarını Almak
elevenlabs.io üzerinden bir hesap açıp profil ayarlarınızdan API anahtarınızı alın. Ücretsiz plan, aylık belirli bir karakter kotası sunar (kayıt sırasında gösterilen limit dahilinde).
Kurulum
pip install elevenlabs
Metni Seslendirmek
from elevenlabs.client import ElevenLabs
client = ElevenLabs(api_key="API_ANAHTARINIZ")
ses = client.text_to_speech.convert(
text="Merhaba, bu ElevenLabs ile oluşturulmuş bir seslendirmedir.",
voice_id="21m00Tcm4TlvDq8ikWAM",
model_id="eleven_multilingual_v2",
)
voice_id, kullanmak istediğiniz sesin kimliğidir — ElevenLabs arayüzündeki Voice Library'den istediğiniz sesin ID'sini kopyalayabilirsiniz.model_id="eleven_multilingual_v2", Türkçe dahil birçok dili destekleyen çok dilli modeldir.
Sonucu MP3 Dosyasına Kaydetmek
convert(...) fonksiyonu ses verisini parça parça (bir generator olarak) döndürür — bunu birleştirip bir dosyaya yazmanız gerekir:
ses_baytlari = b"".join(ses)
with open("seslendirme.mp3", "wb") as f:
f.write(ses_baytlari)
print("Seslendirme kaydedildi.")
"wb" modu, dosyayı binary (ikili) yazma modunda açar — ses/görüntü gibi metin olmayan veriler için "w" yerine mutlaka "wb" kullanılmalıdır.
Nerelerde Kullanılabilir?
Bu API'yi; otomatik video seslendirme, sesli bildirim sistemleri veya bir metni okuyan erişilebilirlik araçları gibi projelerde entegre edebilirsiniz. Aylık karakter kotasına dikkat ederek, özellikle uzun metinleri toplu seslendirirken kota tüketiminizi takip etmeniz faydalı olur.
Sırada Ne Var?
Sırada, Telegram botunuza gelen kullanıcıların kimliklerini bir veritabanında toplayıp, onlara toplu (broadcast) mesaj göndermeyi göreceğiz.