createVariation method

Future<ImageResponse> createVariation(
  1. ImageVariationRequest request
)

Creates variations of an existing image.

Generates images that are similar in style and content to the provided image.

Parameters

  • request - The image variation request with source image.

Returns

An ImageResponse containing the image variations.

Example

final imageBytes = File('original.png').readAsBytesSync();

final response = await client.images.createVariation(
  ImageVariationRequest(
    image: imageBytes,
    imageFilename: 'original.png',
    n: 3, // Generate 3 variations
    size: ImageSize.size512x512,
  ),
);

Implementation

Future<ImageResponse> createVariation(ImageVariationRequest request) async {
  ensureNotClosed?.call();
  final httpRequest = _createVariationMultipartRequest(request);
  httpRequest.headers.addAll(requestBuilder.buildMultipartHeaders());
  final response = await interceptorChain.execute(httpRequest);
  final json = jsonDecode(response.body) as Map<String, dynamic>;
  return ImageResponse.fromJson(json);
}