1+ import 'dart:math' ;
2+
13import 'package:dart_openai/src/core/builder/base_api_url.dart' ;
24import 'package:dart_openai/src/core/models/audio/audio.dart' ;
35import 'package:dart_openai/src/core/networking/client.dart' ;
46
57import 'dart:io' ;
68
9+ import '../../../openai.dart' ;
710import '../../core/base/audio/audio.dart' ;
11+ import '../../core/utils/logger.dart' ;
812
13+ /// {@template openai_audio}
14+ /// This class is responsible for handling all audio requests, such as creating a transcription or translation for a given audio file.
15+ /// {@endtemplate}
916class OpenAIAudio implements OpenAIAudioBase {
1017 @override
1118 String get endpoint => "/audio" ;
1219
20+ /// {@macro openai_audio}
21+ OpenAIAudio () {
22+ OpenAILogger .logEndpoint (endpoint);
23+ }
24+
25+
1326 @override
1427 Future <OpenAIAudioModel > createTranscription ({
1528 required File file,
1629 required String model,
1730 String ? prompt,
18- String ? responseFormat,
31+ OpenAIAudioResponseFormat ? responseFormat,
1932 double ? temperature,
2033 String ? language,
2134 }) async {
@@ -25,7 +38,7 @@ class OpenAIAudio implements OpenAIAudioBase {
2538 body: {
2639 "model" : model,
2740 if (prompt != null ) "prompt" : prompt,
28- if (responseFormat != null ) "response_format" : responseFormat,
41+ if (responseFormat != null ) "response_format" : responseFormat.name ,
2942 if (temperature != null ) "temperature" : temperature.toString (),
3043 if (language != null ) "language" : language,
3144 },
@@ -40,7 +53,7 @@ class OpenAIAudio implements OpenAIAudioBase {
4053 required File file,
4154 required String model,
4255 String ? prompt,
43- String ? responseFormat,
56+ OpenAIAudioResponseFormat ? responseFormat,
4457 double ? temperature,
4558 }) async {
4659 return await OpenAINetworkingClient .fileUpload (
@@ -49,7 +62,7 @@ class OpenAIAudio implements OpenAIAudioBase {
4962 body: {
5063 "model" : model,
5164 if (prompt != null ) "prompt" : prompt,
52- if (responseFormat != null ) "response_format" : responseFormat,
65+ if (responseFormat != null ) "response_format" : responseFormat.name ,
5366 if (temperature != null ) "temperature" : temperature.toString (),
5467 },
5568 onSuccess: (Map <String , dynamic > response) {
0 commit comments