A room reconstructed from a 25-second handheld phone video, then edited by the instruction “make it look like a snowy winter scene” — applied to the 3D scene itself, not to a rendered image of it. Drag either pane to orbit.
Drag to orbit · scroll to zoom · both panes are the real exported splat, compressed to .ksplat and rendered in your browser.
InstructPix2Pix edits whole frames, so naming one object does not confine the edit to that object. That is why a scene-level prompt works better here than an object-level one: “make the leaves look like autumn” turned the paisley bedspread into a carpet of fallen leaves. The weakness is prompt-dependent rather than absolute, which is a cheaper thing to learn than a segmentation pipeline would have been.
The export contains a few hundred Gaussians up to 3,840× the median size and almost fully opaque. From a training viewpoint they sit behind correct geometry and alpha-compositing hides them — which is why nerfstudio's own render looks clean. Orbit anywhere else and they are in front of everything. Dropping the 0.22% with a linear scale above 0.5 costs a rounding error of real scene content and removes the artifact. The counts above are after that pass: 368,785 reconstructed, 367,963 served.
Gaussians are only fitted to the directions they were actually observed from. The 379 training cameras covered a handheld arc, so orbiting far outside it renders as spikes — that is the data being honest, not a bug.
All the GPU cost is up front. This page serves two pre-exported splats and
renders them client-side in three.js, so it runs as a free static Space.
They are shipped as .ksplat, the viewer's own compressed
format — 43 MB of .ply becomes 17.7 MB, with no
visible loss at spherical-harmonics degree 0, which is what the flat-colour
export produces anyway.
Two upstream nerfstudio bugs silently made twelve consecutive edit
runs no-ops, and what caught it was Adam's own step counter rather than anything
visible in a rendered frame. Full writeup, all twenty-one logged defects, and the
reproduction recipe:
github.com/E10o0/3dgs-generative-edit.
Built on nerfstudio
(splatfacto), gsplat,
Instruct-GS2GS and
InstructPix2Pix.
Viewer: GaussianSplats3D
and three.js, both MIT.