Entegrasyon rehberleri · 2026-08-28

Gemini 2.5 Pro Preview TTS ile Türkçe ses üretimi

Gemini 2.5 Pro Preview TTS ile LLMTR üzerinden Türkçe ses üretin: input ve voice alanları, Python isteği, MIME kontrolü ve PCM dosyasını doğru kaydetme.

Gemini 2.5 Pro Preview TTS ile Türkçe ses üretimi konusu için üç ayrı bilgi kutusunu karşılaştıran veya sıralayan açıklayıcı LLMTR rehber şeması.

Türkçe ses için ne gönderilir?

Gemini 2.5 Pro Preview TTS, Türkçe metni ses çıktısına dönüştürür. LLMTR üzerinden POST /v1/audio/speech çağrısında google/gemini-2.5-pro-preview-tts model kimliğini, input metnini ve voice ses adını birlikte gönderirsiniz. Google’ın dil listesinde Türkçe bulunur; girdi dili otomatik algılanır. İlk entegrasyonu kısa, tek sesli bir anonsla kurabilirsiniz.

Bu TTS sürümü metin alır ve ses üretir. Ses kaydını yazıya dökmek, mikrofondan konuşmak veya araç çağırmak için kullanılmaz. Türkçe desteği her özel adın kusursuz okunacağını garanti etmez; yayımlamadan önce kendi metninizi dinleyerek kontrol edin.

İstek alanlarını doğru kurun

LLMTR_BASE_URL değişkenini /v1 bölümünü içeren tam API taban adresine, LLMTR_API_KEY değişkenini LLMTR anahtarınıza ayarlayın. Örnek yalnızca /audio/speech yolunu ekler. Google’ın doğrudan API anahtarı bu istekte kullanılmaz; kimlik doğrulama LLMTR hesabınıza aittir.

Bu modelde voice zorunludur; boş bırakıldığında istek reddedilir. Kore bir başlangıç seçimidir, Türkçeye ayrılmış ayrı bir model değildir. Aynı metni farklı seslerle karşılaştırırken diğer yönergeleri sabit tutun.

İlk Türkçe ses isteğinde alanların anlamı
AlanKullanımDikkat
modelgoogle/gemini-2.5-pro-preview-ttsTTS kimliğini sohbet modeliyle değiştirmeyin.
inputTürkçe metin ve kısa okuma yönergesiBoş metin gönderilemez.
voiceÖrneğin KoreBu model için boş olmayan bir ses adı gerekir.
languageBu örnekte gönderilmezLLMTR bu alanı Google TTS çağrısına iletmez.
speed / response_formatBu örnekte gönderilmezBu yolda sayısal hız veya MP3 dönüşümü sağlamaz.

Python ile ilk isteği gönderin

Aşağıdaki örnek Python standart kütüphanesini kullanır; ek SDK gerektirmez. Anahtarları tarayıcıya gömmeyin ve istek metnini uygulama loglarına yazmayın. Örnekteki anons yalnızca nasıl istek hazırlanacağını gösterir; üretilmiş veya ölçülmüş bir model yanıtı değildir.

Bu kod yazı hazırlanırken canlı çalıştırılmadı ve ücretli ses üretilmedi. Kendi hesabınızla çalıştırmanız ücretli kullanım başlatabilir. İlk denemede kişisel bilgi içermeyen kısa bir metin ve kullanıma uygun hesap bakiyesi seçin.

MIME bilgisini koruyarak ses baytlarını kaydetme

import json
import os
from pathlib import Path
from urllib.error import HTTPError
from urllib.request import Request, urlopen

