通义万相
通义万相是基于自研的Composer组合生成框架的AI绘画创作大模型,提供了一系列的图像生成能力。支持根据用户输入的文字内容,生成符合语义描述的不同风格的图像,或者根据用户输入的图像,生成不同用途的图像结果。通过知识重组与可变维度扩散模型,加速收敛并提升最终生成图片的效果。图像结果贴合语义,构图自然、细节丰富。支持中英文双语输入。
通义万相大模型系列目前支持了文字生成图像、图像布局重绘、涂鸦作画等多个模型。
通义万相-基础文生图
介绍
通义万相-文本生成图像是基于自研的Composer组合生成框架的AI绘画创作大模型,能够根据用户输入的文字内容,生成符合语义描述的多样化风格的图像。通过知识重组与可变维度扩散模型,加速收敛并提升最终生成图片的效果,布局自然、细节丰富、画面细腻、结果逼真。AI深度理解中英文文本语义,让文字秒变精致AI画作。
-
当前模型支持的风格包括但不限于:
水彩、油画、中国画、素描、扁平插画、二次元、3D卡通。
-
支持中英文双语输入。
-
支持客户自定义咒语书/修饰词,可生成不同风格、不同主题、不同派别的图片,满足个性创意的AI图片生成需求。
-
支持输入参考图片进行参考内容或者参考风格迁移,支持更丰富的风格、主题和派别,AI作画质量更加高保真。
-
主要参考图片的组成内容。如上图所示,在不改变图片主要内容的情况下可根据文本描述改变参考图的画面风格。主要参考图片的画面风格。如上图所示,可以将图片的颜色、笔触、材质等作为参考,用来生成同种风格的图像。
java使用
模型名 |
模型简介 |
wanx-v1 |
通义万相-文本生成图像大模型,支持中英文双语输入,重点风格包括但不限于水彩、油画、中国画、素描、扁平插画、二次元、3D卡通、 摄影、人像写真。 |
参考图输入限制:
-
图像格式:JPG、JPEG、PNG、BMP。
-
图像大小:不超过10 MB。
-
图像分辨率:大于256×256像素,小于4096×4096像素。
-
URL地址中不能包含中文字符。
依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.cqh</groupId>
<artifactId>qianwen1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>qianwen1</name>
<description>qianwen1</description>
<properties>
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--导入通义千问 DK -->
<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<version>2.16.2</version>
</dependency>
<!-- <!–导入流式编程依赖–>-->
<!-- <dependency>-->
<!-- <groupId>io.projectreactor</groupId>-->
<!-- <artifactId>reactor-core</artifactId>-->
<!-- <version>3.4.21</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
// 测试图片生成
public static void basicCall(String apiKey) throws ApiException, NoApiKeyException {
ImageSynthesis is = new ImageSynthesis();
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.model(ImageSynthesis.Models.WANX_V1)
.n(4)
.size("1024*1024")
.prompt("雄鹰自由自在的在蓝天白云下飞翔")
.apiKey(apiKey)
.build();
ImageSynthesisResult result = is.call(param);
System.out.println(result);
}
@Test
void test5() throws ApiException {
try{
basicCall(apiKey);
}catch(ApiException|NoApiKeyException e){
System.out.println(e.getMessage());
}
System.exit(0);
}
-
参数配置
参数 |
类型 |
默认值 |
说明 |
model |
string |
- |
指定模型名,支持 wanx-v1 。 |
prompt |
string |
- |
用户当前输入的期望模型执行指令。 |
n |
int |
- |
期望生成的图片数量,目前限制最多生成4张。 |
size |
string |
1024*1024 |
生成的图片的规格 |
-
返回参数说明
返回参数 |
类型 |
说明 |
status_code |
int |
200(HTTPStatus.OK)表示请求成功,否则表示请求失败,可以通过code获取错误码,通过message字段获取错误详细信息。 |
request_Id |
string |
系统生成的标志本次调用的id。 |
code |
string |
表示请求失败,表示错误码,成功忽略。 |
message |
string |
失败,表示失败详细信息,成功忽略。 |
output |
dict |
调用结果信息,对于千问模型,包含输出text。 |
task_id |
string |
异步任务id。 |
task_status |
string |
任务状态: SUCCESSED:任务执行成功 FAILED:任务执行失败 CANCELED:任务被取消 PENDING:任务排队中 SUSPENDED:任务挂起 RUNNING:任务处理中 |
results |
list |
生成结果,每个元素为生成图片的url |
task_metrics |
dict |
任务结果信息,TOTAL期望生成数量,SUCCEEDED成功生成数量,FAILED失败数量 |
usage |
dict |
image_count用于计量的图片个数 |
// 测试图片生成2
public static void basicCall2(String apiKey) throws ApiException, NoApiKeyException {
ImageSynthesis is = new ImageSynthesis();
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.model(ImageSynthesis.Models.WANX_V1)
.n(1)
.size("1024*1024")
.prompt("雄鹰自由自在的在蓝天白云下飞翔")//描述画面的提示词信息。支持中英文,长度不超过500个字符,超过部分会自动截断。
.apiKey(apiKey)
.negativePrompt("低分辨率、错误、最差质量、低质量")
.refImage("https://")
.style("<anime>")
.build();
ImageSynthesisResult result = is.call(param);
System.out.println(result);
}
@Test
void test6() throws ApiException {
try{
basicCall2(apiKey);
}catch(ApiException|NoApiKeyException e){
System.out.println(e.getMessage());
}
System.exit(0);
}
作业提交接口调用
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis
入参描述
传参方式 |
字段 |
类型 |
必选 |
描述 |
示例值 |
Header |
Content-Type |
String |
是 |
请求类型:application/json |
application/json |
Authorization |
String |
是 |
API-Key,例如:Bearer d1**2a |
Bearer d1**2a |
|
X-DashScope-WorkSpace |
String |
否 |
指明本次调用需要使用的workspace;需要注意的是,对于子账号Apikey调用,此参数为必选项,子账号必须归属于某个workspace才能调用;对于主账号Apikey此项为可选项,添加则使用对应的workspace身份,不添加则使用主账号身份。 |
ws_QTggmeAxxxxx |
|
X-DashScope-Async |
String |
是 |
固定使用 enable,表明使用异步方式提交作业。 |
enable |
|
Body |
model |
String |
是 |
指明需要调用的模型,固定值wanx-v1 |
wanx-v1 |
input.prompt |
String |
是 |
描述画面的提示词信息。支持中英文,长度不超过500个字符,超过部分会自动截断。 |
一只奔跑的猫 |
|
input.negative_prompt |
String |
否 |
画面中不想出现的内容描述词信息。支持中英文,长度不超过500个字符,超过部分会自动截断。 |
低分辨率、错误、最差质量、低质量、jpeg 伪影、丑陋、重复、病态、残缺、超出框架、多余的手指、变异的手、画得不好的手、画得不好的脸、突变、变形、模糊、脱水、不良的解剖结构、 比例不良、多余肢体、克隆脸、毁容、总体比例、畸形肢体、缺臂、缺腿、多余手臂、多余腿、融合手指、手指过多、长脖子、用户名、水印、签名 |
|
input.ref_img |
String |
否 |
输入参考图像的url; 图片格式可为 jpg, png, tiff, webp等常见位图格式。默认为空。 |
http://xxx/xxx.png |
|
parameters.style |
String |
否 |
输出图像的风格,目前支持以下风格取值: "<photography>" 摄影, "<portrait>" 人像写真, "<3d cartoon>" 3D卡通, "<anime>" 动画, "<oil painting>" 油画, "<watercolor>"水彩, "<sketch>" 素描, "<chinese painting>" 中国画, "<flat illustration>" 扁平插画, "<auto>" 默认 |
"style": "<sketch>" |
|
parameters.size |
String |
否 |
生成图像的分辨率,目前仅支持'1024*1024', '720*1280', '1280*720'三种分辨率,默认为1024*1024像素。 |
"size": "1024*1024" |
|
parameters.n |
Integer |
否 |
本次请求生成的图片数量,目前支持1~4张,默认为4。 |
"n": 4 |
|
parameters.seed |
Integer |
否 |
图片生成时候的种子值,取值范围为(0,4294967290) 。如果不提供,则算法自动用一个随机生成的数字作为种子,如果给定了,则根据 batch 数量分别生成 seed, seed+1, seed+2, seed+3 为参数的图片。 |
42 |
|
parameters.ref_strength |
Float |
否 |
期望输出结果与垫图(参考图)的相似度,取值范围[0.0, 1.0],数字越大,生成的结果与参考图越相似 |
0.5 |
|
parameters.ref_mode |
String |
否 |
垫图(参考图)生图使用的生成方式,可选值为'repaint' (默认) 和 'refonly'; 其中 repaint代表参考内容,refonly代表参考风格 |
"repaint" |
出参描述
字段 |
类型 |
描述 |
示例值 |
output.task_id |
String |
本次请求的异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取。 |
13b1848b-5493-4c0e-8c44-68d038b492af |
output.task_status |
String |
提交异步任务后的作业状态。 |
PENDING |
request_id |
String |
本次请求的系统唯一码 |
7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
作业任务状态查询和结果获取接口
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
入参描述
传参方式 |
字段 |
类型 |
必选 |
描述 |
示例值 |
Url Path |
task_id |
String |
是 |
需要查询作业的 task_id |
13b1848b-5493-4c0e-8c44-68d038b492af |
Header |
Authorization |
String |
是 |
API-Key,例如:Bearer d1**2a |
Bearer d1**2a |
出参描述
字段 |
类型 |
描述 |
示例值 |
output.task_id |
String |
本次请求的异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取。 |
13b1848b-5493-4c0e-8c44-68d038b492af |
output.task_status |
String |
被查询作业的作业状态 |
任务状态: PENDING 排队中 RUNNING 处理中 SUCCEEDED 成功 FAILED 失败 UNKNOWN 作业不存在或状态未知 |
usage.task_metrics |
Object |
作业中每个batch任务的状态: TOTAL:总batch数目 SUCCEEDED:已经成功的batch数目 FAILED:已经失败的batch数目 |
"task_metrics":{ "TOTAL":4, "SUCCEEDED":1, "FAILED":1 } |
usage.image_count |
Integer |
本次请求成功生成的图片张数 |
2 |
request_id |
String |
本次请求的系统唯一码 |
7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
图像局部重绘
介绍
介绍通义万相-图像局部重绘是基于自研的Composer组合生成框架的AI绘画创作大模型后置处理链路,能够根据用户输入的原始图片和局部涂抹图、prompt提示词文字内容,生成符合语义描述的多样化风格的局部重绘图像。通过知识重组与可变维度扩散模型,加速收敛并提升最终生成图片的效果, 布局自然、细节丰富、画面细腻、结果逼真。
客户提供原始图片任意涂抹图中区域图,结合输入修改初始提示文字,在涂抹区域内生成与新提示文字匹配的内容,涂抹区域外没有变化。
模型名 |
模型简介 |
wanx-x-painting |
通义万相-图像局部重绘是基于自研的Composer组合生成框架的AI绘画创作大模型后置处理链路,能够根据用户输入的原始图片和意涂抹图中局部区域和prompt提示词文字内容,生成符合语义描述的多样化风格的局部重绘图像。通过知识重组与可变维度扩散模型,加速收敛并提升最终生成图片的效果, 布局自然、细节丰富、画面细腻、结果逼真。 |
说明
使用限制:模型正在公测中,免费额度500张图片。并发任务数量限制为1。
-
图像格式:JPG、JPEG、PNG、BMP。
-
图像大小:不超过10MB。
-
图像分辨率:大于256×256像素,小于4096x4096像素。
-
URL地址中不能包含中文字符。
java操作
作业提交接口调用
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis
入参描述
传参方式 |
字段 |
类型 |
必选 |
描述 |
示例值 |
Header |
Con |