using Yi.Framework.AiHub.Domain.Shared.Dtos; using Yi.Framework.AiHub.Domain.Shared.Dtos.OpenAi.Images; namespace Yi.Framework.AiHub.Domain.AiGateWay; public interface IImageService { /// Creates an image given a prompt. /// /// /// Propagates notification that operations should be canceled. /// Task CreateImage( ImageCreateRequest imageCreate, AiModelDescribe? aiModelDescribe = null, CancellationToken cancellationToken = default); /// /// Creates an edited or extended image given an original image and a prompt. /// /// /// /// Propagates notification that operations should be canceled. /// Task CreateImageEdit( ImageEditCreateRequest imageEditCreateRequest, AiModelDescribe? aiModelDescribe = null, CancellationToken cancellationToken = default); /// Creates a variation of a given image. /// /// /// Propagates notification that operations should be canceled. /// Task CreateImageVariation( ImageVariationCreateRequest imageEditCreateRequest, AiModelDescribe? aiModelDescribe = null, CancellationToken cancellationToken = default); }