Skip to content

TRELLIS.2 LoRA Inference

Integrate

Model id trellis-2-lora
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/trellis-2-lora?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $0.25 250 API credits Run it on this page

Get API key
Microsoft Image to 3D

Trellis 2 image-to-3D that can apply custom LoRA adapters for structure, geometry and texture

Microsoft · 3D

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required image_url
Drop a file, or

Source image URL for conversion into a 3D model.

resolution default 512

Generation resolution, with 1024 selecting the cascade pipeline. Choose the resolution used to train the supplied LoRA adapters; a match is required.

Advanced texture_lora_url · texture_size · sparse_structure_lora_url · geometry_lora_url · ss_guidance_strength · ss_guidance_rescale · ss_guidance_interval_start · ss_guidance_interval_end · ss_sampling_steps · ss_rescale_t · shape_slat_guidance_strength · shape_slat_guidance_rescale · shape_slat_guidance_interval_start · shape_slat_guidance_interval_end · shape_slat_sampling_steps · shape_slat_rescale_t · tex_slat_guidance_strength · tex_slat_guidance_rescale · tex_slat_guidance_interval_start · tex_slat_guidance_interval_end · tex_slat_sampling_steps · tex_slat_rescale_t · decimation_target · seed · enable_safety_checker

Optional LoRA checkpoint in safetensors format, trained specifically for the texture denoiser.

texture_size default 2048

Resolution of textures baked into the GLB export.

Optional LoRA checkpoint in safetensors format, trained specifically for the sparse structure denoiser.

Optional LoRA checkpoint in safetensors format, trained specifically for the geometry denoiser.

default 7.5

Strength of classifier-free guidance during sparse-structure generation.

default 0.7

Guidance rescaling during sparse-structure generation. Larger values make the output more stable.

default 0.6

Fraction of denoising progress where sparse-structure guidance begins.

default 1

Use a denoising fraction at or above `ss_guidance_interval_start` to specify when sparse-structure guidance stops.

default 12

Denoising step count used during sparse-structure generation.

default 5

Sharpness of the noise schedule during sparse-structure generation.

default 7.5

Strength of classifier-free guidance during shape generation.

default 0.5

Rescaling applied to guidance during shape generation; raise it when geometry appears noisy.

default 0.6

Fraction of denoising where shape-stage guidance begins.

default 1

Stopping point for shape-stage guidance, expressed as a denoising fraction no smaller than shape_slat_guidance_interval_start.

default 12

Denoising step count during shape generation.

default 3

Sharpness of the noise schedule during shape generation.

default 1

Strength of classifier-free guidance during texture generation.

default 0

Rescaling applied to guidance during texture generation; raise it when textures appear noisy.

default 0.6

Fraction of denoising where texture-stage guidance begins.

default 0.9

Stopping point for texture-stage guidance, expressed as a denoising fraction no smaller than tex_slat_guidance_interval_start.

default 12

Denoising step count during texture generation.

default 3

Sharpness of the noise schedule during texture generation.

default 500000

Desired number of vertices in the GLB export.

Random seed that makes generation reproducible.

POST /run/trellis-2-lora?wait=20 quote → $0.25
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/trellis-2-lora?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About TRELLIS.2 LoRA Inference

