createImageVariationWithHttpInfo method

Future<Response> createImageVariationWithHttpInfo(
  1. MultipartFile image, {
  2. int? n,
  3. String? size,
  4. String? responseFormat,
  5. String? user,
})

Creates a variation of a given image.

Note: This method returns the HTTP Response.

Parameters:

  • MultipartFile image (required): The image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square.

  • 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<Response> createImageVariationWithHttpInfo(MultipartFile image, { int? n, String? size, String? responseFormat, String? user, }) async {
  // ignore: prefer_const_declarations
  final path = r'/images/variations';

  // ignore: prefer_final_locals
  Object? postBody;

  final queryParams = <QueryParam>[];
  final headerParams = <String, String>{};
  final formParams = <String, String>{};

  const contentTypes = <String>['multipart/form-data'];

  bool hasFields = false;
  final mp = MultipartRequest('POST', Uri.parse(path));
  if (image != null) {
    hasFields = true;
    mp.fields[r'image'] = image.field;
    mp.files.add(image);
  }
  if (n != null) {
    hasFields = true;
    mp.fields[r'n'] = parameterToString(n);
  }
  if (size != null) {
    hasFields = true;
    mp.fields[r'size'] = parameterToString(size);
  }
  if (responseFormat != null) {
    hasFields = true;
    mp.fields[r'response_format'] = parameterToString(responseFormat);
  }
  if (user != null) {
    hasFields = true;
    mp.fields[r'user'] = parameterToString(user);
  }
  if (hasFields) {
    postBody = mp;
  }

  return apiClient.invokeAPI(
    path,
    'POST',
    queryParams,
    postBody,
    headerParams,
    formParams,
    contentTypes.isEmpty ? null : contentTypes.first,
  );
}