Voxel Art Image — 体素方块风格图片转换
把普通照片/图片转换成标准体素方块艺术风格(Minecraft 积木质感:立体小方块堆叠、顶部受光面亮、侧面暗、可见网格结构)。
工作流总览
用户给图 → 1. 取得图片本地路径 → 2. 运行 voxel_preprocess.py 生成预处理参考图
→ 3. 用 image_edit 双参考生成体素图 → 4. 交付最终图
Step 1 — 取得输入图片
输入可能来自:用户上传附件、图片 URL、或本机已存在的文件路径。
- 若是 URL,先用 curl -L -o <本地路径> "<url>" 下载到工作目录。
- 记录本地绝对路径,供后续步骤使用。
Step 2 — 生成预处理参考图(确定性脚本)
运行脚本(脚本位于本 skill 的 scripts/voxel_preprocess.py):
python3 <skill>/scripts/voxel_preprocess.py <输入图路径> --grid 48 --palette 24 --output <预处理图路径>
参数(按用户需求调整):
- --grid:体素网格数(长边)。默认 48。越小方块越大越粗犷(32≈粗犷大块),越大越细腻(64≈更多细节)。
- --palette:调色板颜色数,默认 24。越小色块越少越像素化。
- --no-gridlines:不需要网格线引导时关闭。
输出:一张「像素化 + 量化 + 体素网格线」的参考图,作为 Step 3 的第二张参考图。
Step 3 — AI 风格化(image_edit)
- 读取
references/style-prompts.md,选取默认模板或变体(V1/V2/V3),按原图内容把模板中的{主体概括}填成实际主体。 - 调用
image_edit,必须:
-image_reference_url_list=[原图URL, 预处理图URL](顺序固定:先原图、后预处理图)
- 使用上传后的公网 URL(预处理图需先用 FileBatchUpload 上传获取 URL,不可直接用本地路径或 Read 预览 URL)
-height/width保持与原图一致的比例 - 若用户强调"和原图一模一样",在 prompt 追加「构图保真要求」句。
Step 4 — 交付
- 用
curl -L下载生成的体素图到本地工作目录。 - 通过
present_files交付给用户。 - 如用户未指定参数,主动说明本次使用的 grid/palette,便于其后续微调。
风格基准
目标风格(纯文字定义,无需图片示例):所有元素由大小统一的立体小方块堆叠(Minecraft 积木质感),顶部方块面亮、侧立面暗、有明确立体转折,可见规整方块网格纹理,色彩明快饱和、干净利落。细节定义见 references/style-prompts.md。
常见调节
| 用户诉求 | 调整 |
|---|---|
| 更粗犷/更硬核 | grid 降到 32,或选 V1 |
| 更细腻/保留细节 | grid 升到 64,或选 V2 |
| 更鲜艳 | 选 V3 |
| 保持和原图一致 | 追加构图保真句 |
| 不想要网格线感 | 脚本加 --no-gridlines |