Recipe: 3D from photos
Goal: turn a set of photos of an object or scene into a 3D model — either a Gaussian-splat / radiance field you can fly through, or an exported mesh.
Nodes you'll use: an image set input → Colmap (camera solve) → a splatting/NeRF node (Instant Splat, Open Splat, SuperSplat, or a radiance-field node) → optional mesh export.
Capture tips first (this matters most)
- Take 30–150 photos orbiting the subject, overlapping ~70% between shots.
- Keep the subject still and the lighting consistent; avoid blur and reflective/transparent surfaces.
- Cover it from multiple heights, not just one ring.
In the Workflow Builder
- Upload your photos to a folder in Data, and point an input node at that folder.
- Add a Colmap node — it solves camera positions and a sparse/dense point cloud (structure-from-motion).
- Add a splatting node (e.g. Instant Splat / Open Splat) to build the radiance field, or a NeRF/radiance node.
- (Optional) add a mesh export / converter node to get a GLB you can open in any 3D tool.
- Connect them in order, Save, and Run.
This is GPU-heavy and longer-running than image nodes — watch the per-node progress and logs. Colmap is the step most sensitive to capture quality; if it fails to converge, re-shoot with more overlap.
Over the API
Same shape as any workflow — upload the photos (or reference an existing folder cog), then run your saved reconstruction workflow:
# $AUTH is "Authorization: Bearer <token>" — get it from your sk_ key,
# see /api-reference#authentication
curl -s -X POST "$BASE/workflows/workflow-versions/<your_version_id>/run" -H "$AUTH" \
-H "Content-Type: application/json" \
-d '{"cog_ids": [<image_folder_or_file_ids>]}'
Poll GET /workflows/workflow-runs/{run_id} until status is success (or partial_success), then download the splat/mesh outputs listed in run_files. See Getting Started → Quickstart.