GGUF weight conversions for ggml runtimes
GGUF conversions of open image-to-3D, vision and segmentation models, for inference with ggml-based C++ runtimes rather than PyTorch.
Nothing here is a new model. Every file is a format conversion of a published checkpoint: the tensors are the upstream ones, re-laid-out and in most cases cast to F16. Conversions are verified tensor-by-tensor against the source (name, shape, dtype and payload) before publishing.
Licensing - read this first
These are derived weights, and the upstream licence travels with them. Converting a checkpoint to another container does not change its terms. Each folder below names where its weights came from; check that project's licence before using anything here, especially commercially. Several of these are not permissive:
| folder | upstream | licence to check |
|---|---|---|
trellis2/ | Microsoft TRELLIS / TRELLIS.2 | MIT |
hunyuan3d-2/, hunyuan3d-2.1/ | Tencent Hunyuan3D-2 / 2.1 | Tencent Hunyuan Community License - has territorial and use restrictions |
vision/dinov2_* | Meta DINOv2 | Apache-2.0 |
vision/moge.gguf | Microsoft MoGe | MIT |
segmentation/u2net.gguf | U^2-Net | Apache-2.0 |
segmentation/rmbg.gguf, rmbg2.gguf | BRIA RMBG-1.4 / 2.0 | BRIA licence - non-commercial without a separate agreement |
instruct-pix2pix/ | InstructPix2Pix (on Stable Diffusion 1.5) | CreativeML Open RAIL-M |
The table is a pointer, not legal advice, and may lag upstream changes. The authoritative terms are whatever the upstream project publishes today.
Layout
trellis2/ sparse-structure and SLAT flow models, decoders
trellis2/multiview/ the multi-view fine-tunes of the same models
hunyuan3d-2/ Hunyuan3D-2 shape DiT (+ the mv variant) and VAE
hunyuan3d-2.1/ Hunyuan3D-2.1 shape DiT and VAE
hunyuan3d-2.1/paint/ the texture-painting stack: 2.5D UNet, PBR UNet, VAE, ESRGAN
vision/ image-conditioning backbones (DINOv2, MoGe)
segmentation/ background removal (ISNet/BRIA RMBG, BiRefNet, U^2-Net)
instruct-pix2pix/ instruction image editing (UNet + VAE)
src/ pre-conversion sources, kept so a conversion can be redone
Notes on use
Filenames are unchanged from the flat layout. manifest.json maps role
names to bare filenames, so a runtime that consumes it wants the files in one
directory - the folders here are for humans. Copy what you need into a single
directory and the manifest resolves as before.
Metadata. Each file carries general.architecture = gen3d and, where it is
meaningful, a gen3d.component key naming the part it implements
(dinov2_large, birefnet, isnet, moge_backbone, paint_esrgan, ...),
plus component-specific configuration such as hidden size, layer and head
counts, patch size or ESRGAN scale. Read them with any GGUF reader; nothing
here depends on an out-of-band config file.
Precision. Large tensors are generally F16, with small ones (norms, biases) left F32 where the runtime expects that. A few files are F32 throughout because the source was.
src/ holds the original safetensors for a subset of the weights. They are
there so a conversion can be reproduced or re-done at a different precision, not
because the GGUF are lossy - conversion is a cast, and is verified.