base_url = os.environ["LLMTR_BASE_URL"].rstrip("/")
payload = {
    "model": "google/gemini-2.5-pro-preview-tts",
    "input": (
        "Aşağıdaki metni Türkçe, sakin ve anlaşılır biçimde oku: "
        "Merhaba. Sesli rehbere hoş geldiniz. "
        "Başlamak için ekrandaki devam düğmesini seçin."
    ),
    "voice": "Kore",
}
request = Request(
    base_url + "/audio/speech",
    data=json.dumps(payload, ensure_ascii=False).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["LLMTR_API_KEY"],
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urlopen(request, timeout=120) as response:
        mime_type = response.headers.get("Content-Type", "")
        audio = response.read()
except HTTPError as error:
    raise SystemExit(f"HTTP {error.code}: request failed") from None

media_type = mime_type.split(";", 1)[0].strip().lower()
if not audio or not media_type.startswith("audio/"):
    raise SystemExit("No usable audio response")
if audio[:4] == b"RIFF" and audio[8:12] == b"WAVE":
    suffix = ".wav"
elif media_type in {"audio/l16", "audio/pcm"}:
    suffix = ".pcm"
else:
    suffix = ".bin"
output = Path("turkce-ses" + suffix)
output.write_bytes(audio)
output.with_suffix(output.suffix + ".mime.txt").write_text(
    mime_type, encoding="utf-8"
)
print(output.name, mime_type)

PCM ile WAV dosyasını ayırın

LLMTR bu Google TTS yolunda ses verisini dönüştürmeden, sağlayıcının bildirdiği MIME türüyle döndürür. Google, Vertex AI ses çıktısını WAV başlığı bulunmayan PCM olarak açıklar. Bu yüzden dosya adına .wav veya .mp3 yazmak, veriyi o biçime dönüştürmez.

Örnek gerçek RIFF/WAVE başlığını görürse .wav, PCM MIME türünü görürse .pcm kullanır. Tanımadığı ses biçimini .bin olarak korur; bunu oynatılabilir dosya kabul etmez. Tam Content-Type değeri ayrı bir metin dosyasına yazılır. Ham PCM’yi oynatmak veya başka biçime çevirmek için örnekleme hızı, kanal sayısı ve örnek kodlaması doğrulanmalıdır; kod bu dönüşümü yapmaz.

Türkçe anonsu dinleyerek kabul edin

İlk değerlendirmede kısa yönerge kullanın: Türkçe, sakin ve anlaşılır biçimde oku. Bir cümlede birçok duygu veya birbiriyle çelişen tempo talebi eklemeyin. Yönergenin yanında gerçekten okunacak metni açıkça ayırın. Sonucu dinlemeden yalnızca dosyanın oluşmasına bakarak entegrasyonu tamamlanmış saymayın.

Bir ses seçiminde sorun gördüğünüzde önce aynı metni yeniden inceleyin. Yazım yanlışını, eksik noktalama işaretini ve belirsiz kısaltmayı düzeltmek, ses adını rastgele değiştirmekten daha açıklanabilir bir denemedir.

  • Türkçe karakterleri koruyun; ı, i, ş ve ğ içeren sözcükleri kontrol edin.
  • Düğme adının ve yönlendirme cümlesinin ekrandaki metinle aynı olduğundan emin olun.
  • Son cümlenin tamamını, gereksiz tekrarları ve yönergenin yanlışlıkla okunup okunmadığını dinleyin.

Hataları ve kapsamı doğru yorumlayın

400 yanıtında önce input ve voice alanlarını kontrol edin. Başarılı HTTP yanıtında ise boş gövdeyi veya ses dışındaki içerik türünü geçerli kayıt saymayın. Örnek hata halinde yanıt gövdesini yazdırmaz; böylece istem içeriğinin hata çıktısına taşınmasını önler.

Google belgelerindeki çok konuşmacı örneklerini bu LLMTR isteğine aynen kopyalamayın: burada iki ayrı ses yapılandırması gösterilmiyor. Ses klonlama da vaat edilmiyor. Maliyet hesabında TTS ses çıktısını sohbet modelinin metin çıktısı tarifesiyle karıştırmayın; gerçek kullanım kaydını ayrıca inceleyin.

Sık sorulan sorular

Türkçe için language: tr göndermeli miyim?

Bu LLMTR yolunda gerekmez; language Google TTS isteğine aktarılmaz. Türkçe metni input içinde gönderin. Google belgeleri girdi dilinin otomatik algılandığını belirtir.

Neden voice alanı olmadan çalışmıyor?

Gemini TTS çağrısı açık bir ses seçimi gerektirir. Kore gibi desteklenen bir adı voice alanına yazın; yalnızca model ve input göndermek yeterli değildir.

Çıktıyı doğrudan MP3 olarak indirebilir miyim?

Bu endpoint için MP3 dönüşümü gösterilmemiştir. Dönen Content-Type ve gerçek dosya yapısını kontrol edin. MP3 gerekiyorsa uygun bir ses dönüştürme adımını ayrıca uygulayın.

Örnekteki dosyayı dinleyerek doğruladınız mı?

Hayır. Bu yazıda canlı ses üretimi yapılmadı. Kod sözleşme incelemesine dayanır; ses kalitesi, telaffuz ve hesabınızdaki erişim ayrıca denenmelidir.

İlgili yazılar