fal-ai/trellis-2-lora
Input
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

Customize your input with more control.
Result
What would you like to do next?
Your request will cost 0.25 $ for 512p resolution, and 0.3 $ for 1024p resolution.
Logs
TRELLIS.2 LoRA
Overview
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:
- Image-to-3D generation with custom TRELLIS.2 LoRA adapters.
- Supports sparse-structure, geometry, and texture LoRAs independently or together.
- Returns a ready-to-download
.glbfile. - Lets you control mesh density and texture resolution at export time.
You must provide at least one LoRA URL. Any stage without a LoRA uses the base TRELLIS.2 model.
Input Parameters Reference
Image
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.
LoRA Adapters
sparse_structure_lora_url
Type: 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_url
Type: 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_url
Type: 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.
Generation Settings
resolution
Type: 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.
Per-stage sampler controls
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.
Export Settings
seed
Type: 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_target
Type: 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_size
Type: 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 |
Outputs
model_glb
Type: file
Generated 3D GLB file.
seed
Type: integer
Seed used for generation. Store this if you want to reproduce or compare results.
resolution
Type: integer
Generation resolution used (512 or 1024).
sparse_structure_lora_url
Type: string | null
Sparse-structure LoRA checkpoint applied for this generation, echoed from the request (null if none was provided).
geometry_lora_url
Type: string | null
Geometry LoRA checkpoint applied for this generation, echoed from the request (null if none was provided).
texture_lora_url
Type: 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_target
Type: integer
Target vertex count used for the exported GLB.
texture_size
Type: integer
Texture resolution baked into the exported GLB.
How LoRA Inference Works
- The endpoint validates the input image and prepares it for TRELLIS.2.
- Each provided LoRA checkpoint is downloaded and checked as a
.safetensorsadapter. - The adapter is loaded into its matching TRELLIS.2 stage:
- sparse structure
- geometry
- texture
- TRELLIS.2 generates the 3D object from the image.
- The generated mesh is exported as a GLB using
decimation_targetandtexture_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.
Using Adapters Independently or Together
Use one adapter
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
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
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.
Training and Inference Mapping
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.
Tips for Good Results
- Use input images with a single, centered object. Crowded scenes and unclear silhouettes are harder to convert into stable 3D structure.
- Match the adapter to the thing you want to control. Texture LoRAs help appearance, but they will not teach a new object silhouette by themselves.
- Train related adapters from the same preprocessed dataset when you plan to combine them.
- Keep track of which
denoiserproduced each.safetensorsfile. Rename downloaded adapters clearly if your workflow stores multiple files. - Use a fixed
seedwhen comparing different adapter combinations. - Lower
decimation_targetfor delivery to realtime viewers, and increase it when inspecting geometry detail.
Common Errors
- No LoRA URL provided: pass at least one of
sparse_structure_lora_url,geometry_lora_url, ortexture_lora_url. - Invalid checkpoint: use a
.safetensorsTRELLIS.2 LoRA returned by the trainer. - Wrong adapter stage: pass each trained LoRA to its matching field.
- Poor object detection from image: try an image with a clearer object, less background clutter, and better foreground/background contrast.
Billing
A successful inference request is billed as 6 billable units.