createVariation method
Create variations of an existing image
Creates variations of a given image without requiring a text prompt.
Implementation
@override
Future<ImageGenerationResponse> createVariation(
ImageVariationRequest request) async {
// Prepare multipart form data for image variation
final formData = <String, dynamic>{
if (request.model != null) 'model': request.model,
if (request.count != null) 'n': request.count,
if (request.size != null) 'size': request.size,
if (request.responseFormat != null)
'response_format': request.responseFormat,
if (request.user != null) 'user': request.user,
};
// Add image data
if (request.image.data != null) {
formData['image'] = request.image.data!;
} else {
throw const InvalidRequestError(
'Image data is required for image variation',
);
}
final responseData =
await _postMultipartForm('images/variations', formData);
return _parseImageResponse(responseData, request.model);
}