Customize your input with more control.
Customize your input with more control.
Hint: Drag and drop image files from your computer, images from web pages, paste from clipboard (Ctrl/Cmd+V), or provide a URL. Accepted file types: jpg, jpeg, png, webp, gif, avif, heic, heif
Customize your input with more control.
Your request will cost 0.25 $ for 512p resolution, and 0.3 $ for 1024p resolution.
Your request will cost 0.25 $ for 512p resolution, and 0.3 $ for 1024p resolution.
trellis-2-lora converts a single input image into a textured 3D GLB using TRELLIS.2 plus one or more stage-specific LoRA adapters. The adapters are trained with trellis-2-lora-trainer and are applied to the matching stage of the 3D generation pipeline.
Key features:
.glb file.You must provide at least one LoRA URL. Any stage without a LoRA uses the base TRELLIS.2 model.
image_url (required)Type: string
URL of the input image to convert to a 3D model. Use a clear image with one main object, strong foreground/background separation, and visible shape cues.
The image is validated up to 4096x4096 pixels, then resized to fit within 1024x1024 pixels before generation.
sparse_structure_lora_urlType: string or null
Default: null
Optional .safetensors LoRA trained with denoiser: "sparse_structure".
This adapter affects the earliest 3D structure stage: the coarse occupancy, silhouette, and broad proportions of the generated object.
geometry_lora_urlType: string or null
Default: null
Optional .safetensors LoRA trained with denoiser: "geometry".
This adapter affects the detailed shape stage: object-specific geometry, surface form, and structural details after the sparse structure has been created.
texture_lora_urlType: string or null
Default: null
Optional .safetensors LoRA trained with denoiser: "texture".
This adapter affects the texture/material stage: colors, surface appearance, PBR-style material cues, and visual finish.
| LoRA field | Train with | Best for |
|---|---|---|
sparse_structure_lora_url | denoiser: "sparse_structure" | Coarse shape, silhouette, object category proportions |
geometry_lora_url | denoiser: "geometry" | Detailed geometry, surface form, structural traits |
texture_lora_url | denoiser: "texture" | Materials, colors, texture style, surface appearance |
Each LoRA checkpoint must be a valid .safetensors adapter. Checkpoint downloads are limited to 2048 MB.
resolutionType: integer
Default: 512
Allowed values: 512, 1024
Generation resolution. 1024 runs the cascade pipeline for more detail and must match the resolution the provided LoRA adapters were trained at (see trellis-2-lora-trainer). Pairing a 1024-trained adapter with resolution: 512 (or vice versa) fails.
Each of the three TRELLIS.2 stages exposes the same six classifier-free-guidance and sampling controls, mirroring the base trellis-2 endpoint. Prefix the control with the stage:
ss_ — sparse structure (rough shape/occupancy)shape_slat_ — shape (detailed geometry)tex_slat_ — texture (color/material)| Control (per stage) | Type | Default (ss / shape / tex) | Description |
|---|---|---|---|
{stage}_guidance_strength | number (0–10) | 7.5 / 7.5 / 1.0 | Guidance strength; higher follows the image more closely. |
{stage}_guidance_rescale | number (0–1) | 0.7 / 0.5 / 0.0 | Dampens high-guidance artifacts. |
{stage}_guidance_interval_start | number (0–1) | 0.6 / 0.6 / 0.6 | Denoising fraction where guidance starts. |
{stage}_guidance_interval_end | number (0–1) | 1.0 / 1.0 / 0.9 | Denoising fraction where guidance ends (must be ≥ start). |
{stage}_sampling_steps | integer (1–50) | 12 / 12 / 12 | Denoising steps; more = slower, potentially higher quality. |
{stage}_rescale_t | number (1–6) | 5.0 / 3.0 / 3.0 | Noise-schedule sharpness. |
For example, ss_sampling_steps, shape_slat_guidance_strength, and tex_slat_guidance_interval_end control the three stages respectively. The defaults reproduce the base trellis-2 behavior.
seedType: integer or null
Default: null
Random seed for reproducible generation. Reuse the same seed, image, adapter URLs, and export settings to reproduce a result as closely as possible.
decimation_targetType: integer
Default: 500000
Range: 5000 to 2000000
Target vertex count for the exported GLB.
| Value | Use Case |
|---|---|
20000-50000 | Lightweight web/mobile previews |
500000 | Balanced default for most usage |
1000000+ | Higher-detail meshes with larger files |
texture_sizeType: integer
Default: 2048
Allowed values: 1024, 2048, 4096
Texture resolution baked into the GLB.
| Value | Use Case |
|---|---|
1024 | Smaller files and faster loading |
2048 | Balanced default |
4096 | More texture detail with larger output files |
model_glbType: file
Generated 3D GLB file.
seedType: integer
Seed used for generation. Store this if you want to reproduce or compare results.
resolutionType: integer
Generation resolution used (512 or 1024).
sparse_structure_lora_urlType: string | null
Sparse-structure LoRA checkpoint applied for this generation, echoed from the request (null if none was provided).
geometry_lora_urlType: string | null
Geometry LoRA checkpoint applied for this generation, echoed from the request (null if none was provided).
texture_lora_urlType: string | null
Texture LoRA checkpoint applied for this generation, echoed from the request (null if none was provided). Together, these three fields show exactly which adapters shaped the result.
decimation_targetType: integer
Target vertex count used for the exported GLB.
texture_sizeType: integer
Texture resolution baked into the exported GLB.
.safetensors adapter.decimation_target and texture_size.Only the stages you provide are customized. For example, if you provide only texture_lora_url, the sparse-structure and geometry stages remain the base TRELLIS.2 model.
Use a single adapter when you only want to customize one part of the pipeline.
json{ "image_url": "https://example.com/product.png", "texture_lora_url": "https://example.com/texture_lora.safetensors", "seed": 1234, "decimation_target": 500000, "texture_size": 2048 }
Use two adapters when you want to customize related stages, such as geometry and texture, while keeping the initial sparse structure from the base model.
json{ "image_url": "https://example.com/product.png", "geometry_lora_url": "https://example.com/geometry_lora.safetensors", "texture_lora_url": "https://example.com/texture_lora.safetensors" }
Use all three adapters when you trained a full stage stack from the same dataset and want the output to reflect that dataset throughout the whole generation process.
json{ "image_url": "https://example.com/product.png", "sparse_structure_lora_url": "https://example.com/sparse_structure_lora.safetensors", "geometry_lora_url": "https://example.com/geometry_lora.safetensors", "texture_lora_url": "https://example.com/texture_lora.safetensors", "seed": 1234 }
There is no adapter scale or blending parameter on this endpoint. If a URL is provided, that adapter is used for its stage.
Each trellis-2-lora-trainer request trains exactly one adapter. Use the returned lora_file in the matching inference field.
Trainer denoiser | Inference field |
|---|---|
sparse_structure | sparse_structure_lora_url |
geometry | geometry_lora_url |
texture | texture_lora_url |
Do not put a texture LoRA into the geometry field, or a geometry LoRA into the sparse-structure field. The endpoint validates the adapter against the stage it is loaded into.
denoiser produced each .safetensors file. Rename downloaded adapters clearly if your workflow stores multiple files.seed when comparing different adapter combinations.decimation_target for delivery to realtime viewers, and increase it when inspecting geometry detail.sparse_structure_lora_url, geometry_lora_url, or texture_lora_url..safetensors TRELLIS.2 LoRA returned by the trainer.A successful inference request is billed as 6 billable units.