create method

Transcribes audio into text.

Supports multiple audio formats including MP3, MP4, MPEG, MPGA, M4A, WAV, and WebM.

Parameters

  • request - The transcription request with audio file.

Returns

A TranscriptionResponse with the transcribed text.

Example

final audioBytes = File('audio.mp3').readAsBytesSync();

final response = await client.audio.transcriptions.create(
  TranscriptionRequest(
    file: audioBytes,
    filename: 'audio.mp3',
    model: 'whisper-1',
    language: 'en',
  ),
);

print(response.text);

Implementation

Future<TranscriptionResponse> create(TranscriptionRequest request) async {
  ensureNotClosed?.call();
  final httpRequest = _createMultipartRequest(request);
  httpRequest.headers.addAll(requestBuilder.buildMultipartHeaders());
  final response = await interceptorChain.execute(httpRequest);
  final json = jsonDecode(response.body) as Map<String, dynamic>;
  return TranscriptionResponse.fromJson(json);
}