createTranscription method
Future<TranscriptionResponse>
createTranscription(
- TranscriptionRequest request, {
- CancellationToken? cancellationToken,
Implementation
Future<TranscriptionResponse> createTranscription(
TranscriptionRequest request, {
CancellationToken? cancellationToken,
}) async {
final file = request.file;
final bufferData = request.bufferedBytes;
final fields = request
.toJson()
.map((key, value) => MapEntry(key, value.toString()))
..remove("file");
final r = MultipartRequest(
'POST', Uri.parse("${config.baseUrl}/$kTranscriptionEndpoint"))
..fields.addAll(fields);
if (file != null) {
r.files.add(await MultipartFile.fromPath("file", file));
} else if (bufferData != null) {
r.files.add(MultipartFile.fromBytes(
'file',
bufferData.data,
filename: 'audiofile.${bufferData.format}',
));
} else {
throw Exception("file or bytesArray must be not null");
}
final data = await sendFormRequest(r);
return TranscriptionResponse.fromJson(data);
}