Resin Exposure Time Calculator · Schema

Raw schema.

Same JSON the GET /v1/resin-printing/exposure-time-calculator/schema endpoint returns — formatted for reading. Use it to codegen typed clients or document the contract.

exposure-time-calculator.schema.json
{
  "tool": "exposure-time-calculator",
  "domain": "resin-printing",
  "version": "1.0.0",
  "name": "Resin Exposure Time Calculator",
  "description": "Layer and bottom exposure plus Jacob's-curve cure depth from resin critical energy, penetration depth, printer LED power and layer height. Flags under-cure (delamination) and over-cure (brittle, blooming).",
  "standard": "Jacobs working-curve",
  "inputs": [
    {
      "key": "resin_cure_energy_mj_cm2",
      "label": "Critical Energy (Ec)",
      "required": true,
      "unit": "mJ/cm²",
      "help": "From the resin spec or a working-curve test. Siraya Blu ~5, Anycubic Standard ~8, ABS-Like ~15, dental/castable 25+.",
      "type": "number",
      "min": 1,
      "max": 500,
      "step": 0.5,
      "default": 8
    },
    {
      "key": "resin_penetration_depth_um",
      "label": "Penetration Depth (Dp)",
      "required": true,
      "unit": "µm",
      "help": "Jacob's-curve slope. Standard 405 nm resins sit at 150-250 µm; opaque/loaded resins lower.",
      "type": "number",
      "min": 20,
      "max": 500,
      "step": 5,
      "default": 200
    },
    {
      "key": "printer_led_power_mw_cm2",
      "label": "Printer LED Power",
      "required": true,
      "unit": "mW/cm²",
      "help": "Mars 3 Pro 3.4, Saturn 3 5.0, Mono M5s 4.5, Sonic Mini 8K S 4.0. Measure with a UV meter for accuracy.",
      "type": "number",
      "min": 0.5,
      "max": 50,
      "step": 0.1,
      "default": 4.5
    },
    {
      "key": "layer_height_um",
      "label": "Layer Height",
      "required": true,
      "unit": "µm",
      "type": "number",
      "min": 10,
      "max": 200,
      "step": 5,
      "default": 50
    },
    {
      "key": "overcure_target_um",
      "label": "Target Over-Cure Depth",
      "required": true,
      "unit": "µm",
      "help": "Extra cure into the previous layer for adhesion. 20-50 µm is typical.",
      "type": "number",
      "min": 10,
      "max": 200,
      "step": 5,
      "default": 30
    },
    {
      "key": "bottom_exposure_multiplier",
      "label": "Bottom Multiplier",
      "required": true,
      "unit": "×",
      "help": "Multiplier for bottom-layer exposure. 6-10× is the safe range.",
      "type": "number",
      "min": 2,
      "max": 20,
      "step": 0.5,
      "default": 8
    },
    {
      "key": "bottom_layer_count",
      "label": "Bottom Layer Count",
      "required": true,
      "type": "integer",
      "min": 1,
      "max": 30,
      "step": 1,
      "default": 6
    }
  ],
  "outputs": [
    {
      "key": "normal_exposure_s",
      "label": "Normal Exposure",
      "type": "number",
      "unit": "s",
      "precision": 2
    },
    {
      "key": "bottom_exposure_s",
      "label": "Bottom Exposure",
      "type": "number",
      "unit": "s",
      "precision": 1
    },
    {
      "key": "delivered_energy_mj_cm2",
      "label": "Delivered Energy / layer",
      "type": "number",
      "unit": "mJ/cm²",
      "precision": 2
    },
    {
      "key": "cure_depth_um",
      "label": "Cure Depth",
      "type": "number",
      "unit": "µm",
      "precision": 1
    },
    {
      "key": "headroom_um",
      "label": "Adhesion Headroom",
      "type": "number",
      "unit": "µm",
      "precision": 1
    },
    {
      "key": "status",
      "label": "Status",
      "type": "string"
    }
  ],
  "endpoint": "/v1/resin-printing/exposure-time-calculator"
}