File size: 798 Bytes
73d4f3c
91b1985
4f1c42b
c7fc3b6
73d4f3c
 
9aa985d
73d4f3c
 
 
 
 
 
 
91b1985
73d4f3c
 
 
 
9aa985d
544d113
4f1c42b
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from services.gemini_client import get_gemini_client
from google.genai import types
import base64

async def generate_tts(text: str) -> bytes:
    client = get_gemini_client()

    response = client.models.generate_content(
        model="gemini-2.5-flash-preview-tts",
        contents=text,
        config=types.GenerateContentConfig(
            response_modalities=["AUDIO"],
            speech_config=types.SpeechConfig(
                voice_config=types.VoiceConfig(
                    prebuilt_voice_config=types.PrebuiltVoiceConfig(voice_name="Kore")
                )
            ),
        ),
    )

    # Decode base64 audio into bytes
    audio_base64 = response.candidates[0].content.parts[0].inline_data.data
    audio_bytes = base64.b64decode(audio_base64)

    return audio_bytes