X3DStudios
Developer API

Generate and ship — programmatically.

Drop the Trimod pipeline into your own product. REST endpoints with API key auth. Webhooks fire when models finish. Rate-limited by tier.

⚠ API is in private beta. Pro Studio plans get keys on request.
POST/api/generate

Text-to-3D. Submit a prompt, receive a validated .glb URL plus print-readiness verdict.

Request body
{
  "prompt": "modern geometric lampshade",
  "mode": "fast_draft",         // or "hi_fi"
  "style": "geometric",
  "advanced": {
    // Mesh
    "meshQuality": "standard",  // standard · high · ultra
    "topology": "triangles",    // triangles · quads
    "smoothing": "light",       // off · light · strong
    "hollowing": "solid",       // solid · hollow
    "wallThicknessMm": 2.0,

    // Texture
    "textures": true,
    "textureResolution": "2k",  // 1k · 2k · 4k · 8k
    "textureMaps": ["albedo", "normal", "roughness"],
    "textureStyle": "realistic",
    "uvMode": "auto",

    // Material (digital shading)
    "surface": "matte",         // matte · glossy · metallic
    "materialDetail": "medium", // low · medium · high

    // Output
    "engine": "auto",           // auto · trellis · tripo · hunyuan · meshy · rodin
    "outputFormat": "glb",      // glb · obj · stl · fbx · usdz
    "coordinateSystem": "y_up", // y_up · z_up
    "symmetry": "auto",         // auto · off · x · y · z
    "variations": 1,            // 1 · 2 · 4
    "refinementPass": false,
    "seed": 42
  }
}
Response
{
  "modelUrl": "https://cdn.trimod.ai/<id>.glb",
  "taskId": "task_8a1c...",
  "source": "3daistudio",
  "mode": "fast_draft",
  "inputMode": "text",
  "creditsCharged": 1,
  "printStatus": "ready",
  "printDetail": "walls 2.1mm · 0 overhangs"
}
POST/api/generatemultipart/form-data

Image-to-3D and image + text. Upload a PNG/JPEG/WEBP under 10MB. Background is removed by default. Every advanced option from the JSON body can also be sent as a form field — multiple textureMaps fields are accepted.

Request fields
# Required
inputMode        = "image" | "image_text" | "text"
mode             = "fast_draft" | "hi_fi"
image            = <file: PNG | JPEG | WEBP, ≤ 10MB>

# Common
style            = "geometric"
prompt           = "tweak description" (image_text only)
removeBackground = "true" | "false"
reconstruction   = "full" | "silhouette"

# Advanced — same names as the JSON body
meshQuality      = "standard" | "high" | "ultra"
topology         = "triangles" | "quads"
smoothing        = "off" | "light" | "strong"
hollowing        = "solid" | "hollow"
wallThicknessMm  = 2.0
textures         = "true" | "false"
textureResolution = "1k" | "2k" | "4k" | "8k"
textureMaps      = "albedo" (repeat for each map)
textureStyle     = "stylized" | "realistic" | "plain"
uvMode           = "auto" | "smart" | "box"
surface          = "matte" | "glossy" | "metallic"
materialDetail   = "low" | "medium" | "high"
engine           = "auto" | "trellis" | "tripo" | "hunyuan" | "meshy" | "rodin"
outputFormat     = "glb" | "obj" | "stl" | "fbx" | "usdz"
coordinateSystem = "y_up" | "z_up"
symmetry         = "auto" | "off" | "x" | "y" | "z"
variations       = 1 | 2 | 4
refinementPass   = "true" | "false"
seed             = 42
Response
{
  "modelUrl": "https://cdn.trimod.ai/<id>.glb",
  "taskId": "task_3f0b...",
  "source": "3daistudio",
  "mode": "fast_draft",
  "inputMode": "image",
  "creditsCharged": 2,
  "printStatus": "repaired",
  "printDetail": "filled 3 holes · fixed normals"
}
POST/api/price

Quote a physical print from bounding box dimensions, material, and quantity.

Request body
{
  "bboxMm": { "x": 120, "y": 80, "z": 60 },
  "material": "pla",
  "quality": "standard",
  "quantity": 1
}
Response
{
  "grams": 50,
  "printHours": 3.36,
  "materialCost": 3,
  "machineCost": 8.4,
  "handling": 1.25,
  "subtotal": 12.65,
  "shipping": 5,
  "baseFee": 4,
  "total": 21.65,
  "currency": "USD"
}

Want API access?

Email us with your use case. We respond within one business day.