DEV Community

卢吉江
卢吉江

Posted on

Image to STL: why your image-to-3D model won't slice

An image to 3D model is a one-click operation now. The part nobody warns you about is what happens when you drag that result into a slicer, because "image to 3D" and "image to STL" are not the same job. One produces a mesh that looks right. The other produces a file a printer can actually execute.

Four things break in between, in the same order, almost every time.

1. An image to STL export has no units. Your slicer assumes millimetres.

STL is a 1987 format. It stores coordinates and nothing else — no unit, no scale, no axis convention. Cura, PrusaSlicer and Bambu Studio all assume one unit is one millimetre.

Image to 3D models output normalised meshes: the bounding box usually sits somewhere between -1 and 1, with no relationship to physical size. So a bust that filled the viewport lands 2 mm tall in the slicer. You did not get a broken model. You got a model with no ruler.

There are two fixes. Scale it in Blender to a target height and re-export — or bake millimetres at export time. The second one is not just "multiply by a constant", and that is the point of section 4.

2. Non-manifold geometry: the repair is not always real

Meshes from depth or multi-view reconstruction almost always carry self-intersections, flipped normals and zero-thickness walls. Every slicer ships an auto-repair, but repair quality is inversely proportional to mesh complexity: on a two-million-triangle mesh the repair frequently "succeeds" and still slices into a hollow shell.

The check takes five seconds: look at the first few layers in layer view. If layer one is a solid outline, you are fine. If it is fragments, or a thin ring, the repair did not take. Do not print it.

3. A relief has no back

A photograph is 2.5D. A model inferred from a single front-facing image is a surface with relief — no back, no base, no thickness. Printed as-is you get a 0.5 mm shell that lifts off the bed before the first layer finishes.

Either add a base and a backing plate before export, or model a box and inset the relief into it.

4. Detail density is ten times finer than your nozzle

A 0.4 mm nozzle reliably reproduces features around 0.4–0.5 mm. Map a 2000 px wide image onto a 60 mm bust and one pixel is 0.03 mm — more than ten times finer than the nozzle. That detail does not become detail. It becomes noise and whiskers.

Which means target size has to be decided before generation, not after. A 60 mm keychain and a 200 mm display piece do not want the same mesh scaled differently; they want two different density strategies.

What a recipe-first image to STL flow changes

PhotoSTL starts from the print instead of the mesh. You pick a print recipe first — general object, pet bust, logo relief, miniature, jewelry or charm, product prop, architecture — and the recipe fixes the target size in millimetres, base thickness and minimum wall thickness before generation. Everything downstream is constrained by that.

Then:

  • Millimetre baking. The exported STL or 3MF arrives at final size. Drop it in the slicer; do not scale it.
  • A printability check before download. Watertightness, regions thinner than the minimum wall, overhang angles that will need support. It tells you where it fails rather than handing you a model that merely looks fine.
  • The raw GLB stays yours. Want to retopo, decimate or rig it in Blender? Take the original mesh. No black box.
  • No CAD install. Upload, generate, preview and export all happen in the browser. A PNG or JPG goes in, a print draft comes out in about 30 seconds.

What it is not

  • Not a game-asset pipeline. No rigging, no UV unwrapping, no PBR textures. This is for objects that leave a printer, not objects that enter an engine.
  • One image in, one draft out. Multi-view input helps, but the returns saturate quickly after the first good front-facing shot. Tools advertising "upload 20 photos for a perfect model" are usually covering for the ceiling of single-image reconstruction.
  • Supports are still your job. The check tells you where they are needed. It does not choose between tree and linear for you.

FAQ

What is an image to STL converter?
A tool that takes a 2D image — JPG, PNG or WebP — and returns a 3D file your slicer can open, usually STL or 3MF. The conversion itself is the easy half. What decides whether the file prints is scale, thickness and wall geometry.

Is image to STL the same as photo to STL?
For most people searching, yes — same maker job, two phrasings. PhotoSTL is built as an image to STL converter first, with image to 3D preview through the raw GLB. The difference that matters is not the wording, it is whether the export arrives in millimetres with a base and a wall thickness.

Which image works best?
One centred subject, plain background, even lighting. For a pet bust use a clear face or a side profile; for a logo relief use high-contrast artwork; for general objects show the whole item with space around thin parts. Busy scenes and heavy blur reduce mesh quality.

Do I need Blender or CAD?
Not to get a printable draft. You need Blender if you want to edit the mesh itself — retopo, decimate, sculpt — and the raw GLB is there for exactly that.

Try it

Thirty free credits, roughly three drafts, no card: https://photostl.com/

If it still fails on your printer, bring the slicer screenshot and the source image. "Didn't work" is unactionable; I have found that roughly half of these are scale, thirty percent are thin walls, and only the remainder is the model itself.

Top comments (0)