Disclosure: this is an independent hands-on test. Both tools were run on ordinary customer accounts; neither company supplied review access or saw this piece before publication.
My verdict in 60 seconds — Tripo 60/100, SupaVoxel 90/100
I gave one Halloween reference image — a swirling candle holder with ghost faces bored into it — to Tripo and to SupaVoxel on the same night, exported GLB from both with default settings, and then measured both files offline the way a print shop measures: weld the vertices by position, then count shells, boundary edges, winding, overhang area and resin. A candle holder is a good test because it can fail in public. It either stands level and holds a candle, or it does not. Both files pass that test. Only one of them passes it without a repair session first: Tripo's mesh comes back with 183 boundary edges and inconsistent face winding, SupaVoxel's with zero boundary edges and consistent winding, for 3 credits instead of Tripo's 55.
Here is the scorecard for this one job — one reference image in, one 120 mm printable candle holder out.
- Boundary edges after welding — Tripo 3/10 (183 holes to patch) · SupaVoxel 10/10 (0) — this row alone decides whether you open Blender
- Face winding — Tripo 3/10 (inconsistent; some faces point inward) · SupaVoxel 10/10 (consistent)
- Non-manifold edges — Tripo 9/10 (36) · SupaVoxel 5/10 (366) — Tripo genuinely wins this row
- Mesh hygiene — Tripo 6/10 (1 degenerate, 235 sliver faces) · SupaVoxel 9/10 (0 and 22)
- Support burden at 45° — Tripo 8/10 (4,405.2 mm², 15.99%) · SupaVoxel 7/10 (4,754.8 mm², 17.35%) — Tripo wins this row too
- Usable precision at a 0.4 mm nozzle — Tripo 9/10 (0.2033 mm mean edge) · SupaVoxel 9/10 (0.292 mm) — both already finer than the nozzle
- Functional geometry (holes, cup, base) — Tripo 9/10 (7 pierced eyes, cup is a recess) · SupaVoxel 10/10 (8 pierced eyes, 24.59 mm deep bores)
- Cost of one printable file — Tripo 2/10 (55 credits, 61.36 MB) · SupaVoxel 10/10 (3 credits, 5.28 MB)
What is actually wrong with the Tripo file, part by part: after welding it still has 183 boundary edges, so a slicer does not read it as a solid; its winding is inconsistent, so part of the surface faces inward and you have to recalculate normals as a second, separate pass; it ships 45 disconnected shells with an Euler characteristic of −106; and it spends 55 credits and 61.36 MB to deliver 78.05 cm³ of object where SupaVoxel delivers 77.29 cm³ — a 0.97% difference, two cents of resin. For this job I would generate on SupaVoxel and spend the saved hour on the print instead of on the repair.
The only input: one 1,520,356-byte PNG (sha256 8781d5ae…), fed unretouched to both products. Note that it shows the front only — the cup mouth, the tall front ghost, the flared base. Nothing behind.
Weld first, or every number is about UV seams
A candle holder has to stand level, hold a candle, and keep the wax out of the base — yes/no questions a render cannot answer. So I parsed both GLBs offline with pygltflib and trimesh; nothing here is copied out of Tripo's result panel, although Tripo's panel is honest, reporting Faces 1932883 / Vertices 1002116 against a file containing exactly that.
Raw, both exports split vertices along texture seams: Tripo 70,415 boundary edges, SupaVoxel 47,540. Those describe UV islands, not geometry. Every slicer welds by position on import, so the honest measurement comes after a merge — Tripo 1,002,116 file vertices down to 966,409, SupaVoxel 496,784 down to 472,554. Tripo needs 2.05× the welded vertices and 2.04× the triangles (1,932,883 against 945,492) to describe the same candle holder.
After welding, Tripo has 183 holes
- Boundary edges — Tripo 183 · SupaVoxel 0
- Winding consistent — Tripo false · SupaVoxel true
- Connected components — Tripo 45 · SupaVoxel 245
- Euler characteristic — Tripo −106 · SupaVoxel +174
- Watertight — Tripo no · SupaVoxel no
Neither file is watertight, and I am not going to pretend otherwise. They are unwatertight in two different ways, and the difference is the number of manual passes before slicing. Tripo's file leaks: 183 boundary edges are 183 edges belonging to exactly one triangle — actual gaps — and the inconsistent winding adds a recalculate-normals pass on top of the patch. Two operations, in order, on every copy. The SupaVoxel file has no gaps and no inverted faces; it has 366 non-manifold edges and 245 loose shells, which one merge-and-clean pass resolves. Tripo charged 55 credits for the file that needs two passes.
Where Tripo genuinely wins: 36 non-manifold edges against 366
This is the row I would be embarrassed to bury. Tripo's welded mesh has 36 non-manifold edges; SupaVoxel's has 366, ten times more. Non-manifold edges are edges shared by three or more faces, and a slicer meeting one has to guess which side is the inside.
It is a real defect in the SupaVoxel file and I would not print either mesh without a cleanup. The trade ratio is what makes it survivable: those 330 extra non-manifold edges replace 183 boundary-edge patches plus a full normals flip, and they cost 3 credits instead of 55 — one cleanup pass against two repair passes, at 18.3× less credit. The row next to it goes the other way: sliver faces, the long thin triangles that produce self-intersecting toolpaths, run 235 on Tripo against 22 on SupaVoxel, and Tripo also ships the one degenerate zero-area face in this test.
SupaVoxel with textures off — 945,492 triangles. Every ghost eye is still a black opening here, which is the point of this render: the holes are geometry, not paint.
Tripo, same camera, textures off — 1,932,883 triangles. Its eyes are real openings too. The surface carries more fine creasing, which is what 0.2033 mm mean edge length looks like.
The eyes are drilled, not painted — on both sides
The cheap failure mode for a face like this is a dark patch in the base-colour map over solid geometry. Neither file did that. The pierce test — a parallel ray grid at 0.25 mm per pixel, four horizontal viewpoints, counting only miss-islands completely enclosed by hits — finds up to 7 genuinely see-through openings in one Tripo view, largest 14.94 mm², against 8 in the SupaVoxel file, largest 11.62 mm². Both counts are lower bounds, since an eye whose bore axis is off-camera reads as blind. Tripo deserves the credit here: the ghost faces are the whole point of this model and Tripo did not fake them.
Neither is a hollow vessel, and that is good news for wax
The second thing a candle holder can fake is thickness. Neither Tripo nor SupaVoxel did. Interior grid sampling puts 42% of interior points inside the mesh on both sides — 0.423 Tripo, 0.424 SupaVoxel — and horizontal rays cross 2 to 4 surfaces: solid swirl strands with air between them, not a shell. You are printing a solid object either way, which is why the resin figures below land within two cents of each other.
SupaVoxel from directly above: outer rim, inner wall, cup floor — three concentric bands, and a shadow ring that proves the cup has depth.
Tripo from the same camera. Same three bands, a shallower step and a brighter, flatter floor. What matters is the thing both got right — it is a recess, not a bore.
The cup is a dimple on both sides, so the wax stays in
This is the functional test the object exists for. If the cup were a through-hole, molten wax would run down the swirl and out of the base. Horizontal rays through the cup region hit solid strand on both files: a recess in Tripo's mesh, a recess in SupaVoxel's. Tripo passes. The difference is only how far each commits to its holes — deepest front-face concavity at 120 mm scale is 24.59 mm in the SupaVoxel file against Tripo's 14.26 mm, so Tripo's eyes are closer to a surface scoop and SupaVoxel's are bored 1.72× deeper.
SupaVoxel, three-quarter hero view. Level cup, base skirt spread wide enough to hold the centre of mass. 24.59 mm at the deepest eye bore.
Tripo, same camera and same lighting rig. Nearly the same composition; the deepest eye bore is 14.26 mm, 0.58× of SupaVoxel's.
Support: SupaVoxel costs 7.9% more, and here is what it buys
The row SupaVoxel loses. Counting surface whose normals point more than 45° downward, scaled to 120 mm: Tripo needs support on 4,405.2 mm² (15.99%), SupaVoxel on 4,754.8 mm² (17.35%) — 349.6 mm² more contact, about 7.9% more scar to clean off every copy. The cause is the deeper bores above: a 24.59 mm cavity has more downward-facing wall than a 14.26 mm scoop. You sand 7.9% more support and keep holes that are see-through from more angles. Support comes off; hole depth stays.
The 1.44× resolution advantage is worth exactly nothing at 0.4 mm
Tripo's mean triangle edge at 120 mm is 0.2033 mm; SupaVoxel's is 0.292 mm. Tripo is 1.44× finer, and that is a real measurement I am not going to argue with.
Now convert it into the unit that makes the object. A common FDM nozzle is 0.4 mm. Tripo's mean edge is 0.51× of the nozzle width, SupaVoxel's 0.73×: both are already below the tool that will print them, so the slicer merges those triangles into the same extrusion path either way. The 1.44× lands under the floor, and on the way there it costs 18.3× the credits, 11.62× the file (61.36 MB against 5.28 MB) and 2.03× the geometry VRAM (55.26 MB against 27.24 MB). Move to SLA and Tripo wins this row for real; on a 0.4 mm nozzle it is a real number that buys nothing physical.
SupaVoxel wireframe at the detail zoom. Dense enough to read almost black — a 13.1 KB PNG — with a few white gaps still open at 0.292 mm spacing.
Tripo at the same zoom: blacker, and the PNG is smaller (9.0 KB) because uniform black compresses better. This is the honest face of 2.04× the triangles — to the eye, "darker".
Resin and volume: the same object, two cents apart
Scaled to 120 mm tall, Tripo's bounding box is 56.78 × 120.0 × 60.33 mm and SupaVoxel's 59.24 × 120.0 × 56.33 mm. Volume 78.05 cm³ against 77.29 cm³; resin at $35/L $2.73 against $2.71. Tripo charged 18.3× the credits and delivered 0.97% more object: the extra 52 credits did not become one additional millilitre of material.
The switch that would fix Tripo's topology is rationed
Tripo has a feature aimed exactly at the 183 boundary edges: Clean Topology. On the generation bar it carries a Trial ×2 badge, and it is off by default, which is how I submitted this run — Best Quality, everything else at Tripo's own defaults, because identical defaults on both sides is what makes a comparison fair.
So the 183 boundary edges and the inconsistent winding are not an unlucky draw. They are what Tripo's default tier produces, and the fix is metered at two uses.
Tripo Studio before upload: Clean Topology with its Trial ×2 badge, Best Quality selected, and a Generate button that does not yet show a price.
Two popups stand between the finished model and the export button
Once the Tripo job finishes, the path to a file runs through a View Your Model overlay covering half the viewport, then a five-video Guide dialog, with a Humanoid Rigging & Text2Motion promo bar pinned across the top throughout. Export sits in the bottom bar behind both, and its dialog defaults to Texture Resolution 4k Current — two steps to a file, and nothing in the flow mentions that 4k maps are useless to a printer. On the SupaVoxel side the inspection modes and Export share one screen with nothing to dismiss.
Tripo after the first dismissal: the Guide dialog with five videos, sitting on top of the Export button in the bottom bar.
The Tripo export panel is already open at the lower right — and the Guide dialog is still stacked over it, hiding the fields. This frame is the evidence for "subtract two dialogs before you can export".
Finally readable: File Name, Format GLB, Texture Resolution 4k Current. That default is where the 61.36 MB comes from.
SupaVoxel's result screen: four inspection modes across the viewport and Export in the same top bar. Mesh mode is what produced the untextured render earlier in this article.
The print-shop ledger
Everything above, as the list of what you still owe after the file lands:
- Sliceable as delivered — Tripo no (183 boundary edges + inconsistent winding) · SupaVoxel no (366 non-manifold edges)
- Repair passes per copy — Tripo 2 (patch holes, recalculate normals) · SupaVoxel 1 (merge and clean)
- Support area at 45° — Tripo 4,405.2 mm² · SupaVoxel 4,754.8 mm² — Tripo wins
- Sliver faces — Tripo 235 · SupaVoxel 22
- Mean edge at 120 mm — Tripo 0.2033 mm (0.51× nozzle) · SupaVoxel 0.292 mm (0.73× nozzle) — both below 0.4 mm
- Pierced eyes, best single view — Tripo 7 (max 14.94 mm²) · SupaVoxel 8 (max 11.62 mm²)
- Volume and resin at $35/L — Tripo 78.05 cm³ / $2.73 · SupaVoxel 77.29 cm³ / $2.71
- Credits for the generation — Tripo 55 · SupaVoxel 3
Three of those rows go to Tripo. None of the three changes what comes off the printer.
Final verdict: Tripo scores 60, and hands you two repair passes
Tripo Studio built a genuinely good candle holder: the ghost eyes are drilled through, the swirl is continuous from base to cup, the base is solid, the cup is a wax-tight recess, the mesh has ten times fewer non-manifold edges than SupaVoxel's, and it needs 349.6 mm² less support. Then Tripo charges 55 credits for it, ships it as 61.36 MB, and leaves 183 boundary edges plus an inconsistent winding — two repair passes before a slicer accepts it, on every copy — while the switch that would prevent that is badged Trial ×2. Its headline advantage, a 1.44× finer mesh, lands under a 0.4 mm nozzle. Its volume advantage is 0.76 cm³, or two cents of resin.
SupaVoxel's faults are in this article too: 366 non-manifold edges, 245 loose shells, 7.9% more support area, a mesh 1.44× coarser than Tripo's, and a unitless output — the panel reads 0.49 × 1 × 0.47 with Y at exactly 1 — so you set the target height yourself.
Which one I would use for this job
If the job is "one reference image in, one printable 120 mm candle holder out", SupaVoxel is the file I would hand a print shop: 3 credits, zero boundary edges, consistent winding, 22 sliver faces, eye holes bored 24.59 mm deep, 5.28 MB to download, and four inspection modes on the same screen as the export control — so you can confirm the holes are geometry before you spend anything downstream.















Top comments (0)