Skip to content

Trellis 2 · Retexture

Integrate

Model id trellis-2/retexture
# 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/retexture?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",
    "mesh_url": "https://example.com/your-file.glb"
  }'

# 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.24 240 API credits Run it on this page

Get API key
Microsoft Image to 3D #image-to-3d

Retextures an existing untextured 3D mesh to match a reference image, outputting GLB

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

Reference-image URL used for texturing.

resolution default 1024

Texture detail and processing speed depend on this internal generation resolution: increasing it yields finer details but takes longer.

•required

Retexturing source URL for an untextured 3D mesh in GLB, OBJ, PLY, or STL format.

Advanced texture_size · 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 · seed
texture_size default 2048

Mesh texture resolution for baking. Finer surface detail comes with larger files when this resolution is increased.

default 1

Texture color fidelity control: closer adherence to colors in the input image at higher settings increases vividness but can cause oversaturation.

default 0

Increase this setting to address noisy textures or color banding: it reduces artifacts caused by strong guidance during the texture stage.

default 0.6

Classifier-free guidance activation point for texture generation. Expressed as a fraction of denoising progress, it sets interval_start; guidance operates only within the window bounded by interval_start and interval_end.

default 0.9

Stopping boundary for texture-stage classifier-free guidance, specified as a denoising fraction no smaller than tex_slat_guidance_interval_start.

default 12

Number of denoising steps used to generate textures. Increasing the step count takes longer but may yield cleaner textures.

default 3

Set texture detail sharpness through the texture-generation noise schedule; increasing this value yields sharper details.

Seed used for reproducible random generation.

POST /run/trellis-2/retexture?wait=20 quote → $0.24
# 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/retexture?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",
    "mesh_url": "https://example.com/your-file.glb"
  }'

# 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 · Retexture

Applies a new texture to the mesh at `mesh_url` (GLB, OBJ, PLY or STL) based on a reference `image_url`. `resolution` is 512 or 1024, and `texture_size` is 1024, 2048 or 4096. Texture-stage guidance and sampling controls are available. Geometry is not regenerated.

Parameters

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

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
Reference-image URL used for texturing.
mesh_urlrequired
Typestring
Retexturing source URL for an untextured 3D mesh in GLB, OBJ, PLY, or STL format.
seedoptional
Typeinteger | null
Seed used for reproducible random generation.
resolutionoptional
Typeenum
Default1024
5121024
Texture detail and processing speed depend on this internal generation resolution: increasing it yields finer details but takes longer.
tex_slat_guidance_strengthoptional
Typenumber
Default1
0 – 10
Texture color fidelity control: closer adherence to colors in the input image at higher settings increases vividness but can cause oversaturation.
tex_slat_guidance_rescaleoptional
Typenumber
Default0
0 – 1
Increase this setting to address noisy textures or color banding: it reduces artifacts caused by strong guidance during the texture stage.
tex_slat_guidance_interval_startoptional
Typenumber
Default0.6
0 – 1
Classifier-free guidance activation point for texture generation. Expressed as a fraction of denoising progress, it sets interval_start; guidance operates only within the window bounded by interval_start and interval_end.
tex_slat_guidance_interval_endoptional
Typenumber
Default0.9
0 – 1
Stopping boundary for texture-stage classifier-free guidance, specified as a denoising fraction no smaller than tex_slat_guidance_interval_start.
tex_slat_sampling_stepsoptional
Typeinteger
Default12
1 – 50
Number of denoising steps used to generate textures. Increasing the step count takes longer but may yield cleaner textures.
tex_slat_rescale_toptional
Typenumber
Default3
1 – 6
Set texture detail sharpness through the texture-generation noise schedule; increasing this value yields sharper details.
texture_sizeoptional
Typeenum
Default2048
102420484096
Mesh texture resolution for baking. Finer surface detail comes with larger files when this resolution is increased.
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/retexture",
  "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": 240,
    "usd": "0.24",
    "charged": 240,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "mesh_url": "https://example.com/your-file.glb"
  },
  "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
    }
  },
  "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}3D model generated in GLB format.

More models: Image to 3D

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