收紧图片编辑主来源契约
将站内与 External v1 图片编辑请求统一为必填 sourceReferenceId 按业务引用解析权威对象和类型并校验目标图层绑定 使用版本化队列快照并在 worker 执行前复核身份与类型漂移 安全迁移历史队列载荷且不再按 objectKey 反查或信任旧 assetKind 让画布 Agent 使用 ImageMetadata.reference_id 并拒绝未登记图片 同步 OpenAPI 400 条件、异步语义与契约测试
This commit is contained in:
@@ -1065,6 +1065,7 @@
|
||||
],
|
||||
"operationId": "editExternalEditorImage",
|
||||
"summary": "重绘/调整编辑器图片素材",
|
||||
"description": "主来源只接受当前账号已登记的项目资源 ID 或素材 ID(sourceReferenceId);objectKey、URL、Data URL 与 Blob URL 即使归属当前账号也返回 400。服务端从命中的业务记录派生 canonical objectKey、assetObjectId 与权威类型,只允许普通静态图片(类型为 null)、spec、character、icon-spritesheet、icon-spec、publication-material 或 ui-design,其他及未知类型返回 400。提供 targetLayerId 时必须同时提供 projectId,目标图层必须关联有效项目资源;双方都有 assetObjectId 时必须相同,否则回退比较 canonical bucket/objectKey。同一对象的来源默认类型与目标资源默认类型冲突、目标有效类型或媒体类型不允许、来源或目标不存在/越权/缺少对象时均返回 400,任务不会入队。referenceImageSrcs 仍只作为辅助参考图。",
|
||||
"security": [
|
||||
{
|
||||
"ExternalApiKey": []
|
||||
@@ -3338,28 +3339,24 @@
|
||||
"type": "object",
|
||||
"required": [
|
||||
"prompt",
|
||||
"sourceImageSrc"
|
||||
"sourceReferenceId"
|
||||
],
|
||||
"properties": {
|
||||
"prompt": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"sourceImageSrc": {
|
||||
"sourceReferenceId": {
|
||||
"type": "string",
|
||||
"description": "待重绘/调整图片的稳定引用:当前账号的 objectKey、项目资源 ID 或素材 ID;本地临时图必须先上传 OSS。禁止 Data URL / Blob URL。"
|
||||
"minLength": 1,
|
||||
"description": "待编辑主来源的业务 ID,只接受当前账号已登记的项目资源 ID 或素材 ID。objectKey、普通 URL、签名 URL、Data URL、Blob URL 和未登记上传对象均返回 400;上传对象必须先登记为项目资源或素材。服务端从命中记录派生 canonical objectKey、assetObjectId 与权威类型。"
|
||||
},
|
||||
"projectId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"assetKind": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
],
|
||||
"description": "项目上下文。提供 targetLayerId 时必须同时提供非空 projectId,否则返回 400。"
|
||||
},
|
||||
"generationInputs": {
|
||||
"$ref": "#/components/schemas/JsonValue"
|
||||
@@ -3376,18 +3373,12 @@
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"sourceResourceId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"targetLayerId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"description": "带 projectId 且未提供 canvasCompletion 时,服务端用生成结果替换该画布图层。"
|
||||
"description": "目标画布图层。提供时必须同时提供 projectId,且图层必须关联有效项目资源。来源与目标都有 assetObjectId 时按 ID 比较;任一缺失时回退比较 canonical bucket/objectKey。来源记录默认类型必须与目标资源默认类型一致,最终类型取 assetKindOverride 或目标资源类型,且媒体类型必须为图片;违反任一条件返回 400。未提供 canvasCompletion 时,生成结果替换该图层。"
|
||||
},
|
||||
"size": {
|
||||
"type": "string"
|
||||
|
||||
Reference in New Issue
Block a user