diff --git a/CHANGELOG.md b/CHANGELOG.md index 8efaedc..2d81828 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -224,4 +224,5 @@ - Fix bugs - Update Assistant Model - Add Support Tools to Json +- Update Generate Image Request \ No newline at end of file diff --git a/example/lib/constants.dart b/example/lib/constants.dart index 075ff34..e4697d0 100644 --- a/example/lib/constants.dart +++ b/example/lib/constants.dart @@ -22,4 +22,4 @@ final heroNav = BoxDecoration( spreadRadius: .5) ]); -const kToken = "your-token"; +const kToken = "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"; diff --git a/example/lib/main.dart b/example/lib/main.dart index 708d410..06849f9 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -117,6 +117,20 @@ class _TranslateScreenState extends State { await openAI.onChatCompletion(request: request); } + void generateImage() async { + final request = GenerateImage( + "snake eating cat", + 1, + model: DallE3(), + size: ImageSize.size1024, + responseFormat: Format.url, + quality: "hd" + ); + final response = await openAI.generateImage(request); + + debugPrint('${response?.data?.map((e) => e?.toJson())}'); + } + @override void initState() { openAI = OpenAI.instance.build( @@ -181,7 +195,7 @@ class _TranslateScreenState extends State { icon: Icons.translate, iconSize: 18.0, radius: 46.0, - onClick: _translateEngToThai, + onClick: generateImage, ), ), ], diff --git a/lib/src/model/gen_image/request/generate_image.dart b/lib/src/model/gen_image/request/generate_image.dart index b94c70d..d80396d 100644 --- a/lib/src/model/gen_image/request/generate_image.dart +++ b/lib/src/model/gen_image/request/generate_image.dart @@ -19,6 +19,8 @@ class GenerateImage { final String user; final GenerateImageModel model; + final String? quality; + final String? style; GenerateImage( this.prompt, @@ -27,6 +29,8 @@ class GenerateImage { this.size = ImageSize.size1024, this.responseFormat = Format.url, this.user = "", + this.quality, + this.style, }) : assert(1 <= n && n <= 10, 'n must be between 1 and 10.'); Map toJson() => Map.of({ @@ -36,5 +40,8 @@ class GenerateImage { "size": size?.size, "response_format": responseFormat?.getName(), "user": user, - }); + "quality": quality, + "style": style, + }) + ..removeWhere((key, value) => value == null); }