ElevenLabs API ile Metni Sese Dönüştürmek (Text-to-Speech)

kusha · 03 Ağustos 2026 · 4 dk okuma

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.