ComfyUI Node
SplatCam · Image → 3D Camera
Turn one image into a camera you can fly. The node builds a 3D Gaussian splat from your image with fal.ai TripoSplat, opens a live viewport right on the node, and emits the rendered view, a silhouette mask, a depth map, and any camera move you record — ready for a Save Video node or as a camera-motion reference for video models. Queue once to build the splat (cached — the same image never pays twice). Fly the camera, press Record, then queue again to emit your take.
SplatCam · Image → 3D Camera
- image
- model_3d
- image
- mask
- depth
- video
◄num_gaussians262144►
◄num_inference_steps20►
◄guidance_scale3.0►
◄fal_seed-1►
◄capture_width1024►
◄capture_height1024►
◄record_fps24►
◄record_modergb►
◄force_regeneratefalse►
◄viewport_state►
Category3d/SplatCam
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| num_gaussians | INT | 26214432768–262144 | Gaussian count: requested from TripoSplat for image inputs, and used as the surface-sampling density for mesh inputs. |
| num_inference_steps | INT | 201–50 | Flow-matching sampler steps. |
| guidance_scale | FLOAT | 3.00–10 | Classifier-free guidance strength. |
| fal_seed | INT | -1-1–2147483647 | Deterministic seed sent to fal; -1 omits it. Changing this is a new cache key and therefore a new paid generation. |
| capture_width | INT | 102464–4096 | Pixel width of the emitted view, mask, and depth images. |
| capture_height | INT | 102464–4096 | Pixel height of the emitted view, mask, and depth images. |
| record_fps | INT | 241–60 | Frame rate used when recording and transcoding an orbit take. |
| record_mode | COMBO | rgb | Which pass the recorded take captures. 'depth' gives a video models can read as pure camera motion and geometry, with no colour or texture to copy; 'mask' records the silhouette only. |
| force_regenerate | BOOLEAN | false | Pay fal for a fresh splat even when this exact image and settings are already cached locally. |
| viewport_state | STRING | Managed by the node's viewport. Holds the splat token, camera, and capture handles; never edit it by hand. | |
| imageopt | IMAGE | Source image; fal TripoSplat builds the splat (~$0.05, cached). Connect one IMAGE; the first of a batch is used. Not needed when a splat is connected. | |
| model_3dopt | SPLAT,MESH,FILE_3D,FILE_3D_SPLAT_ANY,FILE_3D_PLY,FILE_3D_SPLAT,FILE_3D_GLB,FILE_3D_GLTF,FILE_3D_OBJ,FILE_3D_STL | Bring your own 3D — fully local, fal is never called. Accepts a SPLAT, a MESH (e.g. from a local image-to-3D model), a 3DGS .ply/.splat, or a glb/gltf/obj/stl mesh file (surface-sampled into Gaussians). Takes precedence over the image input. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | Splat silhouette: 1 where the model covers a pixel, 0 elsewhere. |
| depth | IMAGE | Alpha-weighted depth of the current view; near surfaces are bright. |
| video | VIDEO | Recorded orbit as MP4. Empty until a take is recorded. |