speechToTextApi method

Future<String> speechToTextApi(
  1. File content
)

Converts speech to text using an API.

Sends a POST request to the speech-to-text API with the provided content audio file.

Returns a String containing the transcribed text if successful, or 'Failed' if an error occurs.

The function uses multipart/form-data to send the audio file.

Implementation

Future<String> speechToTextApi(File content) async {
  // final uri = Uri.parse("http://10.0.2.2:8440/speech-to-text");
   final uri= Uri.parse('$baseUrl/speech-to-text');

  final request = http.MultipartRequest('POST', uri);
  request.headers['Content-Type'] = 'multipart/form-data';

  request.files.add(await http.MultipartFile.fromPath('audio', content.path));
  request.fields['model'] = 'deepgram_stt';
  request.fields['deepgram_model'] = 'aura-helios-en';

  try {
    final response = await request.send();
    print(response.statusCode);
    if (response.statusCode == 200 || response.statusCode == 307) {
      print("API Call Successful");
      final responseBody = await response.stream.bytesToString();
      return responseBody;
    } else {
      print("Failed to call API: ${response.statusCode}");
      return 'Failed';
    }
  } catch (e) {
    print('Error: $e');
    return 'Failed';
  }
}