package com.ai.da.service; import com.ai.da.common.enums.CreditsEventsEnum; import com.ai.da.mapper.primary.entity.CollectionSort; import com.ai.da.mapper.primary.entity.Generate; import com.ai.da.mapper.primary.entity.GenerateDetail; import com.ai.da.mapper.primary.entity.PoseTransformation; import com.ai.da.model.dto.*; import com.ai.da.model.vo.*; import com.baomidou.mybatisplus.extension.service.IService; import java.io.IOException; import java.util.List; import java.util.Map; public interface GenerateService extends IService { GenerateCaptionVO generateCaption(Long sketchElementId); void generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO); void processGenerateResult(String taskId, String url, String category); void processToProductImageResult(String taskId, String url, String category); void updateToProductTaskStatus(String taskId, String status); GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO); Boolean generateDislike(Long generateDetailId, String timeZone); void updateLikeStatusBatch(List generateDetailIdList, Byte hasLike, Long libraryId, String timeZone); List selectBatchByLibraryId(List libraryId); // GenerateCollectionVO getGenerateResult(String uniqueId); List getGenerateResultList(List taskIdList); PrepareForGenerateVO prepareForGenerate(GenerateThroughImageTextDTO generateThroughImageTextDTO); Long getRankPosition(String uniqueId); void cancelGenerate(Long userId, List uniqueId, String timeZone, String type); void processRelightResult(String taskId, String url, String category); List> getCountByUserAndTime(String startTime, String endTime, List accountIdList); GenerateResultVO imageToSketch(ImageToSketchDTO imageToSketchDTO, String collagePictureUrl, Long projectId); String imageToSketchAsync(ImageToSketchDTO imageToSketchDTO, String collagePictureUrl, Long projectId); GenerateResultVO modifySketch(GenerateModifyDTO generateModifyDTO); ToProductImageResultVO poseTransform(PoseTransformDTO poseTransformDTO); void processPoseTransformResult(String taskId, String gifUrl, String videoUrl, String imageUrl); void processPTFailSituation(String taskId); List getPoseTransformationResult(List taskIdList, Long projectId, Boolean like); void updatePoseTransferStatus(String taskId, String status, PoseTransformation poseTransformation); CollectionSort disOrLikePose(Long transformedId, String likeOrDislike, Long projectId, Long sortLikeParentId); String modifyModelProportion(ModifyModelProportionDTO proportionDTO); GenerateResultVO sketchReconstructionGenerate(SketchReconstructionDTO sketchReconstructionDTO); SketchReconstructionVO getSketchReconstruction(Long projectId); List> getAllPose(); void processPoseTransformResultBatch(String taskId, String gifUrl, String videoUrl, String imageUrl, String progress); void processPoseTransformResultBatch(String taskId, String progress); void deleteGeneratedPose(Long projectId, Long id); String createAsyncTask(GenerateThroughImageTextDTO generateThroughImageTextDTO); GenerateResultVO getAsyncTaskResult(String taskId); String animateAnyone(PoseTransformDTO poseTransformDTO, Long accountId); String getVideoTemplateId(String videoPath); PoseTransformationVO getAnimateResult(String taskId); String reimagineFreePik(String path, String prompt, String style) throws IOException; String getImageDescription(String imagePath); String flux(CreditsEventsEnum func, String prompt, String imagePath, boolean childStyle); String getFluxResult(String taskId, String objectName); byte[] downloadVideoOrImage(String url); String createGoogleAsyncTask(GenerateThroughImageTextDTO generateDTO, String useModel, String prompt); String toProductAsyncTask(String imagePath, String useModel, String prompt); }