createTranscription method

Future<TranscriptionResponse?> createTranscription(
  1. TranscriptionRequest request
)

Creates a transcription using the provided request.

Returns a TranscriptionResponse or null if the request fails.

Implementation

Future<TranscriptionResponse?> createTranscription(
  TranscriptionRequest request,
) async {
  final audioFilePath = request.audioFilePath;
  final formData = FormData.fromMap({
    'file': kIsWeb
        ? await _createMultipartFileFromUrl(
            url: audioFilePath,
            fileName: '${audioFilePath.split('/').last}.webm')
        : await MultipartFile.fromFile(audioFilePath),
    'model': request.model.modelName,
    'prompt': request.prompt,
    'language': request.language,
  });
  final response = await multipartDataDio.post(
    transcriptionsEndPoint,
    data: formData,
  );
  final data = response.data;
  if (data != null) {
    return TranscriptionResponse.fromJson(data);
  }
  return null;
}