generateSpeech method

  1. @override
Future<GoogleTTSResponse> generateSpeech(
  1. GoogleTTSRequest request
)
override

Generate speech from text using Google's native TTS

request - The TTS request configuration

Returns audio data and metadata or throws an LLMError

Implementation

@override
Future<GoogleTTSResponse> generateSpeech(GoogleTTSRequest request) async {
  try {
    final requestBody = request.toJson();

    // Use the appropriate TTS model if not specified
    final model = request.model ?? _config.model;

    final response = await _client.post(
      'models/$model:generateContent',
      data: requestBody,
    );

    return GoogleTTSResponse.fromApiResponse(
        response.data as Map<String, dynamic>);
  } catch (e) {
    throw GenericError('Google TTS generation failed: $e');
  }
}