# Image to STL: Turn a Photo Into a 3D-Printable Model With AI Canonical page: https://fuser.studio/articles/image-to-stl To turn an image into an STL, run the photo through Hunyuan3D V3 in Fuser, download the mesh as STL and check it in your slicer. Tested on two photos. [All guides](https://fuser.studio/articles) · [Best AI 3D model generators](https://fuser.studio/articles/best-ai-3d-model-generators) **Quick answer:** To turn an image into an STL, run the photo through [Hunyuan3D V3](https://fuser.studio/models/hunyuan3d-v3) in Fuser, then download the mesh as STL from the viewer and open it in your slicer. In our test it was the only generator of three whose meshes came back watertight from both photos. Know the limits first: it works on one object per photo, thin parts, small text and glass come out wrong, and the STL carries no colour, no units and a Y-up axis, so check orientation, scale and wall thickness before you print. This guide is about AI reconstruction: a photographed object becomes a full 3D model with a back and sides. If you want a flat logo extruded or a lithophane from a PNG or JPG, that is a heightmap job, and a converter that maps brightness to height does it better. ## Image to STL test: two photos, three AI generators We made two studio photos with [FLUX.3 Image](https://fuser.studio/models/flux-3-image): a carved limewood chess knight and a small plaster bust of a fictional sea captain. Each photo went into Hunyuan3D V3, [Meshy 7](https://fuser.studio/models/meshy) and [Trellis 2](https://fuser.studio/models/trellis-2) at their Fuser defaults, one run each. We rendered every mesh without its texture, because that is what an STL keeps, then exported each one the way Fuser's STL download does and checked whether it was closed. ![Image to STL test: a limewood chess knight photo beside untextured renders of the meshes from Hunyuan3D V3, Meshy 7 and Trellis 2.](https://statics.fuser.studio/cms/91869e54-9c88-496d-b3e0-5596dea4d015) _Test 1: one AI-generated photo (FLUX.3 Image, 1024 px) into three image-to-3D nodes at default settings, one run each, 23 October 2026. Meshes rendered without texture under the same studio light, as the STL would print._ On the knight, all three reconstructed the turned base, the grooved mane and the back of the head that the photo never showed. At this distance the three are hard to tell apart; Meshy's base is slightly lumpier. ![Close-up of a plaster bust photo and the faces of its 3D models from Hunyuan3D V3, Meshy 7 and Trellis 2, rendered without texture.](https://statics.fuser.studio/cms/9415ff94-fc2a-4c7c-8c99-6eebc525bcd3) _Test 2: the bust photo and the face of each mesh, same camera. Hunyuan3D V3 at 500,000 faces, Meshy 7 remeshed to its default 30,000 triangles, Trellis 2 at 1024. One run each, 23 October 2026._ The close-up is where printing detail lives. Hunyuan3D V3 kept the forehead lines, the knit ribs of the cap and separate beard curls. Trellis 2 kept nearly as much, with a little surface noise. Meshy 7 came back faceted, because the node remeshes to 30,000 triangles by default. At a 60 mm print height, those flat facets show on the face. Then the part that decides whether a slicer complains. We joined each mesh at shared vertices and counted edges that are not shared by exactly two triangles: - **Hunyuan3D V3:** 0 open edges and 0 non-manifold edges on both the knight (500,000 triangles) and the bust (498,780). Closed, single-surface meshes that a slicer reads as solid. - **Meshy 7:** 131 open and 62 non-manifold edges on the knight (29,763 triangles), 56 and 26 on the bust. Small holes that a slicer's repair step usually closes. - **Trellis 2:** 30 open and 667 non-manifold edges on the knight (476,758 triangles), 15 and 2,091 on the bust. Trellis 2 is [built to handle](https://github.com/microsoft/TRELLIS.2) open surfaces and non-manifold geometry, which suits game assets more than printing. Run a repair before slicing. Speed, informally, through one provider on one day: Trellis 2 returned in 40 to 50 seconds, Hunyuan3D V3 in about 2 minutes and Meshy 7 in about 3 to 4 minutes. ## Step 1: Prepare the photo Image-to-3D models infer the unseen sides from one view, so the photo does most of the work. Any JPG or PNG works as input. What matters is what is in it: - **One object, whole and centred.** Leave a margin around it. Image-to-3D models expect a single, isolated subject, so a group shot or a cluttered shelf produces a merged lump. - **A plain background.** If yours is busy, put a [Background Remover](https://fuser.studio/models/background-remover) node (Bria RMBG 2.0) before the 3D node to cut the object out as a transparent PNG. - **A three-quarter view in soft, even light.** It shows two sides at once. Hard shadows read as shape. - **Chunky forms over fine ones.** Wire, thin stems, legible text and glass or chrome come out wrong or blurred. They also tend to be what breaks on the print bed. - **No photo yet?** Generate a clean studio shot of the object with an image model first, as we did here, then wire it straight into the 3D node. ## Step 2: Generate the mesh with Hunyuan3D V3 Connect the photo to the **Image** input of the Hunyuan3D V3 node and run it. Two settings matter for printing: - **Face Count** (40,000 to 1,500,000, default 500,000). The default held the beard and cap detail in our test. Go lower for simple shapes and smaller files. - **Generation Type.** Normal returns a textured mesh. Geometry returns the shape without a texture and costs less, which suits printing since the STL drops colour anyway. Low Poly is for real-time assets, not prints. If you have front, side and back photos of the same object, use [Hunyuan3D Multiview](https://fuser.studio/models/hunyuan3d-multiview) instead so the back is built from a real view, not invented. The [Hunyuan3D guide](https://fuser.studio/articles/hunyuan3d-guide) covers every setting. Meshy 7 is the alternative when you also want PBR textures from the same run. For printing, turn the node's **Remesh** off or raise its polycount above the 30,000 default; Meshy's [own documentation](https://docs.meshy.ai/en/api/image-to-3d) recommends remesh off for the highest-quality model. [Tripo 3D](https://fuser.studio/models/tripo-3d) and [Rodin](https://fuser.studio/models/rodin) also run on the same photo; see [Meshy vs Rodin vs Tripo](https://fuser.studio/articles/meshy-vs-rodin-vs-tripo) for how they compare. ## Step 3 (optional): Lighten the mesh with Meshy 5 Remesh A binary STL takes 50 bytes per triangle, so the 500,000-triangle knight comes out at about 25 MB. Most slicers open that without trouble. If yours struggles, or you want a smaller file to share, send the mesh to [Meshy 5 Remesh](https://fuser.studio/models/meshy-5-remesh). It rebuilds the topology at a target polycount between 100 and 300,000 and can move the origin to the bottom of the model. Check the remeshed result for holes again before you print it. ## Step 4: Download the STL from the mesh viewer Right-click the 3D preview in the node and choose **Download as → STL**. Fuser writes a binary STL of the loaded model in your browser. Know what that file holds: ![Slider over a Hunyuan3D V3 chess knight: the textured GLB on the left, the same mesh as STL geometry with no colour on the right.](https://statics.fuser.studio/cms/37620915-88a5-446a-8b3c-580d41b4c2d3) _Left: the Hunyuan3D V3 knight as a textured GLB. Right: the same mesh as the STL stores it, shape only. One run, default settings, rendered 23 October 2026._ - **Geometry only.** STL stores triangles and nothing else, so the texture, colours and materials are dropped. Keep the GLB (**Download original**) if you also want the coloured model. - **No units.** STL has no unit field. The file keeps the model's own coordinates, and our Hunyuan3D V3 meshes were about 1 unit tall. A slicer that reads millimetres shows them roughly 1 mm high. - **Y-up.** The mesh keeps glTF's +Y-up axis. Most slicers treat Z as up, so the model can arrive lying on its side. ## Step 5: Check it in the slicer before you print 1. **Orientation.** Rotate the model 90° or use your slicer's lay-on-face tool so the flat base sits on the plate. 2. **Scale.** Set the height you want, for example 60 mm, with uniform scaling on. 3. **Manifold errors.** If the slicer reports open or non-manifold edges, run its repair. In our test only the Hunyuan3D V3 meshes needed none. 4. **Thin parts and wall thickness.** At small sizes, ears, curls and ridges can end up thinner than your nozzle can print and vanish. Scale up, or print on a resin printer for fine detail. 5. **Supports.** Muzzles, beards and chins overhang. Add supports, or tilt the model so less of it hangs in the air. ## How much an AI STL generator costs per model Fuser shows each node's cost before you run it. Relative to Hunyuan3D V3 at the settings we used, Trellis 2 and Tripo 2.5 cost a little over half as much per generation and Meshy 7 about one and a half times as much. ![Bar chart of image-to-3D generation cost relative to Hunyuan3D V3 for SAM 3D Objects, Trellis 2, Tripo 2.5, Rodin, Meshy 7 and Meshy 7.1.](https://statics.fuser.studio/cms/a3d95198-9e12-474d-b194-3624862f29ff) _Cost per image-to-3D generation relative to Hunyuan3D V3 (Normal, 500,000 faces), at published prices on 23 October 2026. Lower is cheaper._ Last verified 23 October 2026. ## Which 3D generator to use for an STL. All of these run on the same photo in Fuser, and any of their meshes downloads as STL from the viewer. ### Generate | Generator | Best for printing when | Catch | | --- | --- | --- | | Hunyuan3D V3 | You want a closed, detailed mesh from one photo. Watertight on both of our test objects. | Single objects only; thin parts, text and glass fail. | | Hunyuan3D Multiview | You have front, side and back photos of the object. | Needs matching views at the same scale. | | Meshy 7 | You also want PBR textures from the same run. | Default remesh to 30,000 triangles faceted our bust; a few open edges. | | Trellis 2 | You want the fastest draft that stays close to the photo. | Hundreds to thousands of non-manifold edges in our test; repair before slicing. | | Tripo 3D | Props and stylised figures from one image or a multi-view sheet. | Photoreal faces, glass and multi-object scenes. | | Rodin | Hard-surface parts with clean, quad-based topology. | Complex scenes and photoreal heads. | ### Prepare and finish | Generator | Best for printing when | Catch | | --- | --- | --- | | Background Remover | The object sits on a busy background. | Cuts out the subject only; it can't add a missing side. | | Meshy 5 Remesh | The STL is too heavy to share or slice comfortably. | Re-check for holes after remeshing. | ## Questions, answered. ### Can AI convert an image to STL? Yes. An image-to-3D model reconstructs the object in the photo, including the sides it can't see, and you export the mesh as STL. In Fuser, connect the photo to Hunyuan3D V3, run it, then right-click the 3D preview and choose Download as → STL. ### Is the STL watertight and printable? From Hunyuan3D V3 in Fuser, it was in our test: both meshes had zero open and zero non-manifold edges. Meshy 7 and Trellis 2 meshes had holes or non-manifold edges that a slicer's repair step has to fix. Whatever the generator, set the scale, orientation and supports in your slicer before printing. ### What image works best for image to STL? One object, whole in the frame, on a plain background, in a three-quarter view with soft light. JPG and PNG both work. Use the Background Remover node first if the background is busy, then send the cutout to Hunyuan3D V3 in Fuser. Avoid glass, thin wire and small text. ### Can I make an STL from text? Yes. Hunyuan3D V3 in Fuser also runs text-to-3D: leave the Image input empty and describe the object in the prompt. Download the result as STL from the viewer the same way. Meshy 7.1 has a text mode too. ### Can I convert a PNG or JPG to STL for a lithophane or a flat logo? That is a heightmap job, where brightness becomes height, and a dedicated converter does it better. Use Hunyuan3D V3 in Fuser when the photo shows a real object you want as a full 3D model. ### Why is my STL tiny or lying on its side in the slicer? STL has no units and Fuser exports the model's own coordinates, which for our Hunyuan3D V3 meshes were about 1 unit tall, so a slicer reading millimetres shows about 1 mm. The file is also Y-up. Scale it to your target height and rotate it so the base sits on the plate. ## Turn your photo into a printable STL. Run Hunyuan3D V3 on your image, check the mesh on the canvas and download it as STL. [Open Hunyuan3D V3 in Fuser](https://fuser.studio/models/hunyuan3d-v3) · [Compare 3D generators](https://fuser.studio/articles/best-ai-3d-model-generators) ## More articles - [Best AI 3D Model Generators (2026)](https://fuser.studio/articles/best-ai-3d-model-generators.md) - [FLUX.3 Klein vs FLUX.3 Image: Same-Prompt Test of Quality, Speed, Cost and Editing](https://fuser.studio/articles/flux-3-klein-vs-flux-3-image.md) - [Hunyuan3D Guide: Image to 3D, Low Poly Topology and Multiview](https://fuser.studio/articles/hunyuan3d-guide.md)