Thrixel API

Generation

Generation endpoints — Architect (create), Sculptor (image-to-3D), Auto-fix (refine), Edit (modify), Upload.

Generate a model from a text prompt, images, or an existing mesh. All of these endpoints return a submission_id that you track via the endpoints on Track Progress.


Create a model

POST /api/v1/architect/submit

Requires API key.

Start a new generation from a text prompt, a reference image, or up to six images. At least one of task, image, or images is required.

Request Body

NameTypeDescription
taskstringNatural-language description of the model to create.
imagestringSingle reference image — base64 data URL or HTTPS URL.
imagesstring[]Up to 6 reference images (base64 or HTTPS URLs). Mutually exclusive with image.
project_idstringGroup the submission under a project.
adaptive_thinkingbooleanEnable extended thinking. Slower but higher quality. Default: true.
effortstringThinking effort: low, medium, or high. Only applies when adaptive_thinking is on. Default: high.

Example Request

curl -X POST https://api.thrixel.com/api/v1/architect/submit \
  -H "Authorization: Bearer sk-thrixel-<YOUR_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"task": "a small stone gargoyle holding a lantern"}'

Example Response

{
  "submission_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "queued",
  "created_at": "2026-04-20T14:32:11Z"
}

Sculpt a model

POST /api/v1/sculptor/submit

Requires API key.

The Sculptor engine produces photorealistic, organic results from an image or text prompt. It takes a single input — either a text prompt or one reference image. Unlike Architect, the output is a dense mesh, not an editable part hierarchy.

Request Body

NameTypeDescription
taskstringText description of the object to sculpt.
imagestringSingle reference image — base64 data URL or HTTPS URL.
imagesstring[]Reference image(s); the first is used. Mutually exclusive with image.
image_modelstringFor the text path, the model used to generate the reference image: gpt-image-2 (default) or nano-banana-2.
seedintegerRNG seed for reproducibility. 0–999,999. Default: 42. Change it for a different variation.
project_idstringGroup the submission under a project.

Provide either task or an image — Sculptor uses one input.

Example Request

curl -X POST https://api.thrixel.com/api/v1/sculptor/submit \
  -H "Authorization: Bearer sk-thrixel-<YOUR_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"task": "a ceramic teapot"}'

Example Response

{
  "submission_id": "e5f6a7b8-...",
  "status": "queued",
  "created_at": "2026-04-20T14:33:05Z"
}

Auto-refine

POST /api/v1/autofix/submit

Requires API key.

Run an automatic refinement pass on a completed Architect or Auto-fix submission. Thrixel inspects the result and produces an improved version.

Request Body

NameTypeDescription
parent_submission_idstring (required)ID of a completed Architect or Auto-fix submission.
project_idstringInherit or override the parent's project.
adaptive_thinkingbooleanEnable extended thinking for higher quality. Default: false.

Example Request

curl -X POST https://api.thrixel.com/api/v1/autofix/submit \
  -H "Authorization: Bearer sk-thrixel-<YOUR_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"parent_submission_id": "a1b2c3d4-..."}'

Example Response

{
  "submission_id": "b2c3d4e5-...",
  "status": "queued",
  "created_at": "2026-04-20T14:35:22Z"
}

Modify a model

POST /api/v1/edit/submit

Requires API key.

Apply a natural-language edit to an existing model. Example: "make the lantern glow blue".

Request Body

NameTypeDescription
parent_submission_idstring (required)ID of the submission to modify.
modification_requeststring (required)Description of the change to apply.
project_idstringInherit or override the parent's project.
adaptive_thinkingbooleanEnable extended thinking for higher quality. Default: false.
focus_on_node_namesstring[]Part names from the parent mesh to scope the edit to. Every part outside the list is held bit-identical. Empty/omitted = whole-mesh edit. Get part names from /api/v1/{submission_id}/hierarchy.

Example Request

curl -X POST https://api.thrixel.com/api/v1/edit/submit \
  -H "Authorization: Bearer sk-thrixel-<YOUR_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "parent_submission_id": "a1b2c3d4-...",
    "modification_request": "make the lantern glow blue"
  }'

Example Response

{
  "submission_id": "c3d4e5f6-...",
  "status": "queued",
  "created_at": "2026-04-20T14:38:01Z"
}

Upload an existing model

POST /api/v1/upload/submit

Requires API key.

Bring your own GLB file into Thrixel so you can run Auto-fix, Edit, or Detailer operations on it. Multipart form upload, max 100 MB.

Request Body

NameTypeDescription
glb_filefile (required)Binary .glb file (Content-Type: multipart/form-data).
taskstringOptional label describing the uploaded model. Max 2000 chars.
project_idstringAssign to a project.

Example Request

curl -X POST https://api.thrixel.com/api/v1/upload/submit \
  -H "Authorization: Bearer sk-thrixel-<YOUR_KEY>" \
  -F "glb_file=@./my_model.glb" \
  -F "task=hand-sculpted base mesh"

Example Response

{
  "submission_id": "d4e5f6a7-...",
  "status": "completed",
  "original_filename": "my_model.glb",
  "file_size_bytes": 4528192,
  "created_at": "2026-04-20T14:40:15Z"
}