【免费下载链接】stable-diffusion-3-medium
Stable Diffusion 3 Medium(SD3 Medium)是 Stability AI 推出的 MMDiT 文生图模型,原生输出分辨率为 1024×1024 左右。这篇文章基于官方仓库自带的 ComfyUI 示例工作流,带你掌握 UltimateSDUpscale 分块重绘放大技巧:先插值放大、再按分块逐块低强度重绘,让 1024 的图片无损细节地放大到 2048,甚至两次串联冲到 4K 高清。
为什么 SD3 Medium 图片直接拉大就"糊"?
SD3 Medium 基于 MMDiT(多模态扩散 Transformer)架构,由三个文本编码器(CLIP-G、CLIP-L、T5-XXL)共同驱动提示词,在约 100 万像素的分辨率上训练。这带来两个特点:
- 原生"甜区"就是 1024 左右:官方工作流中的备注节点也写明,生成分辨率应保持在 1 百万像素附近,且宽高必须是 64 的倍数;
- 直接拉大只会插值:用普通放大算法把 1024 拉到 4K,只是"猜"像素,边缘发虚、纹理涂抹,细节越多越明显。
UltimateSDUpscale 的思路完全不同:先用 4x-UltraSharp 这类放大模型插值,再按 1024 大小的分块逐块送入扩散模型做低强度重绘。每个分块都由模型"重新画一遍细节",最终拼回一张高分辨率大图——这就是"细节不糊"的来源。
UltimateSDUpscale 分块放大工作流,运行流程
官方工作流文件见 sd3_medium_example_workflow_upscaling.json,整体分为三段:
- 生成分辨率底图:加载 sd3_medium.safetensors + 三个文本编码器(clip_g.safetensors、clip_l.safetensors、t5xxl_fp8_e4m3fn.safetensors),经
ModelSamplingSD3(shift=3)修正采样后,用EmptySD3LatentImage创建 1024×1024 潜空间,KSampler 跑 28 步(cfg 4.5,dpmpp_2m+sgm_uniform); - 分块放大:解码后的图片送入
UltimateSDUpscale节点,内部完成"插值 → 切块 → 重绘 → 拼合"; - 前后对比预览:工作流内置两个
PreviewImage节点,分别展示放大前(1024)与放大后(2048)的结果,方便直接对比细节。
下面第一张是 SD3 Medium 原生生成的 1024 底图效果:
SD3 Medium原生1024分辨率底图生成效果示例.png)
第二张则是同一工作流经 UltimateSDUpscale 放大到 2048×2048 后的成品,发丝与背景光晕的细节明显更扎实:
Stable Diffusion 3 Medium经UltimateSDUpscale放大到2048的高清生成图.png)
导入工作流前:Stable Diffusion 3 Medium 模型文件放哪
把仓库文件按下面对应关系放进 ComfyUI 目录即可(模型打包说明详见 README.md):
| 仓库文件 | ComfyUI 目标目录 | 说明 |
|---|---|---|
| sd3_medium.safetensors | models/checkpoints/ | 主模型,含 MMDiT 与 VAE,不含文本编码器 |
| clip_g.safetensors | models/clip/ | 文本编码器之一 |
| clip_l.safetensors | models/clip/ | 文本编码器之一 |
| t5xxl_fp8_e4m3fn.safetensors | models/clip/ | fp8 量化版 T5-XXL,显存占用更低 |
| 4x-UltraSharp.pth | models/upscale_models/ | 插值放大模型,仓库不包含,需自行准备 |
💡 注意:工作流中加载节点默认指向sdv3/2b_1024/sd3_medium.safetensors这个相对路径。如果你的文件放在checkpoints根目录,在CheckpointLoaderSimple节点里改选实际文件即可,其余节点不用动。
UltimateSDUpscale 参数速查:细节不糊的关键
以下是工作流中UltimateSDUpscale节点的核心参数(完整取值可在工作流 JSON 中查看):
| 参数 | 工作流取值 | 作用 |
|---|---|---|
| upscale_by | 2 | 总放大倍数,1024 → 2048 |
| steps | 15 | 每个分块重绘步数,够用即可 |
| cfg | 5 | 提示词引导强度,略高于底图更稳 |
| denoise | 0.15 | 重绘强度,核心参数:越低越贴近原图 |
| sampler / scheduler | dpmpp_2m / sgm_uniform | 与底图生成保持一致 |
| tile_width / tile_height | 1024 / 1024 | 分块大小,对齐 SD3 的"甜区"分辨率 |
| tile_padding | 32 | 相邻分块重叠像素,减少拼接缝 |
| upscale_model | 4x-UltraSharp.pth | 重绘前的插值放大模型 |
⚙️ 两个经验值:
- denoise 宁低勿高:放大场景一般保持在 0.1~0.2,超过 0.3 分块内容容易"漂移",和原图越来越不像;
- 分块尺寸别乱改:1024 是 SD3 Medium 训练分辨率附近,改成 512 会丢细节,改成 2048 则容易显存爆掉。
从 1024 到 4K:两遍放大法
单遍 2 倍只能到 2048。想要 4096(4K),把工作流再跑一遍即可:
- 第一遍:按上文流程生成 2048×2048 结果;
- 第二遍:把 2048 结果接回
UltimateSDUpscale的 image 输入,upscale_by保持 2,denoise 再降到 0.1 左右(此时底图已很精细,重绘只需"补细节"); - 得到 4096×4096 成品。
Stable Diffusion 3 Medium放大工作流输出的2048高清图像,细节清晰.png)
提示:超过 4K 后,模型会遇到远超训练分布的分辨率,重复纹理和整体模糊会开始显现,建议 4K 作为实用上限。
常见问题:接缝、跑偏与显存
- ❓拼接处有明显接缝?调大
tile_padding(32 → 64),并开启节点上的 seamless(无缝分块)开关; - ❓放大后画面"变脸"、细节漂移?说明 denoise 偏高,降到 0.1~0.15;同时确认重绘提示词与底图内容一致(工作流中提示词来自 sd3demo_prompts.txt 风格的第一条极光人物描述);
- ❓显存不够?优先使用仓库自带的 fp8 版 T5-XXL(
t5xxl_fp8_e4m3fn.safetensors),或选用 fp16 版 t5xxl_fp16.safetensors 换取质量,二选一; - ❓负提示词要写吗?建议保留工作流默认的
bad quality, poor quality, ...之类描述,分块重绘阶段负提示词同样生效,能抑制低质量纹理。
📌 总结:记住"底图 1024 → 2 倍放大 → 分块低强度重绘 → 需要 4K 再串一遍"这条主线,配合 denoise ≤ 0.2 的保守取值,SD3 Medium 的出图就能稳定地从 1024 走到 4K,且细节不糊。
【免费下载链接】stable-diffusion-3-medium
相关推荐
CANN/asc-devkit核函数编程指南
核函数<a name="ZH CN_TOPIC_0000001564710756" </a 核函数(Kernel Function)是Ascend C算子设备侧
人工智能深度学习算子库CANNAscendplaywright-skill未来路线图:即将推出的5大令人期待的功能
playwright skill未来路线图:即将推出的5大令人期待的功能 playwright skill作为一款基于Playwright的浏览器自动化工具,为
AI 技能浏览器控制GUI 自动化测试Stable Diffusion x4 Upscaler图像放大技术完全指南:从模糊到高清的AI魔法
Stable Diffusion x4 Upscaler图像放大技术完全指南:从模糊到高清的AI魔法 还在为图像放大后的模糊效果而烦恼吗?传统的图像放大技术往往
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考