MCPcopy
hub / github.com/neilsonnn/image-blaster

github.com/neilsonnn/image-blaster @main sqlite

repository ↗ · DeepWiki ↗
310 symbols 645 edges 61 files 0 documented · 0%
README

image-blaster-1

image-blaster

Creates 3D environments, SFX, and meshes from a single image using Claude skills, World Labs, and FAL.

Can take you from an image to a fully meshed 3D environment in < 5 minutes, great for jumpstarting 3D work. Go full blast.

Quickstart

  1. Open a Terminal, enter git clone https://github.com/neilsonnn/image-blaster
  2. Enter the directory with cd image-blaster
  3. Run claude (install with curl -fsSL https://claude.ai/install.sh | bash)
  4. Say hello to Claude, and give them your API key for World Labs and FAL.
  5. Put an image into input/ directory and ask Claude to blast it and confirm each step with me.

Description

By default image-blaster will use your input image to create:

  1. 3D models (.glb, .obj) of all dynamic objects
  2. Gaussian splat (.spz) of the static environment,
  3. Ambient looping sound and object specific physics SFX (.mp3)

Extensions

You can embed image-blaster under the assets of any game engine, DCC software, or web app.

  1. Unity, Unreal, or Godot game engine
  2. Blender, 3DS Max, or Maya or other DCC software
  3. Three.js web app or Electron app

Advanced

IMAGE-BLASTER uses a few generation models:

  • marble-1.1 - World Labs Marble model creates the explorable environment.
  • nano-banana - default image edit preference for source cleanup, clean plates, and object reference images.
  • gpt-image-2 - alternate image edit provider when the edit skill is asked to prefer it.
  • hunyuan-3d - Hunyuan 3D model creates 3D object models through FAL.
  • elevenlabs-sfx - ElevenLabs sound effects model creates ambient and object-specific sounds.

3D model creation supports these Hunyuan parameters:

  • --face-count <40000-1500000>: target face count. IMAGE-BLASTER defaults to 50000; Hunyuan's API default is 500000.
  • --enable-pbr true|false: enable PBR material generation. Defaults to true.
  • --generate-type Normal|LowPoly|Geometry: Normal creates a textured model, LowPoly applies polygon reduction, and Geometry creates a white geometry-only model. Defaults to Normal.
  • --polygon-type triangle|quadrilateral: polygon type for LowPoly. Defaults to triangle.

Examples

  • Video game level concepts? IMAGE-BLAST it.
  • Your childhood bedroom? IMAGE-BLAST it.
  • Need an environment for a robot? IMAGE-BLAST it.
  • A film location scout? IMAGE-BLAST it.
  • An architectural rendering? IMAGE-BLAST it.

Development

  • remove /app from the .claudeignore file to give Claude the ability to change the React viewer.

Extension points exported contracts — how you extend this code

IndexedName (Interface)
(no doc)
app/vite.config.ts
WorldAssets (Interface)
(no doc)
app/src/types/world.ts
IndexedArtifact (Interface)
(no doc)
app/vite.config.ts
World (Interface)
(no doc)
app/src/types/world.ts
IndexedFileOptions (Interface)
(no doc)
app/vite.config.ts
WorldProject (Interface)
(no doc)
app/src/types/world.ts
WorldObjectAsset (Interface)
(no doc)
app/src/types/world.ts
WorldObjectPlacement (Interface)
(no doc)
app/src/types/world.ts

Core symbols most depended-on inside this repo

clonePlacements
called by 16
app/src/modules/scene/PlacementEditor.tsx
indexedFiles
called by 13
app/vite.config.ts
isBodyUsable
called by 9
app/src/modules/scene/useObjectGrab.ts
worldsUrl
called by 8
app/vite.config.ts
vectorLike
called by 8
app/src/modules/scene/useObjectGrab.ts
cloneSun
called by 8
app/src/modules/scene/PlacementEditor.tsx
visibleFiles
called by 7
app/vite.config.ts
isEditableTarget
called by 7
app/src/utils/dom.ts

Shape

Function 220
Interface 65
Method 14
Class 8
Enum 3

Languages

TypeScript100%

Modules by API surface

app/vite.config.ts55 symbols
app/src/modules/scene/PlacementEditor.tsx39 symbols
app/src/components/WorldViewer.tsx16 symbols
app/src/modules/scene/ObjectGrid.tsx15 symbols
app/src/types/world.ts14 symbols
app/src/modules/scene/useObjectGrab.ts14 symbols
app/src/modules/scene/SceneObject.tsx12 symbols
app/src/modules/camera/useCameraGestures.ts12 symbols
app/src/components/WorldSidebar.tsx11 symbols
app/src/modules/camera/useCameraDollyGestures.ts10 symbols
app/src/modules/butterfly/useButterflyInput.ts8 symbols
app/src/modules/scene/useSceneObjectVisual.ts6 symbols

Dependencies from manifests, versioned

@phosphor-icons/react2.1.10 · 1×
@radix-ui/themes3.3.0 · 1×
@react-three/drei10.7.7 · 1×
@react-three/fiber9.6.0 · 1×
@react-three/postprocessing3.0.4 · 1×
@react-three/rapier2.2.0 · 1×
@sparkjsdev/spark2.0.0 · 1×
@types/node25.6.0 · 1×
@types/react19.2.14 · 1×
@types/react-dom19.2.3 · 1×
@types/three0.180.0 · 1×
@vitejs/plugin-react4.3.3 · 1×

For agents

$ claude mcp add image-blaster \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact