Guide · text to STL API

Text-to-STL API — generate print-ready 3D models from a prompt

A text-to-STL API that outputs watertight, printer-tuned meshes. Elegoo, Anycubic, Phrozen presets baked in. SLA supports auto-generated. Ready for your slicer, not your render engine.

Most text-to-3D services are built for game assets and renders: pretty mesh, non-manifold geometry, no thought to the print bed. Drop that STL into Cura or Bambu Studio and you will see what needs fixing before you can hit print.

This guide walks through a text-to-STL API built the other way around: print-first. You get a watertight mesh, auto-repaired, optionally with SLA support trees tuned to your specific resin printer (Elegoo Saturn, Anycubic Photon, Phrozen Sonic, etc.). Target dimensions in millimetres are a first-class parameter.

Step by step

  1. 01

    Describe the object — with a scale

    Include real-world size in the prompt: '60mm tall chess knight, resin printer' beats 'chess knight'. Also mention printer type (resin vs FDM) and style (miniature, functional part, art). The actor respects these constraints during generation.

  2. 02

    Pick a quality tier

    Draft (~30s, $0.08) is great for iteration. Standard (~45s, $0.15) is the default for printable output. High (~60s, $0.25) and Ultra (~120s, $2.00) increase polygon density for finer detail. Quality tier controls poly count, not style.

  3. 03

    Get an STL plus a DFM report

    Response includes the mesh file URL, a watertight-check flag, and suggested slicer settings for your chosen printer. Drop it into Cura / Bambu Studio / Chitubox and slice — no cleanup round-trip through MeshMixer.

Example prompts

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

Resin miniature Art-deco chess knight, 60mm tall, resin printer (Elegoo Saturn). Miniature style. Auto-generate supports. Style: stylised, bold silhouette. Try →
Functional FDM bracket Bracket to mount a GoPro under a desk lip. 40mm wide, 4mm thick, two M3 through-holes 30mm apart. FDM PLA, no supports. Try →
Tabletop figurine Low-poly dragon figurine, 80mm tall, cartoon style, FDM Prusa i3. Optimise for minimal support material. 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 '{
    "prompt": "art-deco chess knight, 60mm, resin printer",
    "quality": "standard",
    "target_size_mm": 60,
    "printer": "elegoo-saturn",
    "format": "stl"
  }'

Pricing

From $0.08 (Draft) to $2.00 (Ultra) per mesh. Printer profiles and supports included.

FAQ

Will the STL actually print without repair?

In testing, meshes pass slicer validation without repair in 90%+ of runs. The API flags parts that fall below minimum wall thickness for the target size — physics, not bad generation.

Which printers are supported out of the box?

Resin: Elegoo Mars/Saturn, Anycubic Photon/Mono X, Phrozen Sonic series. FDM: Prusa i3, Bambu Lab X1, Ender 3. Generic any-resin and any-FDM profiles as fallback.

Can I input a reference photo instead of text?

Yes — pass `image_url`. Works best with a single object on a plain background. Cluttered photos confuse the reconstructor and you will get noisy meshes.

What about supports for resin?

Select a resin printer profile and support generation runs automatically, using a tree structure tuned to that printer. Pass `supports: false` to skip.

Size limits?

Up to 300mm in the longest dimension. Larger prints split manually in your slicer.

Ship it

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