{"slug":"print-api-williamrobinson-dev-v1-print-validate-07e47b","title":"Render a self-contained OpenSCAD model and perform bounded slicer checks","host":"print.api.williamrobinson.dev","method":"POST","resource":"https://print.api.williamrobinson.dev/v1/print/validate","category":"other","description":"Render a self-contained OpenSCAD model and perform bounded slicer checks","price_listed":0.05,"price_asked":0.05,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":529,"reported_calls_30d":5,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"maxSizeMm":[220,220,250],"parameters":{"height":12,"width":24},"profile":"fdm-pla-0.4","source":"width = 20; depth = 30; height = 10; cube([width, depth, height]);"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"maxSizeMm":{"default":[220,220,250],"items":{"exclusiveMinimum":0,"maximum":1000,"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"parameters":{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"},"profile":{"default":"fdm-pla-0.4","enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"source":{"description":"Self-contained OpenSCAD, interpreted in millimetres; maximum 16 KiB UTF-8 before and after overrides. External imports are prohibited.","maxLength":16384,"minLength":1,"type":"string"}},"required":["source"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"artifacts":{"items":{"additionalProperties":false,"properties":{"href":{"format":"uri","type":"string"},"mediaType":{"maxLength":128,"minLength":1,"type":"string"},"name":{"enum":["model.scad","model.stl","model.gcode","profile.ini","preview.png","report.json"],"type":"string"},"sha256":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sizeBytes":{"minimum":0,"type":"integer"}},"required":["name","mediaType","sizeBytes","sha256","href"],"type":"object"},"maxItems":6,"type":"array"},"checks":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"minLength":1,"type":"string"},"detail":{"maxLength":4096,"type":"string"},"status":{"enum":["passed","failed","not_checked"],"type":"string"}},"required":["code","status","detail"],"type":"object"},"maxItems":32,"type":"array"},"expiresAt":{"format":"date-time","type":"string"},"limitations":{"items":{"maxLength":4096,"type":"string"},"maxItems":16,"type":"array"},"model":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"boundsMm":{"additionalProperties":false,"properties":{"max":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"min":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"},"size":{"items":{"type":"number"},"maxItems":3,"minItems":3,"type":"array"}},"required":["min","max","size"],"type":"object"},"triangleCount":{"minimum":0,"type":"integer"},"volumeMm3":{"minimum":0,"type":"number"},"watertight":{"type":"boolean"}},"required":["triangleCount","boundsMm","volumeMm3","watertight"],"type":"object"}]},"parametersApplied":{"additionalProperties":{"anyOf":[{"description":"Maximum 512 UTF-8 bytes.","maxLength":512,"type":"string"},{"maximum":1000000,"minimum":-1000000,"type":"number"},{"type":"boolean"}]},"default":{},"description":"Overrides must name unique top-level scalar literal assignments, not derived expressions or reserved names.","maxProperties":64,"propertyNames":{"pattern":"^[A-Za-z_][A-Za-z0-9_]{0,63}$"},"type":"object"},"profile":{"enum":["fdm-pla-0.4","fdm-petg-0.4"],"type":"string"},"recommendations":{"items":{"additionalProperties":false,"properties":{"code":{"maxLength":128,"type":"string"},"message":{"maxLength":4096,"type":"string"}},"required":["code","message"],"type":"object"},"maxItems":32,"type":"array"},"status":{"enum":["passed","rejected"],"type":"string"},"tools":{"additionalProperties":false,"properties":{"openscad":{"type":"string"},"slicer":{"type":"string"}},"required":["openscad","slicer"],"type":"object"},"warnings":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"}},"required":["status","profile","parametersApplied","tools","model","checks","warnings","recommendations","limitations","expiresAt","artifacts"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.05,"price_match":true,"latency_ms":529,"error":null}],"description_full":"Render a self-contained OpenSCAD model and perform bounded slicer checks","last_updated":"2026-09-11T00:11:02.058Z","schemes":["exact"]}