createImage method

Future<ImagesResult> createImage({
  1. required String prompt,
  2. ImageGenerationBackground? background,
  3. String? model,
  4. ImageModeration? moderation,
  5. int? n,
  6. int? outputCompression,
  7. ImageOutputFormat? outputFormat,
  8. ImageOutputQuality? quality,
  9. ImageResponseFormat? responseFormat,
  10. ImageOutputSize? size,
  11. ImageStyle? style,
  12. String? user,
})

Implementation

Future<ImagesResult> createImage({
  required String prompt,
  ImageGenerationBackground? background,
  String? model,
  ImageModeration? moderation,
  int? n,
  int? outputCompression,
  ImageOutputFormat? outputFormat,
  ImageOutputQuality? quality,
  ImageResponseFormat? responseFormat,
  ImageOutputSize? size,
  ImageStyle? style,
  String? user,
}) async {
  final resp = await postJson('/images/generations', {
    'prompt': prompt,
    if (background != null) 'background': background.toJson(),
    if (model != null) 'model': model,
    if (moderation != null) 'moderation': moderation.toJson(),
    if (n != null) 'n': n,
    if (outputCompression != null) 'output_compression': outputCompression,
    if (outputFormat != null) 'output_format': outputFormat.toJson(),
    if (quality != null) 'quality': quality.toJson(),
    if (responseFormat != null) 'response_format': responseFormat.toJson(),
    if (size != null) 'size': size.toJson(),
    if (style != null) 'style': style.toJson(),
    if (user != null) 'user': user,
  });

  if (resp.statusCode == 200) {
    return ImagesResult.fromJson(jsonDecode(resp.body));
  }
  throw OpenAIRequestException.fromHttpResponse(resp);
}