☰
从一张照片到 3D 世界:image-blaster 清洁底版完整指南
2026/11/4 6:53:45 网站建设 项目流程

从一张照片到 3D 世界:image-blaster 清洁底版完整指南

【免费下载链接】image-blasterAn image-to-world skillset for Claude.项目地址: https://gitcode.com/gh_mirrors/im/image-blaster

image-blaster 是一套给 Claude 用的「图生世界」技能集:丢一张照片进去,几分钟内就能得到一个可探索的 3D 环境、对应的物体模型和音效。这里只拆它最实用的一招——清洁底版(clean plate):把照片里的椅子、人物、道具擦掉,留一张「空的」背景图,再拿这张干净的底版去重建环境。

为什么不直接拿原图重建?image-blaster 会把照片拆成两半处理:能搬走的动态物体单独提取成 3D 模型(.glb/.obj),墙面、地面这类静态环境则重建为可走动的场景(Gaussian splat)。如果原图里还留着那把椅子,重建出来的环境里就会浮着一圈「椅子的残影」。所以顺序得倒过来:先确认哪些物体要单独建模,再把它们从原图里擦掉,最后用擦干净的底版生成静态环境。这一步就是 image-blaster 里的image-blast-plate技能。

两个 API Key 分别填在哪

先把环境配好,只需三小步:

  1. 拿到仓库并进入:

    git clone https://gitcode.com/gh_mirrors/im/image-blaster cd image-blaster
  2. 装好 Claude Code 后,复制环境变量模板并填入密钥:

    cp .env.example .env

    文件里要填两把钥匙(约定见 .claude/rules/project.md):

    • WORLD_LABS_API_KEY—— 交给 World Labs,负责生成 3D 世界;
    • FAL_KEY—— 交给 FAL,3D 建模、音效、图像编辑都走它,清洁底版依赖的就是这把 Key。
  3. 终端里输入claude进入对话,把两个 Key 发给它即可开工。

把照片丢进 input/,再让它学会认物体

步骤 1:图片进input/

把想「清洁」的照片放进仓库根目录的input/文件夹。跑分析时,image-blaster 会自动把input/里的文件暂存(stage)到worlds/<世界名>/source/下,从此源图路径就固定下来(对应 image-blast-project 技能)。

步骤 2:分析 + 你点头确认

接着它按 image-blast-uncover 技能 逐张读图:

  • 用观察性的描述写场景——环境、光照、氛围;
  • 只挑「人搬得走」的独立物体,一把椅子算,墙上的钉子不算;
  • 结果落进worlds/<世界名>/image.json,然后停在这里等你确认哪些物体要做成 3D 模型。

image-blaster 会把你确认的物体(如蝴蝶)单独提取建模,再从底版中移除它们。

这步是关键:只有你点头的物体会写进worlds/<世界名>/output/<物体名>/object.json,而清洁底版正是照着这份「已确认清单」来拼移除提示词的。

一句话生成清洁底版

确认完物体,直接对 Claude 说(照着发就行):

给my-room这个世界生成一张 clean plate,把我确认的物体从源图里移除。

它会在后台拉起 image-blast-plate 智能体,由 image-blast-plate 技能 驱动。有几处设计值得知道:

  • 一次编辑删完所有:全部确认物体合并进一条移除提示词,单次图像编辑搞定,不拆成多次;
  • 提示词只做减法:只说删什么,不说留什么,免得模型「顺手」动背景;
  • 底版是一张新的源图:写进worlds/<世界名>/source/,编号用下一个可用的(命名见下一节);
  • 跑完会汇报:输入图、输出底版图、请求元数据、实际使用的提示词。

真正干活的入口是 generate-edit.mjs,带--role plate参数标识这是一次底版生成,--provider参数可切换图像编辑模型。

底版落在哪个目录,怎么核对

一次底版生成后,source/目录长这样(完整约定见 .claude/rules/project.md):

worlds/my-room/source/ 0-room.png ← 原始照片 0-room.json ← 这张图的分析结果 .0-room-request.json ← 原始请求元数据(隐藏文件) 1-room-plate.png ← 清洁底版,注意编号是 1 不是 0 .1-room-plate-request.json ← 底版请求元数据

规则很简单:N-slug.ext里的N是生成序号,0永远是原始图,数字越大越是后派的生图;每张图旁还躺着一个隐藏的.N-slug-request.json请求记录,支持断点续传和本地修复。靠这套编号,原图永远不会被覆盖——每次编辑都产出一张新编号的图,来龙去脉查得到。

几个常见卡点:

  • 底版文件不见了:请求记录里有模型返回的 URL、本地却缺文件,用 ensure-local-assets.mjs 从对应请求 JSON 把本地文件补回来,不用重新花钱生成。
  • 底版把背景改坏了:重新发起请求,指令里写死「只做移除,不要修补或新增内容」,或者换模型再试。
  • 想顺手删掉没确认过的东西(路人、电线杆):调用底版时追加一句「额外的移除说明」就行。

默认 nano-banana,不满意就换 gpt-image-2

底版默认用nano-banana做图像编辑;想换的话,在提示里点名gpt-image-2即可。两个入口脚本 nano-banana-edit.mjs 和 gpt-image-2-edit.mjs 都由 FAL 统一调度,不用额外配置。

底版越干净,重建出的世界越可信——上图是 image-blaster 重建出的 3D 环境。

底版之后按 image-blast-project 的建议顺序走:先跑image-blast-world生成 3D 世界,再逐个跑image-blast-3d出物体模型,最后用image-blast-sfx配上环境音和撞击音效。整条链路串起来就是:原图 → 物体分析确认 → 清洁底版 → 环境 3D 化 → 物体建模 → 音效,产物能在 app/ 查看器 里实时浏览。

更多玩法(视频级世界、SFX、通配模式)看 README.md 和 .claude/skills/ 下的各技能文档。

【免费下载链接】image-blasterAn image-to-world skillset for Claude.项目地址: https://gitcode.com/gh_mirrors/im/image-blaster

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询