generate method
Future<ImageGenerationResponse>
generate({
- required ImageGenerationRequest request,
- ImageGenerationOptions? options,
- CancellationToken? cancellationToken,
override
Generates images based on the given request.
Implementation
@override
Future<ImageGenerationResponse> generate({
required ImageGenerationRequest request,
ImageGenerationOptions? options,
CancellationToken? cancellationToken,
}) async {
if (_logger.isEnabled(LogLevel.debug)) {
_logger.logDebug('generate invoked.');
}
if (_logger.isEnabled(LogLevel.trace)) {
_logger.logTrace(
'generate invoked. '
'Prompt: ${request.prompt ?? 'null'}. '
'Options: '
'${options != null ? _asJson(_optionsToMap(options)) : 'null'}.',
);
}
try {
final result = await super.generate(
request: request,
options: options,
cancellationToken: cancellationToken,
);
if (_logger.isEnabled(LogLevel.debug)) {
_logger.logDebug('generate completed.');
}
if (_logger.isEnabled(LogLevel.trace)) {
_logger.logTrace(
'generate completed. '
'Contents count: ${result.contents.length}.',
);
}
return result;
} on OperationCanceledException {
if (_logger.isEnabled(LogLevel.debug)) {
_logger.logDebug('generate canceled.');
}
rethrow;
} catch (e) {
_logger.logError('generate failed.', error: e);
rethrow;
}
}