往文件夹里放一张图,对 Claude 说一句 blast it,几分钟后拿回一个能走进去的 3D 场景:背景是高斯泼溅,里面的桌椅罐子是带贴图的网格,环境声和碰撞声也配好了。这套 Claude Code skill 叫 image-blaster,作者是 World Labs 设计团队的 Neilson Koerner-Safrata,MIT 协议,9220 星。
10 月 3 日它又火了一次。14.5 万粉的西语博主 liam(@liambraus)发了条推,开头一句全大写:今天,一整个行业失去了意义。他说有人往 GitHub 传了个仓库,任何照片进去,五分钟出来一个可探索的 3D 世界,学了十年 Blender 的人盯着它沉默了一整天。两天下来 146 万浏览、2.1 万赞,收藏 2.5 万,比点赞还多。
推文里有个词不对:今天。 仓库是 4 月 21 日建的,5 月 14 日公开发布,最后一次提交停在 5 月 15 日。作者也不是路人,他早年在 Tender Claws 做过 VR 游戏 Virtual Virtual Reality,现在在李飞飞的 World Labs 做设计。东西好不好用和这些无关,但你怎么判断它、敢不敢往上面押工作流,和这些有关。
一张雪中木屋的图生成的可探索场景,篮子、木箱这类物体是单独生成的网格(图源:推文演示视频封面,原始素材来自 image-blaster 作者)
01一张图进去,出来三样东西
README 写得很省,默认产出三类文件:
- ▪
所有可动物体的 3D 模型, .glb和.obj - ▪
静态环境的高斯泼溅, .spz - ▪
一条环境循环音,外加每个物体自己的碰撞音效, .mp3
这些文件能直接放进 Unity、Unreal、Godot 的资产目录,也能进 Blender、Maya,或者一个 Three.js 网页。README 举的用途有五个:游戏关卡概念、你小时候的卧室、给机器人练手的环境、电影勘景、建筑效果图。
这也是它和 Genie 3、蚂蚁 LingBot-World 那类实时世界模型的差别。那边给你一段能操控的画面流,关掉就没了;这边给的是文件,能进引擎,能改,能交给下一个人。
演示视频里有一段是 Finder 和终端并排。左边,一张意大利小巷的照片被拆成了 bentwood-chair、bistro-table、patio-umbrella、potted-plant、red-mailbox 五个文件夹,旁边是 sfx 和 world。右边,Claude 正在给另一个庭院场景交差:世界是泼溅加全景图加碰撞体,网格由 hunyuan 一次过,音效是一条庭院环境循环加每个物体 4 个撞击声,末了补一句 "lookin moody"。
左边是一次 blast 落在磁盘上的目录,右边是 Claude 的交付汇报,底部能看到世界生成的后台 agent 计时 7 分 26 秒(图源:推文演示视频截帧)
这个语气是写进规则文件的:全程给 image-blaster 当气氛组,不用 emoji,基本小写,千禧一代口吻,时不时蹦两句 CG 圈黑话。
02判定标准只有一条:人搬不搬得走
整条流水线最要紧的一步是拆图。
负责这步的 skill 叫 uncover。Claude 用自己的视觉读图,像做现场勘查一样只写看得见的东西,规则里点名禁了"神秘""孤独"这类带情绪的词。什么算物体,标准只有一条:一个人能不能把它拎起来,或者推得动。能,就单独生成网格;地毯、墙、地板、固定的建筑构件留在环境里。"桌子连同桌上的东西"这种打包资产不许出,要拆成一件一件。同样的罐子有十个,只记一个,再标个估计数量。
列完清单,Claude 会停下来等你确认。到这一步为止只用了 Claude 自己的视觉,没有调任何外部付费接口。
你点头之后,它先做一张空场景:用 nano-banana 把选中的物体一次性从原图里抹掉。更细的一手在文字上。 传给世界模型的那段描述也要做减法,从原始图注里把拿走的物体删干净,写成一间空屋子,规则里管这叫 text clean plate。不这么做,世界模型会照着文字把杯子又长回桌上。
一次 blast 的完整顺序:前三步在拆,后三路并行生成,最后进查看器
接下来三路并行。Marble 1.1 出环境,交回泼溅、碰撞网格和全景图。每个物体各起一个后台 agent,先抠出一张白底单体图,再交给混元 3D 出网格,默认 5 万面带 PBR 材质;混元接口自己的默认值是 50 万面,作者主动压到了十分之一。ElevenLabs 出声音:环境声 10 秒循环出 2 条,每个物体 1 秒撞击声出 4 条。撞击声还会过一遍 ffmpeg,切掉首尾静音、统一响度;循环音保持原样,免得接缝断掉。
03没有一个模型是它自己的
image-blaster 没有训练任何模型。 仓库里是 8 个 skill、6 个后台 agent 定义、2 个 hook 和一批 Node 脚本,干活的全是别人家的模型:World Labs 的 Marble、Google 的 nano-banana、OpenAI 的 gpt-image-2(备选)、腾讯的混元 3D、ElevenLabs 的音效。物体网格这步默认走混元 3D,Meshy 要你开口才会换。一家美国世界模型公司的设计师,3D 资产这一环默认挑的是腾讯的模型。
9220 颗星,给的是把五个付费模型排好队这件事。 仓库里有几处写法,做过长流程 agent 的人一看就懂:
- ▪
花钱的请求,先把 request id 写进隐藏的 .N-slug-request.json,再开始轮询。中途断了,下次接着等,不会重复扣费。 - ▪
文件名就是状态。 N-slug.ext里的 N 是第几次生成,Claude 用ls -a扫一眼目录就知道进度,没有另外维护一张状态表。 - ▪
不许 Claude 把生成的图片读进上下文做质检,只信脚本输出和 JSON。用户想看,就替他打开文件夹。 - ▪
wildcard 这个 skill 能调 FAL 上的任意模型,但必须你点名确认端点之后才执行。
我们之前写过的 text-to-cad 是同一种东西:11 个 skill 把一句话变成能送去打印的 STEP 文件,7 月时 7495 星。两个仓库都很薄,都是把一条专业流水线交给 Claude Code 调度。差别在几何从哪来。text-to-cad 让模型写 build123d 代码,尺寸是算出来的,能逐项核对;image-blaster 的几何是生成模型猜出来的,快,好看,没法拿卡尺去量。
04查看器
流程一启动,Claude 会自己跑 bun install && bun run dev,在 localhost:5173 起一个 React 查看器。泼溅用 Spark 渲染,物理用 Rapier。左边是场景图和资产列表,物体可以拖进场景,改位置、旋转、缩放,设成刚体,往地上一丢会滚。
查看器界面:左侧场景图与资产列表,右上是选中物体的位置、缩放和刚体设置(图源:推文演示视频截帧)
推文里说的"带物理的网格"指的就是这里。物理是查看器里跑的,带得走的是 Marble 给的那张碰撞网格和每个物体的 .glb,进了你自己的引擎,刚体和碰撞要重新配。
05价格
仓库免费,模型不免费。按各家公开标价算:
Marble 1.1 生成一次世界扣 1500 credits,普通照片要先转成全景图,再加 80 credits;1 美元买 1250 credits,折下来约 1.26 美元。FAL 上的混元 3D v3 基础价 0.375 美元一个,开 PBR、自定义面数各加 0.15 美元;image-blaster 默认两项都开,我推算是 0.675 美元一个物体。音效 0.002 美元一秒,可以忽略。
一个拆出 5 件物体的场景,这样算下来在 4 到 5 美元之间,还没算抠图用的图像编辑和 Claude 自己的 token。X 趋势摘要里引用的早期用户说法是每个场景约 2 美元,对应的是物体少的场景。
06说"一个行业失去意义",早了
README 给自己的定位很克制,说的是给 3D 工作起个头。
演示视频也没藏短处。意大利小巷那段,物体被抹掉之后,地面上留着一个黑洞,桌子后面立着一团说不清是什么的黑影。陶罐那段,镜头一贴近墙面,泼溅就糊成一片。单张图只有一个视角,看不见的那一面全靠模型补。
意大利小巷场景:椅子倒在地上是物理在起作用,地面的黑洞和桌后的黑影是抹除物体后留下的痕迹(图源:推文演示视频截帧)
"五分钟"也要打个折。前面那张终端截图里,单是世界生成那一个后台 agent,计时就走到了 7 分 26 秒。
网格是单图生成的 5 万三角面,拓扑、UV、LOD 都没为量产准备。拿来搭灰盒、做预演、给机器人仿真凑环境够用,进正式项目的资产还得有人重做。上手门槛也在:两把付费 key,加一个 Claude Code。
仓库本身已经停更。72 次提交全部来自作者一人,5 月 15 日之后再没动过,到今天 143 天,12 个 issue 和 PR 开着没关。
仓库时间线:5 月发布,5 月停更,9 月母公司被收购,10 月被当成新闻再传一遍
最大的变数在仓库外面。9 月 28 日,AMD 宣布以约 82 亿美元、全股票的方式收购 World Labs,李飞飞将出任 AMD 执行副总裁兼首席科学家,预计年底前交割。科技媒体 beri.net 把两家的公告对了一遍,发现没有一句提到 Marble、API、定价或者现有客户。
回头看 image-blaster 的备选方案:网格这步有 Meshy 可换,图像编辑有 gpt-image-2 可换,生成世界这一步只接了 Marble,没有第二个选项。
作者是 World Labs 的人,World Labs 官网的 showcase 页收录了这个项目,用户每 blast 一次,就是一次约 1.26 美元的 Marble API 调用。把 image-blaster 看成 Marble API 的一份开源示例,比看成一个独立产品更准确。过去厂商发 SDK 和 sample code,等开发者读文档;现在发一套 skill,让你的 Claude 直接上手调。9220 颗星,加上 5 个月后被人当新闻再炒一遍的 146 万浏览,都没花投放的钱。想卖 API 的团队,这个发行方式可以抄。
07装起来
git clone https://github.com/neilsonnn/image-blaster cd image-blaster claude
Claude 一启动,hook 就会检查 .env 里的两把 key:World Labs 平台的 WORLD_LABS_API_KEY,和 FAL 的 FAL_KEY。缺哪把它会告诉你去哪申请。注意 World Labs 的 API credits 要在 platform.worldlabs.ai 单独买,最低充 5 美元,Marble 应用里充的额度不通用。
本机还需要 bun 跑查看器,ffmpeg 处理音效。然后把图片放进 input/,对 Claude 说:
blast it and confirm each step with me
第一次建议带上后半句。确认物体之后的每一步都在花钱,先看清它打算拆哪几件再放行。
学了十年 Blender 的人不会因为它失业。会变的是最磨人的那个开头:对着一张概念图,从零摆出第一版场景。这一步现在是一句话、几美元、几分钟。
项目地址GitHub:https://github.com/neilsonnn/image-blasterWorld Labs 官方收录页:https://www.worldlabs.ai/labs/showcase/image-blasterWorld Labs API 平台:https://platform.worldlabs.ai/原推文:https://x.com/liambraus/status/2106383261089849825

