Local image-to-3D
What it is
Image-to-3D that runs on this machine's GPU, with no account, no key and no cost per model. The agent
hands it one picture of an object with its background already removed, and it runs the model through
pixal3d.cpp's trellis-cli and returns a textured glb. It is a connector for the engine's
generation jobs; it adds no tool of its own. Nothing is sent anywhere.
What it contains
- A
generationprovider, idlocal-3d. It producesmodel3dand runs locally (runtime: "local"): a job is thetrellis-cliprocess, started into its own work folder, with progress read from the[n/N]stage banners it prints. - Two models, listed in
models.json:pixal3d-sv, Pixal3D single view (Q8_0), whose weights live in thepixal3d-sv/folder;trellis2-4b-q8, TRELLIS.2-4B (Q8_0 GGUF), whose weights live in thetrellis2-gguf/q8/folder. Both take the optionstexture,atlas,gssandgsh; Pixal3D also takesfov. A model whose weights folder is missing or incomplete is not offered.
- Defaults measured in the lab:
gss10, field of view 20 degrees, 1024, seed 42. - Output: the model as
raw.glbplus its base-colour atlas,raw_base.png.
No tools, skills, rules or components.
Who can use it
Off by default (defaultEnabled: false); switch it on, then open its Connect form and give it two paths,
not secrets: the full path of the trellis-cli executable, and the models folder that holds one
subfolder of weights per model. They are kept on this machine at
~/.config/dimension-gen-local-3d/config.json. It is global: it declares no spaces, so once on it
loads in every space. It needs pixal3d.cpp built or downloaded with its folder kept together, since
trellis-cli.exe needs the CUDA and ggml DLLs beside it.
Limits and risks
- It costs nothing to ask, and a lot of GPU to run. The quote is $0, so the spend caps
(
generation.maxUsdPerJob,generation.maxUsdPerDay) never stop it. A job holds the GPU for minutes: measured on an RTX 4080 SUPER, Pixal3D took 219 s for a prop and 581 s for a character, and TRELLIS.2 took 155 s and 526 s. The engine lets only one local job run at a time across all local providers; the rest wait in line. - It will not cut your picture out for you. One PNG per job, absolute path, background already
removed. The pack reads the alpha channel and refuses a PNG that cuts nothing out, because
trellis-cliwould build the backdrop as geometry. Making the cutout is a separate step. - Pixal3D is prototype-only. Its weights' commercial terms are disputed upstream (TencentARC/Pixal3D
issue 33) and its DINOv3 encoder is under Meta's DINOv3 License, which has not been legally reviewed.
Its commercial use is recorded as
unknown, and a release export is blocked. - TRELLIS.2 is MIT, but not yet cleared to ship. The bundled
dinov3.ggufencoder has the same unreviewed DINOv3 License; the owner and legal must clear it before an asset ships. - Stopping a job kills only that job's process. Cancel and abort kill the one
trellis-cliprocess tree the pack started, and return only once it is gone. - It reads GPU memory. While a job runs it samples the machine's total GPU memory in use through
nvidia-smi, for the asset's provenance. The figure includes other programs on the GPU, so it is an upper bound.
Build and test
There is no build step: the engine loads index.ts as it is. The tests run a fake trellis-cli that
prints the stage banners, writes the files, fails or hangs as a file beside it says, so they need no
GPU and no weights. From the Dimension repository root:
bun test marketplace/packs/gen-local-3d/test