SplatThis
Turn a PNG or JPEG into a portable scene of editable 2D Gaussian splats.
SplatThis fits one Gaussian population and exports it directly to five formats:
| Format | Artifact |
|---|---|
| SVG | Static, script-free vector gradients |
| PPTX | Native editable PowerPoint shapes, without a bitmap fallback |
| Canvas | Self-contained HTML using the Canvas 2D API |
| CSS | Script-free HTML made from CSS gradients |
| EML | An email message with inline CSS and plain-text/Outlook fallbacks |
The default installation is deliberately small: NumPy, Pillow, and Torch. MLX, browser capture, and low-bit population embedding are opt-in.
Install
SplatThis requires Python 3.11 or newer.
pip install splatthis
Optional capabilities are installed separately:
pip install "splatthis[mlx]" # MLX on Apple Silicon
pip install "splatthis[capture]" # Playwright client for Chrome/Chromium
pip install "splatthis[steg]" # low-bit PNG population carrier
Command line
SVG is the default output:
splatthis input.png -o output.svg
Select another target with --format:
splatthis input.png --format pptx -o output.pptx
splatthis input.png --format canvas -o output-canvas.html
splatthis input.png --format css -o output-css.html
splatthis input.png --format eml -o output.eml
Control the fit with a small set of explicit options:
splatthis input.jpg --format pptx \
--splats 3000 \
--stages 300,200,100 \
--max-edge 512 \
--seed 42 \
-o output.pptx
Use MLX explicitly on an Apple-Silicon Metal session:
splatthis input.png --optimizer-backend mlx -o output.svg
If MLX cannot allocate a Metal device, SplatThis warns and falls back to Torch before fitting.
Capture native output
Capture SVG, CSS, or Canvas output with an installed Chrome/Chromium browser:
splatthis input.png --format css -o output.html --capture capture.png
On macOS, PPTX capture uses installed Microsoft PowerPoint through OSA and the system screenshot utility, with no additional Python package:
splatthis input.png --format pptx -o output.pptx --capture powerpoint.png
macOS may request Automation, Accessibility, and Screen Recording permission.
Recoverable populations
SVG and PPTX can carry the compressed population that produced them. Preview
PNGs can carry the same envelope in metadata and, with the steg extra, in
one or two low bits per channel:
splatthis input.png -o output.svg --embed-population
splatthis input.png -o output.svg \
--preview preview.png \
--embed-population \
--embed-population-in-pixels
Embedded populations are derivatives of the input image. Pixel embedding is not a security feature, changes pixels slightly, and has finite capacity.
Python API
from splatthis import SplatConverter
converter = SplatConverter(
max_splats=2000,
stages=[200, 150, 100, 50],
quality_profile="max-fidelity",
device="cpu",
seed=42,
)
converter.convert("input.png", "output.pptx", output_format="pptx")
The historical PNG2SVGConverter name remains available. Direct emitters are
also public for applications that already have a GaussianSplat population.
Project
SplatThis is released under the MIT License.
Metadata
Release files for splatthis 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| splatthis-0.3.0.tar.gz | 464.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| splatthis-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 575.3 kB
Release files / splatthis-0.3.0.tar.gz
| Download URL | splatthis-0.3.0.tar.gz |
|---|---|
| Size | 464.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f649c2883f2cf0f66861881888b35627bdfe9014ab90ae31fc31f92004bfb4f
|
|
BLAKE2b-256 checksum How to use checksums |
cc48779894f602eb2f7596a7f5beb37c2c1e50cea1409a7072d068043776052b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logRelease files / splatthis-0.3.0-py3-none-any.whl
| Download URL | splatthis-0.3.0-py3-none-any.whl |
|---|---|
| Size | 111.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa88e504c0d8ba4f9099b5b9bcdfed6c91e82c74e877b5aee9d869afd642d29c
|
|
BLAKE2b-256 checksum How to use checksums |
e0564f36ee64f74140498f352d4182be5b61f09d1dcc7eb19fbc6eb53d5cf4fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logSecurity for splatthis 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for splatthis-0.3.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.