This experimental cookbook composes three systems:
gsplat initializes and optimizes a Gaussian representation, exporting both
gaussian_splat.ply and compact gaussian_splat.splat.The runnable tutorial is
run_cosmos3_to_gaussian_splat.ipynb.
The implementation lives in the self-contained
cosmos3_gaussian_splat
folder, which can be copied into a separate GitHub repository without the rest of this checkout.
uv and Python 3.11 or 3.12.nvidia/Cosmos3-Nano and nvidia/Cosmos-1.0-Guardrail.HF_TOKEN supplied through environment/secret management.See the shared Cosmos3 environment setup for general backend requirements.
From this directory:
jupyter lab run_cosmos3_to_gaussian_splat.ipynb
The notebook separates CPU-safe setup/trajectory inspection from GPU stages. Set
RUN_GPU_STAGES = True only in a suitable GPU environment. The corresponding script invocation is:
cd ./cosmos3_gaussian_splat
uv sync --frozen --extra gpu
uv run python run_demo.py \
--image /path/to/chair.png \
--mask /path/to/chair_mask.png \
--prompt "A stationary chair while the camera moves around it." \
--output-dir outputs/chair \
--profile smoke
For HF Jobs and private bucket persistence, use cosmos3-gsplat-submit as documented in the
standalone README.
Each completed run contains:
gaussian_splat.ply, gaussian_splat.splat, and a training checkpoint;The current released camera_pose model supports general cinematic camera motion, but a close,
geometry-preserving object orbit is not demonstrated. A 60-step, 360-degree video output is outside the rotation distribution of the public example. Reducing the action to an in-distribution 15-degree shallow turn preserved chair identity but still produced essentially no parallax.
Treat command/VGGT disagreement as a quality problem. Do not run long Gaussian optimization when generation has not produced genuine wide-baseline views. There can be better outputs observed by finetuning on camera trajectories.
3 commits
Python
87.8%
Jupyter Notebook
10.3%
Shell
1.9%
This experimental cookbook composes three systems:
gsplat initializes and optimizes a Gaussian representation, exporting both
gaussian_splat.ply and compact gaussian_splat.splat.The runnable tutorial is
run_cosmos3_to_gaussian_splat.ipynb.
The implementation lives in the self-contained
cosmos3_gaussian_splat
folder, which can be copied into a separate GitHub repository without the rest of this checkout.
uv and Python 3.11 or 3.12.nvidia/Cosmos3-Nano and nvidia/Cosmos-1.0-Guardrail.HF_TOKEN supplied through environment/secret management.See the shared Cosmos3 environment setup for general backend requirements.
From this directory:
jupyter lab run_cosmos3_to_gaussian_splat.ipynb
The notebook separates CPU-safe setup/trajectory inspection from GPU stages. Set
RUN_GPU_STAGES = True only in a suitable GPU environment. The corresponding script invocation is:
cd ./cosmos3_gaussian_splat
uv sync --frozen --extra gpu
uv run python run_demo.py \
--image /path/to/chair.png \
--mask /path/to/chair_mask.png \
--prompt "A stationary chair while the camera moves around it." \
--output-dir outputs/chair \
--profile smoke
For HF Jobs and private bucket persistence, use cosmos3-gsplat-submit as documented in the
standalone README.
Each completed run contains:
gaussian_splat.ply, gaussian_splat.splat, and a training checkpoint;The current released camera_pose model supports general cinematic camera motion, but a close,
geometry-preserving object orbit is not demonstrated. A 60-step, 360-degree video output is outside the rotation distribution of the public example. Reducing the action to an in-distribution 15-degree shallow turn preserved chair identity but still produced essentially no parallax.
Treat command/VGGT disagreement as a quality problem. Do not run long Gaussian optimization when generation has not produced genuine wide-baseline views. There can be better outputs observed by finetuning on camera trajectories.
3 commits
Python
87.8%
Jupyter Notebook
10.3%
Shell
1.9%