Skip to content

[bug] 画布:图片默认参数不匹配导致整个画布查询422 #86

Closed

Description

@wuzhf9

问题与影响

实际使用中,通过工具栏新增图片并填写提示词后,页面显示保存失败,画布查询持续返回422。尚未提交生成任务,一个无效生成草稿就导致整个工程无法获取画布投影。

触发组合是:已选图片配置使用 volcengine 协议(实测 doubao-seedream-5.0-flash),适配器公开 imageOutputs=[{aspectRatio:"auto",size:"2K"}],而新增节点保存了 aspectRatio:"1:1",size:"2K"。这是当前适配器契约,不代表远端模型本身只能生成某种画幅。

复现步骤

  1. 配置并选用上述图片模型,新建工程。
  2. 从画布工具栏添加图片节点,输入非空提示词,保持默认比例与尺寸,等待自动保存;无需点击生成。
  3. 检查 GET /api/creation/projects/{projectId}/canvas 和项目保存提示。
  4. 将该草稿通过正式 generationSpec.update 改为 parameters.aspectRatio=null, size="2K",再查询画布。

预期与实际

  • 预期:新增节点默认参数来自已选模型能力;无效草稿应局部提示、允许修改,并禁用不合法的生成操作,其他节点和工程查询保持可用。
  • 实际:无效草稿持久化成功,/canvas 返回422:{"detail":"当前图片适配器不支持所选比例或尺寸,请重新选择。","code":"invalid_input"}。真实界面随刷新重复失败。
  • 正式更新比例为自动后,/canvas 恢复200。

定位与证据

核对版本:5581f19f4375950e3286678366ac0b13ad2b9cc1。已完成真实浏览器复现,并用独立临时工程补充 API 复现;后者使用本地占位模型地址,没有请求外部服务、没有生成任务,也未改动真实工程或全局配置。

隔离 API 结果:

操作 结果
空工程查询画布 200
正式批次创建上述图片草稿和节点 receipt applied
读取项目快照 200,jobs=[]
查询画布 422,错误见上
正式更新 aspectRatio=null receipt applied
再查询画布 200

已确认调用链:

这与已关闭的 #69 不同:本问题不需要复制、跨项目或已有图片文件。关联真实视频创作验收 #19。

验收标准

  • 新增图片节点使用已选模型支持的默认比例与尺寸,自动保存和重开后保持一致。
  • 已存在的无效参数草稿不使整个 /canvas 查询失败;用户仍能查看其他节点并修改该草稿,节点明确说明不可生成的原因。
  • 修正为合法参数后,能力状态及时恢复;自动比例在契约中正确表示为 null。
  • 生成提交仍由后端严格校验,不通过放宽适配器输出契约或静默改写用户明确选择来绕过错误。
  • 覆盖其他图片协议、空提示词及无效草稿的代表性回归;查询本身不创建任务、不产生模型费用。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:canvasCanvas, nodes and direct manipulationtype:bugSomething is broken

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions