
FLUX.1 Fill 本地 Inpainting/Outpainting 快速上手黑白 mask 规则与一条命令出图指南【免费下载链接】fluxOfficial inference repo for FLUX.1 models项目地址: https://gitcode.com/GitHub_Trending/flux49/flux用 FLUX.1 Fill [dev] 做图像局部重绘inpainting或向四周扩展画面outpainting时唯一要牢记的核心规则是mask 上白色区域才会被模型重新生成黑色区域原样保留。本文带你从零搭好环境、画对黑白 mask再用一条命令或交互会话跑出第一张合格结果图并附上常见报错与验收清单。先记住最反直觉的一条白色才是画给我看很多 inpainting 工具用黑色标记要改的地方FLUX.1 Fill 恰好相反。打开 src/flux/sampling.py 的prepare_fill函数底图会被这样处理mask torch.from_numpy(mask).float() / 255.0 ... img_cond img_cond * (1 - mask)mask 按/255.0归一化后底图执行img_cond * (1 - mask)白色255→(1 - 1) 0→ 原图被清零交给模型按 prompt 生成黑色0→(1 - 0) 1→ 原图像素原样保留。口诀想重绘/扩展的地方涂白想保留的地方涂黑。这是仓库自带的示例 mask对应底图assets/cup.png纯黑白两色、无灰度过渡。两条硬约束跑之前先检查约束说明违反时终端提示宽高均为 32 的整数倍底图和 mask 各自都要满足Image dimensions must be divisible by 32, got {width}x{height}mask 与底图尺寸完全一致像素级对齐Mask dimensions must match conditioning image, ...交互模式--loop会对每次输入做上述校验不通过就拒绝并提示重新输入不会静默跑偏。环境三步走venv 自动拉权重安装与激活按 README.md 的本地安装步骤使用 Python 3.10 创建虚拟环境cd $HOME/flux python3.10 -m venv .venv source .venv/bin/activate pip install -e .[all]权重从哪来不需要手动下载。启动任一 demo包括python -m flux fill时权重会自动从 HuggingFace 仓库black-forest-labs/FLUX.1-Fill-dev拉到本地checkpoints/目录见 docs/fill.md。如果你已有本地权重可以用环境变量直接指向跳过下载export FLUX_MODEL你的模型权重路径 export FLUX_AE你的 autoencoder 路径你的...路径是占位符替换成你机器上的实际文件路径即可。最小可运行命令不改参数也能出图默认示例直接跑cli_fill.py 中img_cond_path和img_mask_path的默认值就是仓库自带示例所以这条命令什么都不传也能跑python -m flux fill此时默认 prompt 为a white paper cup输出写入output/img_0.jpg。换成你自己的图python -m flux fill \ --prompt a ceramic coffee mug on a wooden table \ --img_cond_path /path/to/your/conditioning.png \ --img_mask_path /path/to/your/mask.png--prompt描述白色区域应该长什么样模型只在 mask 白色区域生成黑色区域不受 prompt 影响。--img_cond_path/--img_mask_path底图与 mask格式支持 jpg/jpeg/png/webp尺寸要求见上文。常用参数与默认值速查以下默认值均取自 cli_fill.py 中main()的函数签名参数默认值说明--prompta white paper cup采样提示词--num_steps50采样步数越多细节越好但越慢--guidance30.0guidance 蒸馏强度--seed不设置则随机固定种子可复现结果--output_diroutput输出目录--offloadFalse显存不足时把 T5/CLIP/AE 在 CPU 与 GPU 间搬运--add_sampling_metadataTrue是否把 prompt 写入图片 Exif--track_usageFalse商用统计需配合BFL_API_KEY交互模式反复试 prompt / 种子 / 步数启动--loop会话python -m flux fill --loop会话按prompt → 底图路径 → mask 路径的顺序依次提示输入留空即复用上一次的值省去重复粘贴。斜杠命令速查在 prompt 输入行可以直接敲斜杠命令完整文案见 cli_fill.py 中的usage命令作用/s seed设置下一次采样的随机种子/g guidance设置 guidance 值/n steps设置采样步数/h显示帮助/q退出会话提示先固定一个seed再改--prompt或--num_steps这样每次对比都是只改了一个变量调参更直观。不想手写 maskStreamlit demostreamlit run demo_st_fill.pydemo_st_fill.py 里可以直接在画布上涂抹生成黑白 mask也内置了 outpainting 快捷方式拖动Zoom Out Amount (All Sides)滑杆范围 1.0–3.0步长 0.1及各边单独的 zoom 滑杆程序通过add_border_and_mask自动生成带黑边的放大底图并把新边框区域在 mask 中标为白色。界面提示也写明了语义Mask (white areas will be generated)。结果验收图去哪了、为什么没图正常产物长什么样采样结束后终端打印Done in 秒数s该耗时是你本机的实际运行结果不要当作固定性能指标。随后进入保存逻辑见 util.py 的save_image终端打印Saving output/img_{idx}.jpg文件写入output/或你指定的--output_dir{idx}从 0 开始递增已有文件时自动取最大编号 1图片 Exif 中Make为Black Forest Labs、Model为flux-dev-fill默认还会把 prompt 写入ImageDescription可用--add_sampling_metadata False关闭。打开output/img_0.jpg核对mask 白色区域应按 prompt 重新生成黑色区域保持原图内容。没看到新文件的两种原因NSFW 过滤拦截保存前有一道 NSFW 分类器Falconsai/nsfw_image_detection阈值 0.85见 util.py。若判定为 NSFW图片不会写入磁盘终端只打印Your generated image may contain NSFW content.如果你跑完只看到这句而output/里没有新文件就是这个原因——换一个更中性的 prompt 即可。输出目录写错确认--output_dir指向的路径有写权限且没有拼写错误。许可红线与商用路径FLUX.1 Fill [dev]权重遵循 FLUX.1-dev Non-Commercial License仅限非商业用途。若需商用按 README.md 说明可通过 BFL 获得商业授权并在 CLI 中开启--track_usage运行前设置BFL_API_KEY环境变量以自动统计用量export BFL_API_KEYyour_api_key_here python -m flux fill --track_usage ...更深入的模型背景可参考 docs/fill.md 与 model_cards/FLUX.1-dev.md。【免费下载链接】fluxOfficial inference repo for FLUX.1 models项目地址: https://gitcode.com/GitHub_Trending/flux49/flux创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考