mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2025-01-31 09:30:05 +08:00
【增加】Midjourney client,增加 imagine 方法
This commit is contained in:
parent
b9d823f0ed
commit
20addff45e
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package cn.iocoder.yudao.module.ai.client.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Midjourney:Imagine 请求
|
||||||
|
*
|
||||||
|
* @author fansili
|
||||||
|
* @time 2024/5/30 14:02
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class MidjourneyImagineReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "垫图(参考图)base64数组", required = false)
|
||||||
|
private List<String> base64Array;
|
||||||
|
|
||||||
|
@Schema(description = "通知地址", required = false)
|
||||||
|
@NotNull(message = "回调地址不能为空!")
|
||||||
|
private String notifyHook;
|
||||||
|
|
||||||
|
@Schema(description = "提示词", required = true)
|
||||||
|
@NotNull(message = "提示词不能为空!")
|
||||||
|
private String prompt;
|
||||||
|
|
||||||
|
@Schema(description = "自定义参数", required = false)
|
||||||
|
private String state;
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
package cn.iocoder.yudao.module.ai.client.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Midjourney:Imagine 请求
|
||||||
|
*
|
||||||
|
* @author fansili
|
||||||
|
* @time 2024/5/30 14:02
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class MidjourneySubmitRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "状态码: 1(提交成功), 21(已存在), 22(排队中), other(错误)")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@Schema(description = "描述")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
@Schema(description = "扩展字段")
|
||||||
|
private String properties;
|
||||||
|
|
||||||
|
@Schema(description = "任务ID")
|
||||||
|
private String result;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user