## 1. sd_service.py — 中国审美词优化 - [x] 1.1 更新 `majicmixRealistic` 模型 `prompt_prefix`:添加 `(almond eyes:1.2)`、`(porcelain skin:1.2)`、`(youthful appearance:1.1)`,确保 `delicate facial features` 带权重 - [x] 1.2 更新 `realisticVision` 模型 `prompt_prefix`:添加 `(almond eyes:1.1)`、`(luminous fair skin:1.2)`、`(refined features:1.2)`、`(elegant temperament:1.1)` - [x] 1.3 更新 `juggernautXL` 模型 `prompt_prefix`:添加 `(almond eyes:1.2)`、`(porcelain skin:1.2)`、`(delicate facial features:1.2)`、`(youthful appearance:1.1)`,`asian girl` 改为 `(chinese beauty:1.2)` - [x] 1.4 在三个模型 `negative_prompt` 中补充 `strong jawline, prominent brow ridge, angular facial structure, square jaw, heavy brow` - [x] 1.5 更新各 `PERSONA_SD_PROFILES` 人设的 `prompt_boost`:确保每个人设包含至少 1 个与中国审美相关的差异化气质词(甜妹-减龄感、知性-优雅气质、赛博博主-精致感 + 未来感等) ## 2. sd_service.py — 高画质预设与 Hires Fix - [x] 2.1 在 `majicmixRealistic` `presets` 中新增 `"高画质 (约5分钟)"`:steps=50, cfg_scale=7.0, width=640, height=960, sampler="DPM++ SDE", scheduler="Karras", batch_size=1 - [x] 2.2 在 `realisticVision` `presets` 中新增 `"高画质 (约5分钟)"`:steps=50, cfg_scale=7.0, width=640, height=960, sampler="DPM++ SDE", scheduler="Karras", batch_size=1 - [x] 2.3 在 `juggernautXL` `presets` 中新增 `"高画质 (约5分钟)"`:steps=40, cfg_scale=6.0, width=832, height=1216, sampler="DPM++ 2M SDE", scheduler="Karras", batch_size=1,并增加 `enable_hr: True, hr_scale: 1.5, hr_upscaler: "4x-UltraSharp", hr_second_pass_steps: 20, denoising_strength: 0.4` - [x] 2.4 在 `txt2img` 方法中:当 preset 包含 `enable_hr` 字段时,将该字段注入 SD API payload;当架构为 sd15 时强制忽略 `enable_hr` - [x] 2.5 添加 Hires Fix upscaler fallback 逻辑:捕获 SD API 返回的 upscaler 不存在错误,降级为 `"Latent"` 并记录 warning 日志 ## 3. sd_service.py — 美化增强管线拆分 - [x] 3.1 新增 `beauty_enhance(img: Image.Image, level: float = 1.0) -> Image.Image` 函数:`level=0` 时直接返回原图 - [x] 3.2 实现 `beauty_enhance` 锐化逻辑:使用 `ImageFilter.UnsharpMask(radius=1.5*level, percent=int(120*level), threshold=2)` - [x] 3.3 实现 `beauty_enhance` 亮度/对比度/饱和度增强:亮度系数 `1.0 + 0.02*level`,对比度系数 `1.0 + 0.02*level`,饱和度系数 `1.0 + 0.05*level` - [x] 3.4 实现 `beauty_enhance` 暖白肤色微调:对皮肤色调区域做降红提蓝校正(numpy 实现,无 numpy 时跳过) - [x] 3.5 修改 `txt2img` 方法:在 `anti_detect_postprocess(img)` 调用前插入 `beauty_enhance(img, level=enhance_level)`,`enhance_level` 参数从方法签名传入(默认 `1.0`) - [x] 3.6 修改 `img2img` 方法:同样应用 `beauty_enhance → anti_detect_postprocess` 两阶段后处理 ## 4. llm_service.py — Prompt 指南优化 - [x] 4.1 在 `get_sd_prompt_guide()` 中添加"人物描述规则"段落:明确禁止 `beautiful girl`/`pretty woman`/`good looking` 等泛化词 - [x] 4.2 在指南中添加五官/肤色/气质三维度词库:眼型推荐词(`almond eyes`, `phoenix eyes`, `bright doe eyes`)、肤色推荐词(`porcelain skin`, `luminous fair skin`, `translucent skin`)、气质推荐词(`youthful`, `elegant temperament`, `gentle charm`, `intellectual beauty`) - [x] 4.3 在指南中添加人物图 vs 纯场景图写作策略区分说明 - [x] 4.4 在指南中添加光影具体描述规范:要求使用 `soft window light`/`golden hour`/`studio lighting`/`diffused natural light` 等词,禁用 `good lighting` ## 5. services/content.py — 参数传递 - [x] 5.1 为 `generate_images()` 函数增加 `enhance_level: float = 1.0` 参数 - [x] 5.2 将 `enhance_level` 传入 `svc.txt2img()` 调用 ## 6. ui/tab_create.py — UI 控件 - [x] 6.1 在"高级设置 (覆盖预设)"折叠面板中新增 `enhance_level` 滑块:`gr.Slider(0.0, 2.0, value=1.0, step=0.1, label="美化强度", info="0=关闭 1=默认 2=强化")` - [x] 6.2 将 `enhance_level` 滑块值存入配置(`fn_cfg_set("enhance_level", ...)`)并在加载时读取 - [x] 6.3 将 `enhance_level` 加入 `btn_gen_img.click` 的 `inputs` 列表,并更新 `fn_gen_img` 函数签名 ## 7. 验证与测试 - [ ] 7.1 生成含人物的测试图片:确认 `majicmixRealistic` 和 `juggernautXL` 输出人物具有明显中国面孔特征 - [ ] 7.2 测试高画质档:SDXL 模型 API payload 中确认包含 `enable_hr: true` - [ ] 7.3 测试 `beauty_enhance(img, level=0)` 返回原图不变 - [ ] 7.4 测试 `beauty_enhance(img, level=2.0)` 效果目视无偏黄/偏红 - [ ] 7.5 验证 `generate_images()` 不传 `enhance_level` 时行为与修改前一致(回归测试)