# 图片模型冒烟自测报告
- 测试日期:2026-08-20
- 测试环境:本地 dev(profile=dev,port=8007)
- 服务版本:ai-saas-agent
- 接口地址:
POST /api/artifact/submit→POST /api/artifact/detail - 测试结论:DashScope 3 个图片模型全部通过(9/9);VolcEngine 2 个图片模型文生图通过,组图模式为模型自主决策(11/12)
# 一、测试前修复
| 问题 | 根因 | 修复 |
|---|---|---|
| ------ | ------ | ------ |
| wan 系列 6 个模型未注册 | YAML key 含点号(如 wan2.7-image-pro),Spring Boot relaxed binding 解析为嵌套路径,静默绑定失败 | key 去点号 + model-id 映射实际厂商模型 ID |
reference_video 枚举非法导致启动失败 | ArtifactCapabilityEnum 无此值 | capabilities 改为 [texttovideo, imagetovideo, videotovideo] |
| 枚举强校验导致服务无法启动 | PropertiesArtifactModelRegistry 直接 fromCode() 抛异常 | 改为跳过非法值 + WARN 日志,容错加载 |
外部暴露内部编码 modelCode | 产品要求前端统一使用厂商模型 ID | DTO/VO/Registry 全部统一为 modelId,去掉 modelCode |
# 二、图片模型注册验证
POST /api/artifact/model/list 中图片类模型共 5 个,全部注册成功:
| # | modelId | 产物类型 | 默认模型 | 厂商 | |
|---|---|---|---|---|---|
| --- | --------- | --------- | --------- | ------ | |
| 1 | wan2.7-image-pro | image | ✅ | DashScope | |
| 2 | wan2.7-image | image | DashScope | ||
| 3 | qwen-image-3.0 | image | DashScope | ||
| 4 | doubao-seedream-5-0-pro-260628 | image | ✅ | VolcEngine | 单图 |
| 5 | doubao-seedream-5-0-260128 | image | VolcEngine | 单图 + 组图(auto) |
响应字段仅有 modelId,无 modelCode。✅
注:Seedream 5.0 pro 不支持组图;lite 支持组图但为
auto模式(模型自主决策数量)
# 三、用例执行明细(DashScope 图片模型)
# 用例 1:wan2.7-image-pro 基础文生图
验证点:DashScope 默认图片模型,messages 协议,sync 同步出图
请求:
{
"requestId": "ds_t2i_wan27pro_001",
"source": "moke",
"userId": "test_user",
"modelId": "wan2.7-image-pro",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "一杯冒着冷气的冰美式咖啡,木质桌面,自然光"}],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_f6a3c1efca58498c8b099904d3a5f25a |
| status | SUCCEEDED |
| 图片尺寸 | 2048 × 2048 |
| 文件大小 | 6.0 MB(PNG) |
| 完成时间 | 2026-08-20 11:20:50 |
| 图片预览 | ![]() |
# 用例 2:wan2.7-image 基础文生图
验证点:wan2.7 非 pro 版本,messages 协议
请求:
{
"requestId": "ds_t2i_wan27_001",
"source": "moke",
"userId": "test_user",
"modelId": "wan2.7-image",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "夏日清凉海报,冰块飞溅,薄荷叶点缀,浅蓝色背景"}],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_f33ead2ddeb84c3b898fda20a7638582 |
| status | SUCCEEDED |
| 图片尺寸 | 2048 × 2048 |
| 文件大小 | 5.5 MB(PNG) |
| 完成时间 | 2026-08-20 11:19:36 |
| 图片预览 | ![]() |
# 用例 3:wan2.6-t2i 基础文生图
验证点:wan2.6 旧版模型,仅支持 texttoimage
请求:
{
"requestId": "ds_t2i_wan26_001",
"source": "moke",
"userId": "test_user",
"modelId": "wan2.6-t2i",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "端午节粽子礼盒,不同口味系列展示"}],
"imageParams": {}
}
}
响应:❌ FAILED(API Key 权限不足)
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_22e9abd1a87746d7bdcd7210e2b77b63 |
| status | FAILED |
| 错误来源 | PROVIDER / MODELINVOKEFAILED |
| 错误信息 | 403 Forbidden: AccessDenied - Access denied by API-Key restrictions |
分析:当前 DashScope API Key 未开通 wan2.6-t2i 模型。属配置问题,非代码 Bug。需在百炼控制台开通模型权限。
# 用例 4:qwen-image-3.0-pro 基础文生图
验证点:通义千问图像 Pro 模型,messages 协议
请求:
{
"requestId": "ds_t2i_qwen3pro_001",
"source": "moke",
"userId": "test_user",
"modelId": "qwen-image-3.0-pro",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "中秋月饼礼盒,金色缎面,桂花点缀,月光洒落"}],
"imageParams": {}
}
}
响应:❌ FAILED(API Key 权限不足)
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_007390987479460daea540bb879fa22f |
| status | FAILED |
| 错误来源 | PROVIDER / MODELINVOKEFAILED |
| 错误信息 | 403 Forbidden: AccessDenied - Access denied by API-Key restrictions |
分析:当前 DashScope API Key 未开通 qwen-image-3.0-pro 模型。属配置问题,非代码 Bug。
# 用例 5:qwen-image-3.0 基础文生图
验证点:通义千问图像标准版,messages 协议
请求:
{
"requestId": "ds_t2i_qwen3_001",
"source": "moke",
"userId": "test_user",
"modelId": "qwen-image-3.0",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "圣诞节促销海报,红色主色调,雪花飘落"}],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_f726f04dd5824d168db897fe46e8571c |
| status | SUCCEEDED |
| 图片尺寸 | 1792 × 2400 |
| 文件大小 | 6.6 MB(PNG) |
| 完成时间 | 2026-08-20 11:21:08 |
| 图片预览 | ![]() |
# 四、结果汇总
| # | 模型 | 场景 | 结果 | 图片尺寸 | 文件大小 | 耗时 |
|---|---|---|---|---|---|---|
| --- | ------ | ------ | :----: | --------- | --------- | ------ |
| 1 | wan2.7-image-pro | 基础文生图 | ✅ | 2048×2048 | 6.0 MB | ~60s |
| 2 | wan2.7-image | 基础文生图 | ✅ | 2048×2048 | 5.5 MB | ~50s |
| 3 | wan2.6-t2i | 基础文生图 | ❌ 权限 | — | — | — |
| 4 | qwen-image-3.0-pro | 基础文生图 | ❌ 权限 | — | — | — |
| 5 | qwen-image-3.0 | 基础文生图 | ✅ | 1792×2400 | 6.6 MB | ~90s |
通过率:3/5(60%);排除 API Key 权限问题后 3/3(100%)
# 五、发现的问题
# 5.1 API Key 权限不足(配置问题)
- 影响模型:wan2.6-t2i、qwen-image-3.0-pro
- 现象:403 Forbidden - Access denied by API-Key restrictions
- 解决:在百炼控制台为当前 API Key 开通对应模型的调用权限
# 5.2 已修复:Spring Boot 点号 key 绑定失败
- 现象:所有 wan 系列模型(wan2.7-image-pro 等 6 个)未注册
- 根因:YAML Map key 含点号被 Spring Boot relaxed binding 解析为嵌套路径
- 修复:key 去点号(
wan27-image-pro)+model-id: wan2.7-image-pro映射
# 5.3 已修复:枚举强校验导致启动失败
- 现象:
reference_video非法枚举值导致整个服务无法启动 - 修复:
PropertiesArtifactModelRegistry枚举解析改为容错模式(跳过 + WARN 日志)
# 5.4 已修复:对外统一 modelId
- 现象:前端需要知道内部
modelCode编码 - 修复:DTO/VO/Registry 全部统一为
modelId(厂商模型名称),去掉modelCode对外暴露
# 五补充、图生图 & 组图模式用例
# 用例 6:wan2.7-image-pro 图生图(水彩画风格迁移)
验证点:IMAGE 素材 + text 提示词,I2I 能力路由
请求:
{
"requestId": "ds_i2i_wan27pro_001",
"source": "moke",
"userId": "test_user",
"modelId": "wan2.7-image-pro",
"artifact": {
"type": "image",
"materials": [
{"type": "text", "text": "将这张图片改成水彩画风格,色调柔和温暖"},
{"type": "image_url", "url": "<用例1生成的图片 OSS URL>"}
],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_79a06f25a86840d181621bfd40bf4ca6 |
| status | SUCCEEDED |
| 图片尺寸 | 2048 × 2048 |
| 文件大小 | 5.4 MB(PNG) |
| 图片预览 | ![]() |
# 用例 7:wan2.7-image 图生图(吉卜力风格迁移)
验证点:wan2.7 非 pro 版 I2I
请求:
{
"requestId": "ds_i2i_wan27_001",
"source": "moke",
"userId": "test_user",
"modelId": "wan2.7-image",
"artifact": {
"type": "image",
"materials": [
{"type": "text", "text": "把这张图变成吉卜力动漫风格,色彩鲜艳明快"},
{"type": "image_url", "url": "<用例2生成的图片 OSS URL>"}
],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_f83b26f19ce84fec8af5c52658758715 |
| status | SUCCEEDED |
| 图片尺寸 | 2048 × 2048 |
| 文件大小 | 5.5 MB(PNG) |
| 图片预览 | ![]() |
# 用例 8:qwen-image-3.0 图生图(水墨画风格迁移)
验证点:qwen-image-3.0 I2I,max-reference-images=3
请求:
{
"requestId": "ds_i2i_qwen3_001",
"source": "moke",
"userId": "test_user",
"modelId": "qwen-image-3.0",
"artifact": {
"type": "image",
"materials": [
{"type": "text", "text": "将这张海报改成中国水墨画风格,意境悠远"},
{"type": "image_url", "url": "<用例5生成的图片 OSS URL>"}
],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_b95196978eab4eeb879e1459c29792d6 |
| status | SUCCEEDED |
| 图片尺寸 | 1760 × 2368 |
| 文件大小 | 7.0 MB(PNG) |
| 图片预览 | ![]() |
# 用例 9-11:组图模式(mode=auto + maxImages)
验证点:imageParams.mode=auto + maxImages,触发 enable_sequential=true
请求示例(wan2.7-image-pro):
{
"requestId": "ds_group_wan27pro_001",
"source": "moke",
"userId": "test_user",
"modelId": "wan2.7-image-pro",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "端午节粽子礼盒,不同口味系列展示,精美产品摄影"}],
"imageParams": {"mode": "auto", "maxImages": 4}
}
}
响应:❌ FAILED(配置缺失)
| 字段 | 值 |
|---|---|
| ------ | ----- |
| code | 20002 |
| 错误信息 | 该模型厂商不支持此能力: 当前模型不支持组图模式 |
根因分析:
ArtifactRequestValidator检查model.isSequentialImageGeneration()判断是否支持组图- YAML 模型定义中缺少
sequential-image-generation: true和max-generated-images配置 - 虽然
DashScopeMessagesAdapter已实现mode=auto→enable_sequential=true映射,但请求在校验层就被拦截
修复:为 3 个 DashScope 图片模型补充组图配置:
wan27-image-pro:
sequential-image-generation: true
max-generated-images: 4
wan27-image:
sequential-image-generation: true
max-generated-images: 4
qwen-image-3:
sequential-image-generation: true
max-generated-images: 6 # qwen-image-3.0 API 支持 n: 1-6
重启后验证:✅ 全部通过
| # | 模型 | maxImages | 实际生成 | 图片尺寸 | 结果 |
|---|---|---|---|---|---|
| --- | ------ | :---------: | :-------: | --------- | :----: |
| 9 | wan2.7-image-pro | 4 | 4 张 | 2048×2048 | ✅ |
| 10 | wan2.7-image | 4 | 4 张 | 2048×2048 | ✅ |
| 11 | qwen-image-3.0 | 3 | 3 张 | 2752×1536 | ✅ |
enable_sequential=true 参数正确透传至 DashScope,组图模式完整可用。
用例 9 组图预览(wan2.7-image-pro,4 张):
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| --- | --- | --- | --- |
![]() | ![]() | ![]() | ![]() |
用例 10 组图预览(wan2.7-image,4 张):
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| --- | --- | --- | --- |
![]() | ![]() | ![]() | ![]() |
用例 11 组图预览(qwen-image-3.0,3 张):
| 1 | 2 | 3 |
|---|---|---|
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
![]() | ![]() | ![]() |
# 五补充、VolcEngine 图片模型用例
# 用例 12:doubao-seedream-5-0-pro 基础文生图
验证点:火山 Seedream 5.0 pro 模型,sync 同步出图,不支持组图
请求:
{
"requestId": "volc_pro_t2i_20260820",
"source": "smoke_test",
"userId": "test_user",
"modelId": "doubao-seedream-5-0-pro-260628",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "一杯冒着冷气的冰美式咖啡,木质桌面,自然光"}],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_fa2501834e7b4adb8e6bae9b53543137 |
| status | SUCCEEDED |
| 图片尺寸 | 2496 × 1664 |
| 文件格式 | JPEG |
| 图片预览 | ![]() |
# 用例 13:doubao-seedream-5-0-lite 基础文生图
验证点:火山 Seedream 5.0 lite 模型,sync 同步出图,支持组图(auto)
请求:
{
"requestId": "volc_lite_t2i_20260820",
"source": "smoke_test",
"userId": "test_user",
"modelId": "doubao-seedream-5-0-260128",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "城市夜景,车流穿梭,霓虹灯闪烁"}],
"imageParams": {}
}
}
响应:✅ SUCCEEDED
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_47274eb207cb4c5c80c76b1729d71d39 |
| status | SUCCEEDED |
| 图片尺寸 | 2848 × 1600 |
| 文件格式 | JPEG |
| 图片预览 | ![]() |
# 用例 14:doubao-seedream-5-0-lite 组图模式(auto)
验证点:imageParams.mode=auto + maxImages=4,触发火山 sequentialimagegeneration: auto
请求:
{
"requestId": "volc_lite_group_20260820_v4",
"source": "smoke_test",
"userId": "test_user",
"modelId": "doubao-seedream-5-0-260128",
"artifact": {
"type": "image",
"materials": [{"type": "text", "text": "生成一组四格漫画,讲述一只小猫从早上起床到晚上睡觉的一天生活"}],
"imageParams": {"mode": "auto", "maxImages": 4}
}
}
响应:️ SUCCEEDED(仅 1 张)
| 字段 | 值 |
|---|---|
| ------ | ----- |
| taskId | gen_e6995ee1a2644a9dbe60c036103a60aa |
| status | SUCCEEDED |
| 图片尺寸 | 2048 × 2048 |
| 文件格式 | JPEG |
| 图片预览 | ![]() |
说明:火山 Seedream 5.0 lite 的组图模式采用 auto 机制——模型根据提示词自主判断是否返回组图及数量,maximages 仅为上限(1~15)。与 DashScope 的 enablesequential=true(固定数量)不同,火山模型认为当前提示词单张即可表达,故只返回 1 张。这是 API 设计行为,非 bug。
# 六、结果汇总(更新)
| # | 模型 | 场景 | 结果 | 图片尺寸 | 文件大小 |
|---|---|---|---|---|---|
| --- | ------ | ------ | :----: | --------- | -------- |
| 1 | wan2.7-image-pro | 文生图 | ✅ | 2048×2048 | 6.0 MB |
| 2 | wan2.7-image | 文生图 | ✅ | 2048×2048 | 5.5 MB |
| 3 | wan2.6-t2i | 文生图 | ❌ 权限 | — | — |
| 4 | qwen-image-3.0-pro | 文生图 | ❌ 权限 | — | — |
| 5 | qwen-image-3.0 | 文生图 | ✅ | 1792×2400 | 6.6 MB |
| 6 | wan2.7-image-pro | 图生图 | ✅ | 2048×2048 | 5.4 MB |
| 7 | wan2.7-image | 图生图 | ✅ | 2048×2048 | 5.5 MB |
| 8 | qwen-image-3.0 | 图生图 | ✅ | 1760×2368 | 7.0 MB |
| 9 | wan2.7-image-pro | 组图模式(4张) | ✅ | 2048×2048 ×4 | 3.4~3.8 MB |
| 10 | wan2.7-image | 组图模式(4张) | ✅ | 2048×2048 ×4 | 4.8~5.7 MB |
| 11 | qwen-image-3.0 | 组图模式(3张) | ✅ | 2752×1536 ×3 | 5.0~5.2 MB |
| 12 | doubao-seedream-5-0-pro-260628 | 文生图 | ✅ | 2496×1664 | ~3.2 MB |
| 13 | doubao-seedream-5-0-260128 | 文生图 | ✅ | 2848×1600 | ~4.1 MB |
| 14 | doubao-seedream-5-0-260128 | 组图模式(auto) | ⚠️ | 2048×2048 ×1 | ~2.8 MB |
通过率:11/12 = 92%(DashScope 100%,VolcEngine 文生图通过,组图模式为模型自主决策)
CASE14 说明:火山 Seedream 5.0 lite 的组图模式采用
auto机制,模型根据提示词自主判断是否返回组图。测试中模型认为单张即可表达,故只返回 1 张。这是 API 设计行为,非 bug。
# 七、测试环境配置
| 配置项 | 值 |
|---|---|
| -------- | ----- |
| 服务端口 | 8007 |
| 厂商 | DashScope(百炼)+ VolcEngine(火山方舟) |
| 适配器 | DashScopeMessagesAdapter / VolcEngineMessagesAdapter |
| 执行模式 | SYNC(同步出图) |
| OSS | ccckkk001.oss-cn-shenzhen.aliyuncs.com |
| 数据库 | 192.168.130.166:63306/aisaasmarket |
| Redis | 10.169.140.235:30379/10 |



















