Guide · resin 3D printer STL API

Resin 3D printer STL API — Elegoo, Anycubic, Phrozen profiles built in

Generate STL files tuned to specific resin printers. First-class profiles for Anycubic Photon Mono M5s, Elegoo Saturn 3 Ultra, Elegoo Mars 4 Ultra, and Phrozen Sonic Mini 8K — with auto-generated tree supports.

Resin printing is unforgiving in a way FDM is not: walls below the resin minimum cure into nothing, supports placed wrong leave scars on the show face, an unsupported overhang means a layer-shift that destroys the print. The painful loop is generate-slice-print-fail-redo.

This guide explains how to use the 3D creative API in resin-first mode. The actor has first-class profiles for four specific resin printers, with the right wall-thickness minimums and exposure assumptions for each. Auto-generated SLA supports are based on a port of PrusaSlicer's tree-support algorithm.

Step by step

  1. 01

    Pick your printer profile

    Pass `printer` as one of: `anycubic_photon_mono_m5s`, `elegoo_saturn_3_ultra`, `elegoo_mars_4_ultra`, `phrozen_sonic_mini_8k`, or `generic_4k`. Use `list_printer_presets` (free) to see the full list and per-printer settings the API will apply.

  2. 02

    Generate the mesh

    Same `generate_3d_from_text` or `generate_3d_from_image` tool as the other guides. The chosen `printer` value influences the API's downstream choices: minimum wall thickness, recommended orientation, and support placement strategy.

  3. 03

    Auto-generate supports

    Call `generate_sla_supports` ($0.08) on the resulting STL. Output is a tree-style support structure tuned to your printer's build plate, with contact tips sized for the chosen resin profile (`standard_grey`, `water_washable`, `abs_like`, `high_detail`, `plant_based`). Pass `supports: false` if you want to handle them in Chitubox / Lychee yourself.

Example prompts

Copy, click, tweak — the CTA opens the terminal with the prompt pre-loaded.

Tabletop miniature on Saturn Art-deco knight 60mm tall, miniature style. printer: elegoo_saturn_3_ultra. quality: standard. Auto-supports. Try →
Detail piece on Phrozen Gothic gargoyle bust 40mm tall, dark fantasy style. printer: phrozen_sonic_mini_8k. quality: high. resin_profile: high_detail. Auto-supports. Try →
Iteration test on Anycubic Low-poly dragon figurine 50mm tall, cartoon style, optimised for minimal support contact. printer: anycubic_photon_mono_m5s. quality: lite (iteration tier). Try →

API call

Standard REST. Bearer token, JSON body, URL response. Works in any HTTP client, n8n, Make, Zapier, or MCP agent.

curl -X POST https://api.42rows.com/v1/3d-creative \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "generate_sla_supports",
    "stl_url": "https://...your-mesh.stl",
    "printer": "elegoo_saturn_3_ultra",
    "resin_profile": "standard_grey"
  }'

Pricing

Mesh generation Lite/Standard/High/Ultra $0.08–$2.00. SLA supports $0.08. Validate against printer profile $0.02–$0.05. Format conversion $0.03.

FAQ

Why are FDM printers not first-class profiles?

Resin printers were the first targets because the wall-thickness and overhang failure modes are unforgiving — there was a clear value in baking the rules into the API. FDM-specific profiles (Bambu, Prusa, Voron) are on the roadmap. The generic STL output still loads in any FDM slicer.

How does the support tree differ between printers?

The actor adjusts contact tip diameter, branch density, and pillar diameter based on per-printer parameters: Phrozen Sonic Mini 8K (high resolution, tighter contact tips), Elegoo Saturn 3 Ultra (medium-large bed, balanced support density), Anycubic Photon Mono M5s (standard density). Source: tree generator ported from PrusaSlicer.

Can I tune the support density manually?

Not yet through the API — the auto-generated tree uses sensible defaults per printer. If you need finer control, run the validation step, then take the STL and add manual supports in Chitubox / Lychee.

Which resin profiles affect the output?

The five `resin_profile` options (`standard_grey`, `water_washable`, `abs_like`, `high_detail`, `plant_based`) influence support contact tip dimensions and recommended orientation. They do not change mesh geometry — they tune the support structure for a specific resin's shrinkage behaviour.

Does the API guarantee print success?

No. It guarantees that the mesh is watertight and the supports are placed using a published algorithm tuned to the printer. Print failure can still happen — wrong exposure, dirty FEP, levelling drift. The validation step catches mesh-level issues, not printer-state issues.

Ship it

Use the first example prompt as a starter — the button opens the public terminal with it pre-filled.