Nodes/Atlas Camera/Atlas Export Solve JSON
ComfyUI Node

Atlas Export Solve JSON

The camera solve as a portable JSON file, so the geometry guys can read it too

By mikejamesvfx·Created 3 months ago·Updated a day ago· 1
Atlas Export Solve JSON
  • solve
  • project
  • STRING
output_pathatlas_solve.json

AtlasExportSolveJSON is the boring export node that turns out to be quietly important: it writes the recovered camera solve to a plain JSON file on disk. That's it. But "plain JSON" is the whole point - it's the format that plays nicely with everything. A Nuke script, a Maya scene or a USD camera all require their own tooling to read, but JSON is read by every language, every pipeline tool, and every human who can open a text editor. When you need to hand the camera to someone who isn't running atlas-camera, or want to audit exactly what the solve thinks it recovered, this is the export you reach for.

It's also the most inspectable member of the export family. The solved camera is a bundle of numbers - focal length, orientation, horizon, intrinsics, extrinsics - and the JSON file is where they all land in a form you can diff, version, and reason about. If a solve looks wrong and you're trying to figure out what the solver believes, this node is how you read its mind.

How it works

You give it the solve and an output_path, and it serializes the solve to JSON at that path, returning the destination as a string. If you wire in a project (from AtlasProject), the file is routed into the project tree's solves/ lane instead - keeping only the file name from output_path. That's the pattern all the export nodes share: standalone path by default, project-tree routing when a project is attached.

It's a terminal write-to-disk node - it runs even when nothing downstream consumes its output, which is exactly what you want from an export: the graph can fire the export purely for the file it writes.

The inputs

solve and output_path (default atlas_solve.json) are required. project is optional. The single output is a string with the path to the written file.

Install and gotchas

Part of the pack - ComfyUI Manager → search atlas-camera, or git clone https://github.com/mikejamesvfx/atlas-camera.git into custom_nodes, restart. This node is dependency-free by design; the README's install tiers call the schema and solve JSON exports pure Python with no extra requirements, no GPU, no models.

The gotchas are about expectations rather than setup. First, output_path resolves relative to ComfyUI's working directory, which is rarely where you think you are - check the returned path if the file isn't where you expected. Second, this exports the camera, not the projection or geometry - if you need the mesh, that's AtlasExportReliefMesh. And third, because the solve's JSON is the ground truth your DCC exports are built from, it's a genuinely good habit to save one alongside every export set: when the Nuke script and the Maya scene disagree, the JSON is the referee.

It's the unglamorous export you'll be glad exists the first time you need to move a camera between tools that don't speak each other's language.

CategoryAtlas/10 · Export

Inputs (3)

NameTypeDefaultDescription
solveATLAS_SOLVE
output_pathSTRINGatlas_solve.json
projectoptATLAS_PROJECTOptional delivery project from AtlasProject — routes this export into the project tree's solves/ lane (keeping only output_path's file name) and supersedes output_path's directory.

Outputs (1)

NameTypeDescription
STRINGSTRING