自动扩缩edit图片的大小适应gptimage2的生成图片大小参数要求 #82

Merged
kdletters merged 9 commits from gptimage2-param-limit-in-backend into master 2026-07-14 21:04:54 +08:00
Member

尺寸严格限制规则 (Strict Size Constraints):
图片最大边长 ≤ 3840px <- by hardcoded length
宽高两边像素均为 16px 的倍数 <- by backend do crop
长边 / 短边 比值 ≤ 3:1 <- by hardcoded aspect ratio
总像素范围:最小 655360 ~ 最大 8294400 <- by auto scale in this pr

logic impl in the backend

尺寸严格限制规则 (Strict Size Constraints): 图片最大边长 ≤ 3840px <- by hardcoded length 宽高两边像素均为 16px 的倍数 <- by backend do crop 长边 / 短边 比值 ≤ 3:1 <- by hardcoded aspect ratio 总像素范围:最小 655360 ~ 最大 8294400 <- by auto scale in this pr logic impl in the backend
k88936 added 1 commit 2026-07-14 17:59:29 +08:00
k88936 added 1 commit 2026-07-14 17:59:32 +08:00
k88936 changed title from Adjust image generation size logic for model constraints to 自动扩缩edit图片的大小适应gptimage2的生成图片大小参数要求 2026-07-14 18:03:42 +08:00
k88936 added 1 commit 2026-07-14 18:42:43 +08:00
Member

[P1] 宣发素材固定尺寸被改写,违反现有契约。
editor_project.rs (line 1879) 对 publication-material 的显式 size 也套了 clamp,测试还把 720x540 改成 935x702。但文档明确要求游戏首图 720x540、详情图 720x1280、运营海报 1280x720,明确像素值要原样透传,见 宣发素材设计文档 (line 57)。这会改变产物业务规格,不只是 provider 参数。

[P1] 极端比例仍会生成非法 provider 尺寸。
editor_project.rs (line 1888) 仍接受每边 64..=4096 的自定义尺寸,但 clamp (line 1917) 只按总像素缩放,不重查最大边长和 3:1。比如 64x4096 会被放大到约 102x6477,高度和比例都更不合法。

[P1] 16 倍数没有统一兜住。
新 clamp 会产出 810x810、935x702 这类非 16 倍数。普通 generation 路径会直接把 image_size 传给 provider;只有独立 edit 路径后面会再做 16 对齐。相关位置在 editor_project.rs (line 1556)editor_project.rs (line 2167)

[P2] 格式检查不干净。
单文件 rustfmt --check 会报本 PR 新增/改动的 editor_project.rs 长行和空行问题;git diff --check 倒是通过。

[P1] 宣发素材固定尺寸被改写,违反现有契约。 [editor_project.rs (line 1879)](/home/dsk/.codex/worktrees/3129/Genarrative/server-rs/crates/api-server/src/editor_project.rs:1879) 对 publication-material 的显式 size 也套了 clamp,测试还把 720x540 改成 935x702。但文档明确要求游戏首图 720x540、详情图 720x1280、运营海报 1280x720,明确像素值要原样透传,见 [宣发素材设计文档 (line 57)](/home/dsk/.codex/worktrees/3129/Genarrative/docs/【编辑器】宣发素材工具演示入口设计-2026-06-17.md:57)。这会改变产物业务规格,不只是 provider 参数。 [P1] 极端比例仍会生成非法 provider 尺寸。 [editor_project.rs (line 1888)](/home/dsk/.codex/worktrees/3129/Genarrative/server-rs/crates/api-server/src/editor_project.rs:1888) 仍接受每边 64..=4096 的自定义尺寸,但 [clamp (line 1917)](/home/dsk/.codex/worktrees/3129/Genarrative/server-rs/crates/api-server/src/editor_project.rs:1917) 只按总像素缩放,不重查最大边长和 3:1。比如 64x4096 会被放大到约 102x6477,高度和比例都更不合法。 [P1] 16 倍数没有统一兜住。 新 clamp 会产出 810x810、935x702 这类非 16 倍数。普通 generation 路径会直接把 image_size 传给 provider;只有独立 edit 路径后面会再做 16 对齐。相关位置在 [editor_project.rs (line 1556)](/home/dsk/.codex/worktrees/3129/Genarrative/server-rs/crates/api-server/src/editor_project.rs:1556) 和 [editor_project.rs (line 2167)](/home/dsk/.codex/worktrees/3129/Genarrative/server-rs/crates/api-server/src/editor_project.rs:2167)。 [P2] 格式检查不干净。 单文件 rustfmt --check 会报本 PR 新增/改动的 editor_project.rs 长行和空行问题;git diff --check 倒是通过。
k88936 added 4 commits 2026-07-14 20:04:31 +08:00
k88936 added 1 commit 2026-07-14 20:51:47 +08:00
kdletters added 1 commit 2026-07-14 21:03:51 +08:00
kdletters scheduled this pull request to auto merge when all checks succeed 2026-07-14 21:04:45 +08:00
kdletters approved these changes 2026-07-14 21:04:52 +08:00
kdletters merged commit 34c6ed8756 into master 2026-07-14 21:04:54 +08:00
kdletters deleted branch gptimage2-param-limit-in-backend 2026-07-14 21:04:54 +08:00
Sign in to join this conversation.