createImageEdit method

Future<ImagesResponse?> createImageEdit(
  1. MultipartFile image,
  2. String prompt, {
  3. MultipartFile? mask,
  4. int? n,
  5. String? size,
  6. String? responseFormat,
  7. String? user,
})

Creates an edited or extended image given an original image and a prompt.

Parameters:

  • MultipartFile image (required): The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask is not provided, image must have transparency, which will be used as the mask.

  • String prompt (required): A text description of the desired image(s). The maximum length is 1000 characters.

  • MultipartFile mask: An additional image whose fully transparent areas (e.g. where alpha is zero) indicate where image should be edited. Must be a valid PNG file, less than 4MB, and have the same dimensions as image.

  • int n: The number of images to generate. Must be between 1 and 10.

  • String size: The size of the generated images. Must be one of 256x256, 512x512, or 1024x1024.

  • String responseFormat: The format in which the generated images are returned. Must be one of url or b64_json.

  • String user: A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. Learn more.

Implementation

Future<ImagesResponse?> createImageEdit(MultipartFile image, String prompt, { MultipartFile? mask, int? n, String? size, String? responseFormat, String? user, }) async {
  final response = await createImageEditWithHttpInfo(image, prompt,  mask: mask, n: n, size: size, responseFormat: responseFormat, user: user, );
  if (response.statusCode >= HttpStatus.badRequest) {
    throw ApiException(response.statusCode, await _decodeBodyBytes(response));
  }
  // When a remote server returns no body with a status of 204, we shall not decode it.
  // At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
  // FormatException when trying to decode an empty string.
  if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
    return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'ImagesResponse',) as ImagesResponse;

  }
  return null;
}