createRealtimeTranscriptionSession method
Future<RealtimeTranscriptionSession>
createRealtimeTranscriptionSession({
- BetaAudioFormat inputAudioFormat = BetaAudioFormat.pcm16,
- InputAudioTranscription? inputAudioTranscription,
- NoiseReduction? inputAudioNoiseReduction,
- TurnDetection? turnDetection,
- List<
String> ? include, - String? clientSecretAnchor,
- int? clientSecretSeconds,
Implementation
Future<RealtimeTranscriptionSession> createRealtimeTranscriptionSession({
//List<Modality> modalities = const [Modality.audio, Modality.text],
BetaAudioFormat inputAudioFormat = BetaAudioFormat.pcm16,
InputAudioTranscription? inputAudioTranscription,
NoiseReduction? inputAudioNoiseReduction,
TurnDetection? turnDetection,
List<String>? include,
// client-secret
String? clientSecretAnchor,
int? clientSecretSeconds,
}) async {
final payload = {
//'modalities': modalities.map((m) => m.toJson()).toList(),
if (inputAudioFormat != BetaAudioFormat.pcm16) 'input_audio_format': inputAudioFormat.toJson(),
if (inputAudioTranscription != null) 'input_audio_transcription': inputAudioTranscription.toJson(),
if (inputAudioNoiseReduction != null) 'input_audio_noise_reduction': inputAudioNoiseReduction.toJson(),
if (turnDetection != null) 'turn_detection': turnDetection.toJson(),
if (include != null) 'include': include,
if (clientSecretAnchor != null || clientSecretSeconds != null)
'client_secret': {
'expires_after': {
if (clientSecretAnchor != null) 'anchor': clientSecretAnchor,
if (clientSecretSeconds != null) 'seconds': clientSecretSeconds,
}
},
};
final res = await postJson('/realtime/transcription_sessions', payload);
if (res.statusCode == 200) {
return RealtimeTranscriptionSession.fromJson(jsonDecode(res.body));
}
throw OpenAIRequestException.fromHttpResponse(res);
}