generate method

  1. @override
Future<ImageGenerationResponse> generate({
  1. required ImageGenerationRequest request,
  2. ImageGenerationOptions? options,
  3. CancellationToken? cancellationToken,
})
override

Generates images based on the given request.

Implementation

@override
Future<ImageGenerationResponse> generate({
  required ImageGenerationRequest request,
  ImageGenerationOptions? options,
  CancellationToken? cancellationToken,
}) async {
  developer.Timeline.startSync(
    OpenTelemetryConsts.imageGenerationSpanName,
    arguments: {
      if (system != null) OpenTelemetryConsts.systemKey: system,
      OpenTelemetryConsts.requestModelKey:
          options?.modelId ?? modelId ?? 'unknown',
    },
  );
  try {
    final result = await super.generate(
      request: request,
      options: options,
      cancellationToken: cancellationToken,
    );
    developer.Timeline.finishSync();
    return result;
  } catch (e) {
    developer.Timeline.finishSync();
    rethrow;
  }
}