Commit 9d4041d7 by Jony.L

接口改名 添加图片风格转换(二次元)接口

parent df47aeb7
......@@ -80,6 +80,19 @@ public class OpenApiController {
return openApiService.faceImageGenerate(sourceImage, sourceImageUrl, targetImage, targetImageUrl);
}
@ApiAccessLog
@PostMapping(value = "/image-convert", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@Parameters({
@Parameter(name = "image", description = "图片文件"),
@Parameter(name = "imageUrl", description = "图片链接"),
@Parameter(name = "workflowCode", description = "工作流编码,不传则默认为anime")
})
@Operation(summary = "图片转换", description = "图片转换,如转换为二次元风格")
public CommonResult<GenerateFaceSwapRespDTO> imageConvert(@RequestPart(value = "image", required = false) MultipartFile image,
@RequestParam(value = "imageUrl", required = false) String imageUrl,
@RequestParam(value = "workflowCode", required = false) String workflowCode) {
return openApiService.imageConvert(image, imageUrl, workflowCode);
}
@ApiAccessLog
@PostMapping("/view-image")
......
......@@ -47,6 +47,8 @@ public interface OpenApiService {
CommonResult<GenerateFaceSwapRespDTO> faceImageGenerate(MultipartFile sourceImage, String sourceImageUrl,
MultipartFile targetImage, String targetImageUrl);
CommonResult<GenerateFaceSwapRespDTO> imageConvert(MultipartFile image, String imageUrl, String workflowCode);
CommonResult<ViewSourceRespDTO> viewImage(ViewImageReqDTO viewImageReqDTO);
CommonResult<List<MatchImageRespDTO>> matchImage(MultipartFile image, String url, Integer limit, String cityId, String touristAreaId);
......
......@@ -93,44 +93,47 @@ public class OpenApiServiceImpl implements OpenApiService {
@Value("${digital-human-zhuxi.token}")
private String digitalHumanZhuxiToken;
@Value("${swap-face.upload-image}")
@Value("${aigc-apps.upload-image}")
private String uploadFaceSwapImageUrl;
@Value("${similar-image.match-mage}")
private String matchImageUrl;
@Value("${swap-face.create-video-stream}")
@Value("${aigc-apps.create-video-stream}")
private String createVideoStreamUrl;
@Value("${swap-face.image-to-video}")
@Value("${aigc-apps.image-to-video}")
private String imageToVideoUrl;
@Value("${swap-face.image-to-image}")
@Value("${aigc-apps.image-to-image}")
private String imageToImageUrl;
@Value("${swap-face.view-video}")
@Value("${aigc-apps.image-convert}")
private String imageConvertUrl;
@Value("${aigc-apps.view-video}")
private String viewVideoUrl;
@Value("${swap-face.view-image}")
@Value("${aigc-apps.view-image}")
private String viewImageUrl;
@Value("${swap-face.AIQA-chat}")
@Value("${aigc-apps.AIQA-chat}")
private String AIQAchat;
@Value("${swap-face.AIQA-stream-chat}")
@Value("${aigc-apps.AIQA-stream-chat}")
private String AIQAStreamchat;
@Value("${swap-face.aliyun-stream-chat}")
@Value("${aigc-apps.aliyun-stream-chat}")
private String aliyunStreamchat;
@Value("${swap-face.glm-stream-chat}")
@Value("${aigc-apps.glm-stream-chat}")
private String zhipuStreamChat;
@Value("${swap-face.glm-multi-stream-chat}")
@Value("${aigc-apps.glm-multi-stream-chat}")
private String zhipuMultiStreamChat;
@Value("${swap-face.download-image}")
@Value("${aigc-apps.download-image}")
private String downloadFile;
@Autowired
......@@ -279,6 +282,32 @@ public class OpenApiServiceImpl implements OpenApiService {
}
}
@Override
public CommonResult<GenerateFaceSwapRespDTO> imageConvert(MultipartFile image, String imageUrl, String workflowCode) {
if (ObjectUtils.isEmpty(image) && StringUtils.isEmpty(imageUrl)) {
return error(GlobalResponseCodeConstants.IMAGE_EXCEPTION.getCode(),
GlobalResponseCodeConstants.IMAGE_EXCEPTION.getMsg());
}
Map<String, Object> formMaps = new HashMap<>();
File tempFile = null;
try {
if (!ObjectUtils.isEmpty(image)) {
tempFile = convertMultipartFileToTempFile(image, "convert_");
formMaps.put("image", tempFile);
} else {
formMaps.put("imageUrl", imageUrl);
}
if (!StringUtils.isEmpty(workflowCode)) {
formMaps.put("workflowCode", workflowCode);
}
return sendFormRequestWithFiles(imageConvertUrl, formMaps, GenerateFaceSwapRespDTO.class, AiGeneratedFileType.IMAGE.getValue());
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
safelyDeleteTempFile(tempFile);
}
}
private File convertMultipartFileToTempFile(MultipartFile file, String prefix) throws IOException {
......
......@@ -38,7 +38,7 @@ public class UpdateAiGeneratedFileStatusJob implements JobHandler {
private OpenApiService openApiService;
@Value("${swap-face.download-image}")
@Value("${aigc-apps.download-image}")
private String downloadImage;
@Override
......
......@@ -393,20 +393,24 @@ similar-image:
base-url: http://218.77.58.42:18088
match-mage: ${similar-image.base-url}/matchImage
swap-face:
aigc-apps:
base-url: http://218.77.58.42:18088
upload-image: ${swap-face.base-url}/uploadFaceSwapImage
create-video-stream: ${swap-face.base-url}/reActorFaceSwap
view-video: ${swap-face.base-url}/viewVideo
image-to-video: ${swap-face.base-url}/generateFaceSwap
image-to-image: ${swap-face.base-url}/generateImageFaceSwap
view-image: ${swap-face.base-url}/viewImg
AIQA-chat: ${swap-face.base-url}/v1/AIQA-chat
AIQA-stream-chat: ${swap-face.base-url}/v1/AIQA-stream-chat
aliyun-stream-chat: ${swap-face.base-url}/v1/aliyun-ai-chat
download-image: ${swap-face.base-url}/downloadImage?promptId=
glm-stream-chat: ${swap-face.base-url}/chat/stream
glm-multi-stream-chat: ${swap-face.base-url}/chat/multi-stream
upload-image: ${aigc-apps.base-url}/open-api/face-swap/videos
create-video-stream: ${aigc-apps.base-url}/open-api/face-swap/videos
view-video: ${aigc-apps.base-url}/open-api/view/video
image-to-video: ${aigc-apps.base-url}/open-api/face-swap/videos
image-to-image: ${aigc-apps.base-url}/open-api/face-swap/images
image-convert: ${aigc-apps.base-url}/open-api/image-convert
view-image: ${aigc-apps.base-url}/open-api/view/image
download-video: ${aigc-apps.base-url}/open-api/download/video
download-image: ${aigc-apps.base-url}/open-api/download/image
download-mocha: ${aigc-apps.base-url}/open-api/download/mocha
check-prompt-id: ${aigc-apps.base-url}/open-api/download/check
AIQA-chat: ${aigc-apps.base-url}/v1/AIQA-chat
AIQA-stream-chat: ${aigc-apps.base-url}/v1/AIQA-stream-chat
aliyun-stream-chat: ${aigc-apps.base-url}/v1/aliyun-ai-chat
glm-stream-chat: ${aigc-apps.base-url}/open-api/chat/stream
glm-multi-stream-chat: ${aigc-apps.base-url}/open-api/chat/stream
new-aigc:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment