
image-blaster is a Claude Code skillset by Neilson Koerner-Safrata that takes one image and outputs a fully meshed 3D environment, with individually addressable object models and ambient sound, in under five minutes. The static room ships as a Gaussian splat. The dynamic props ship as .glb meshes. The whole bundle drops into Unity, Unreal, Godot, Blender, or a Three.js page.
Repo: github.com/neilsonnn/image-blaster. Public, runs locally on top of Claude Code with two required API keys, plus ElevenLabs if you want SFX.
The problem nobody talks about
A AAA environment artist spends a week modelling one room. Indie devs buy asset packs from Quixel and the Unity Asset Store, then spend the next week kitbashing furniture that doesn't match. Either way, the unit economics of bespoke 3D have been ugly since the day Maya shipped.
The bottleneck is that a 3D scene isn't one thing. It's a hundred things. The walls, the floor, the chair, the shadow under the chair, the dust on the windowsill, the SFX loop you forgot until QA. Every shortcut tools have offered up to now (photogrammetry rigs, one-shot scene-gen models) has fixed one of those layers and left the other 99 to a human.
image-blaster attacks all of them in one orchestrated pass. The skill sorts the image into static environment and dynamic props, then dispatches one agent per object into the right specialist model for each artefact. The output is unified, named, and ready to load.
What it actually replaces
Be honest about the comparison. image-blaster is not a substitute for hand-built hero assets in a shipping game. What it does kill is the first week of every 3D project. The greyboxing, the prop pass, the sound pass. The work that exists to get you to the point where bringing in a real artist starts to pay off.
- Quixel Megascans and asset stores. $30 to $300 per pack, and you still kitbash.
image-blastergenerates a scene that matches itself because every prop is sampled from the same reference image. - Photogrammetry rigs. A camera array, a turntable, two hours per object, post-processing in RealityCapture. Now: one phone photo of the corner of your bedroom, five minutes.
- Greybox blockouts. The week-one work where a level designer drops in cubes to fake the space. The splat is the blockout.
- Foley library shopping. ElevenLabs SFX is baked in. Ambient loop plus per-object physics sound generated alongside the mesh.
How it works under the hood
The orchestration is the interesting part. image-blasterisn't a model. It's a Claude Code skillset that dispatches across five specialist endpoints:
- marble-1.1 (World Labs) ingests the source image and generates the explorable static environment as a Gaussian splat (
.spz). This is the room you walk around in. - nano-banana is the default image-edit model. It cleans the source plate, isolates each object onto a neutral background, and produces the reference image the mesh generator needs.
gpt-image-2is the fallback. - hunyuan-3d via FAL turns each isolated object into a textured
.glbmesh. Configurable face count from 40k up to 1.5M, optional PBR, lowpoly variants for distant LODs. - elevenlabs-sfx generates the ambient loop and a short physics SFX per prop (chair scrape, door creak) as
.mp3. - Claude Code in auto mode is the conductor. It spawns local subagents in parallel, one per object, and tracks completion. Real terminal output from a run: "ashtray mesh wrapped, 2 agents left, world and table".
Output structure mirrors a real project. From a sample run, the output/ folder contains a subfolder per object with the .glb, a thumbnail, and metadata JSON. The world ships separately. Drop the folder into your engine's asset pipeline and everything resolves.
Step 1: install and authenticate
You need Claude Code installed, plus accounts at World Labs and FAL.
git clone https://github.com/neilsonnn/image-blaster
cd image-blaster
claudeIf you don't have Claude Code yet:
curl -fsSL https://claude.ai/install.sh | bashOn first run, Claude will ask for the World Labs key (platform.worldlabs.ai) and the FAL key (fal.ai). ElevenLabs SFX is optional but on by default.
Step 2: drop an image and blast
Put any image into input/. Then prompt Claude:
blast it and confirm each step with meThe confirm each step matters on your first run. Claude will narrate the scene plan. What it identified as static (walls, floor, windows) versus dynamic (chair, basket, lamp), how many objects it's about to dispatch, and which model gets which task. You approve, it fans out. From blast it to ready-to-import folder is around three to five minutes on a clean image.
Step 3: drop the output into your engine
The README lists the engines below. The splat-loader package in each is the one that works today:
- Game engines. Unity (drag the
output/folder into Assets/, splat loads via the Unity Gaussian Splatting package). Unreal via the LumaAI splat plugin. Godot 4.3+ via the gsplat addon. - DCC software. Blender imports
.glbnatively. 3DS Max and Maya read it via the built-in glTF importer. The splat goes into a separate viewer or you bake it to mesh first. - Web and Electron. Three.js with
@mkkellogg/gaussian-splats-3dloads the splat in a browser. The GLBs work in any WebGL renderer.
Because the static environment is a splat and the props are meshes, you get both layers at once. Photoreal walls and lighting from the splat, manipulable physics objects from the GLBs.
Step 4: tune mesh quality
The Hunyuan API exposes four knobs, all wired through:
--face-count 40000-1500000. Default is 50k. Bump to 200k for hero props, drop to 40k for background dressing.--enable-pbr true|false. Default true. Turn off if you're going to retexture in Substance.--generate-type Normal|LowPoly|Geometry.Normalfor textured,LowPolyfor game-ready LODs,Geometryfor white meshes you'll dress yourself.--polygon-type triangle|quadrilateral. Quads if you plan to take it into ZBrush or Maya for cleanup.
What it costs per blast
Rough order of magnitude, based on each provider's public pricing:
- World Labs Marble: ~$0.30 per environment generation.
- Hunyuan 3D via FAL: ~$0.10 per object at default 50k faces. A scene with ten props is around $1.
- ElevenLabs SFX: pennies per clip on the entry plan.
- Claude Code orchestration: under $0.20 in tokens per blast on Sonnet.
A fully blasted scene with ten props lands around $2. Compare to one Quixel Megascans pack at $30, or two hours of Fiverr 3D modelling at $80. Rates as of May 2026, check the FAL and World Labs pricing pages before quoting clients.
Honest limitations
- It's a first-pass tool, not a shipping pipeline. Use it for greybox replacement, prop dressing, and reference scenes. Plan for an artist pass before anything goes into a released build.
- Doesn't replace hero assets. Anything that needs to be rigged, animated, or hand-detailed still needs a real 3D pipeline.
- API key sprawl. World Labs, FAL, and ElevenLabs each need separate accounts with separate billing. Production teams will want a wrapper.
- Output quality tracks input quality. Clean, well-lit reference photos produce noticeably better results than cluttered or low-resolution sources.
Why this is the inflection point
Most 3D-from-image tools so far have been one-shot novelty. image-blasterisn't novel because of any single model. It's the orchestration. Claude as the conductor across five purpose-built APIs, each doing the thing it's best at, with the output packaged for engines that already exist.
The whole pipeline is a Claude skill. Anyone can fork it, swap Hunyuan for Tripo, drop nano-banana for gpt-image-2, plug in a different splat engine when one ships. The skill is the API. The models are interchangeable. That's the part the industry is going to spend the next year catching up to.