39 lines
1.7 KiB
C#
39 lines
1.7 KiB
C#
using Yi.Framework.AiHub.Application.Contracts.Dtos.OpenAi.Images;
|
|
using Yi.Framework.AiHub.Domain.Shared.Dtos;
|
|
|
|
namespace Yi.Framework.AiHub.Domain.AiGateWay;
|
|
|
|
public interface IImageService
|
|
{
|
|
/// <summary>Creates an image given a prompt.</summary>
|
|
/// <param name="imageCreate"></param>
|
|
/// <param name="aiModelDescribe"></param>
|
|
/// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
|
|
/// <returns></returns>
|
|
Task<ImageCreateResponse> CreateImage(
|
|
ImageCreateRequest imageCreate,
|
|
AiModelDescribe? aiModelDescribe = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>
|
|
/// Creates an edited or extended image given an original image and a prompt.
|
|
/// </summary>
|
|
/// <param name="imageEditCreateRequest"></param>
|
|
/// <param name="aiModelDescribe"></param>
|
|
/// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
|
|
/// <returns></returns>
|
|
Task<ImageCreateResponse> CreateImageEdit(
|
|
ImageEditCreateRequest imageEditCreateRequest,
|
|
AiModelDescribe? aiModelDescribe = null,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
/// <summary>Creates a variation of a given image.</summary>
|
|
/// <param name="imageEditCreateRequest"></param>
|
|
/// <param name="aiModelDescribe"></param>
|
|
/// <param name="cancellationToken">Propagates notification that operations should be canceled.</param>
|
|
/// <returns></returns>
|
|
Task<ImageCreateResponse> CreateImageVariation(
|
|
ImageVariationCreateRequest imageEditCreateRequest,
|
|
AiModelDescribe? aiModelDescribe = null,
|
|
CancellationToken cancellationToken = default);
|
|
} |