文本生成图片

This commit is contained in:
spllzh
2025-10-18 10:48:46 +08:00
parent 8e640e03c8
commit 9b2e08593c
25 changed files with 356 additions and 4 deletions

View File

@@ -0,0 +1,67 @@
package com.rj.image;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class QwenImage {
static {
// 以下为北京地域url若使用新加坡地域的模型需将url替换为https://dashscope-intl.aliyuncs.com/api/v1
Constants.baseHttpApiUrl = "https://dashscope.aliyuncs.com/api/v1";
}
// 若没有配置环境变量请用百炼API Key将下行替换为apiKey="sk-xxx"
// 新加坡和北京地域的API Key不同。获取API Keyhttps://help.aliyun.com/zh/model-studio/get-api-key
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void call() throws ApiException, NoApiKeyException, UploadFileException, IOException {
MultiModalConversation conv = new MultiModalConversation();
String content1 = "一张在海滩上拍摄的照片。照片中是一位穿着浅色比基尼的女性,她站在海边,背景是海浪、沙滩和远处的山丘。天空晴朗,阳光明媚,整体环境显得非常自然和放松。微笑着,一只手抚摸头发,很妩媚,似乎在享受海边的时光。";
String content = "一张在海滩上拍摄的照片。照片中是一位穿着浅色比基尼的女性,她站在海边,背景是海浪、沙滩和远处的山丘。天空晴朗,阳光明媚,整体环境显得非常自然和放松。这位女性面带微笑,双臂微微张开,似乎在享受海边的时光。";
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
// Collections.singletonMap("text", "一副典雅庄重的对联悬挂于厅堂之中,房间是个安静古典的中式布置,桌子上放着一些青花瓷,对联上左书“义本生知人机同道善思新”,右书“通云赋智乾坤启数高志远”, 横批“智启通义”,字体飘逸,中间挂在一着一副中国风的画作,内容是岳阳楼。")
Collections.singletonMap("text", content)
)).build();
Map<String, Object> parameters = new HashMap<>();
parameters.put("watermark", true);
parameters.put("prompt_extend", true);
parameters.put("negative_prompt", "");
parameters.put("size", "1328*1328");
MultiModalConversationParam param = MultiModalConversationParam.builder()
.apiKey(apiKey)
.model("qwen-image-plus")
.messages(Collections.singletonList(userMessage))
.parameters(parameters)
.build();
System.out.println("开始调用阿里云多模态对话API参数 "+ param);
MultiModalConversationResult result = conv.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
call();
} catch (ApiException | NoApiKeyException | UploadFileException | IOException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}

View File

@@ -231,6 +231,8 @@ public class FaceDetectImageCountTest {

View File

@@ -172,6 +172,8 @@ public class TtsRequestLogShortUrlTest {

View File

@@ -150,6 +150,8 @@ public class VideoSynthesisTempUrlTest {

View File

@@ -125,6 +125,8 @@ public class VideoSynthesisVideoNameTest {