|
@@ -0,0 +1,40 @@
|
|
|
+package cn.iocoder.yudao.module.ai.client;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.module.ai.client.vo.MidjourneyImagineReqVO;
|
|
|
+import cn.iocoder.yudao.module.ai.client.vo.MidjourneySubmitRespVO;
|
|
|
+import jakarta.validation.constraints.NotNull;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.client.RestTemplate;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Midjourney Proxy 客户端
|
|
|
+ *
|
|
|
+ * @author fansili
|
|
|
+ * @time 2024/5/30 13:58
|
|
|
+ * @since 1.0
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class MidjourneyProxyClient {
|
|
|
+
|
|
|
+ private static final String URI_IMAGINE = "/submit/imagine";
|
|
|
+
|
|
|
+ @Value("${ai.midjourney-proxy.url:http://127.0.0.1:8080/mj}")
|
|
|
+ private String url;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private RestTemplate restTemplate;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * imagine - 根据提示词提交绘画任务
|
|
|
+ *
|
|
|
+ * @param imagineReqVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public MidjourneySubmitRespVO imagine(@Validated @NotNull MidjourneyImagineReqVO imagineReqVO) {
|
|
|
+ return restTemplate.postForObject(url.concat(URI_IMAGINE), imagineReqVO, MidjourneySubmitRespVO.class);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|