Generates a GLB from `image_url`, optionally applying safetensors LoRAs via `sparse_structure_lora_url`, `geometry_lora_url` and `texture_lora_url`. `resolution` is 512 or 1024 and must match the adapters' training resolution. Also exposes per-stage guidance and step controls, `decimation_target` and `texture_size`.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
Source image URL for conversion into a 3D model.
sparse_structure_lora_urloptional
Typestring | null
Optional LoRA checkpoint in safetensors format, trained specifically for the sparse structure denoiser.
geometry_lora_urloptional
Typestring | null
Optional LoRA checkpoint in safetensors format, trained specifically for the geometry denoiser.
texture_lora_urloptional
Typestring | null
Optional LoRA checkpoint in safetensors format, trained specifically for the texture denoiser.
seedoptional
Typeinteger | null
Random seed that makes generation reproducible.
resolutionoptional
Typeenum
Default512
5121024
Generation resolution, with 1024 selecting the cascade pipeline. Choose the resolution used to train the supplied LoRA adapters; a match is required.
ss_guidance_strengthoptional
Typenumber
Default7.5
0 – 10
Strength of classifier-free guidance during sparse-structure generation.
ss_guidance_rescaleoptional
Typenumber
Default0.7
0 – 1
Guidance rescaling during sparse-structure generation. Larger values make the output more stable.
ss_guidance_interval_startoptional
Typenumber
Default0.6
0 – 1
Fraction of denoising progress where sparse-structure guidance begins.
ss_guidance_interval_endoptional
Typenumber
Default1
0 – 1
Use a denoising fraction at or above `ss_guidance_interval_start` to specify when sparse-structure guidance stops.
ss_sampling_stepsoptional
Typeinteger
Default12
1 – 50
Denoising step count used during sparse-structure generation.
ss_rescale_toptional
Typenumber
Default5
1 – 6
Sharpness of the noise schedule during sparse-structure generation.
shape_slat_guidance_strengthoptional
Typenumber
Default7.5
0 – 10
Strength of classifier-free guidance during shape generation.
shape_slat_guidance_rescaleoptional
Typenumber
Default0.5
0 – 1
Rescaling applied to guidance during shape generation; raise it when geometry appears noisy.
shape_slat_guidance_interval_startoptional
Typenumber
Default0.6
0 – 1
Fraction of denoising where shape-stage guidance begins.
shape_slat_guidance_interval_endoptional
Typenumber
Default1
0 – 1
Stopping point for shape-stage guidance, expressed as a denoising fraction no smaller than shape_slat_guidance_interval_start.
shape_slat_sampling_stepsoptional
Typeinteger
Default12
1 – 50
Denoising step count during shape generation.
shape_slat_rescale_toptional
Typenumber
Default3
1 – 6
Sharpness of the noise schedule during shape generation.
tex_slat_guidance_strengthoptional
Typenumber
Default1
0 – 10
Strength of classifier-free guidance during texture generation.
tex_slat_guidance_rescaleoptional
Typenumber
Default0
0 – 1
Rescaling applied to guidance during texture generation; raise it when textures appear noisy.
tex_slat_guidance_interval_startoptional
Typenumber
Default0.6
0 – 1
Fraction of denoising where texture-stage guidance begins.
tex_slat_guidance_interval_endoptional
Typenumber
Default0.9
0 – 1
Stopping point for texture-stage guidance, expressed as a denoising fraction no smaller than tex_slat_guidance_interval_start.
tex_slat_sampling_stepsoptional
Typeinteger
Default12
1 – 50
Denoising step count during texture generation.
tex_slat_rescale_toptional
Typenumber
Default3
1 – 6
Sharpness of the noise schedule during texture generation.
decimation_targetoptional
Typeinteger
Default500000
5,000 – 2,000,000
Desired number of vertices in the GLB export.
texture_sizeoptional
Typeenum
Default2048
102420484096
Resolution of textures baked into the GLB export.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "trellis-2-lora",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 250,
    "usd": "0.25",
    "charged": 250,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "model_glb": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200
    },
    "seed": 42,
    "resolution": 1,
    "sparse_structure_lora_url": "string",
    "geometry_lora_url": "string",
    "texture_lora_url": "string",
    "decimation_target": 1,
    "texture_size": 1
  },
  "outputs": [
    {
      "type": "file",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
model_glb
object {url, content_type, file_name, file_size}GLB file containing the generated 3D model.
seed
integerSeed applied during generation.
resolution
integerResolution at which generation was performed.
sparse_structure_lora_url
string | nullSparse-structure LoRA checkpoint used during generation, if one was applied.
geometry_lora_url
string | nullGeometry LoRA checkpoint used during generation, if one was applied.
texture_lora_url
string | nullTexture LoRA checkpoint used during generation, if one was applied.
decimation_target
integerVertex-count target applied to the GLB export.
texture_size
integerResolution of textures baked into the GLB export.

For AI agents: this page as Markdown is at https://doitong.com/developers/models/trellis-2-lora.md. All models and guides: https://doitong.com/developers/llms.txt