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 62/100, SupaVoxel 88/100
I gave one image — a chibi hooded grim reaper holding a white coffee mug — to two image-to-3D products on the same day, downloaded both GLBs, and measured them the way a print shop measures a file: weld the vertices by position, then count shells, holes, winding, slivers, overhang area and resin. Tripo came back with 1,954,204 triangles in one watertight shell. SupaVoxel came back with 973,138 triangles in 263 shells with 393 non-manifold edges, for 3 credits instead of 55. This is the one article in the series where Tripo wins a row that genuinely matters, and I am going to say so in the first screen rather than bury it.
Here is the scorecard for this one job — turning that image into a printable 120 mm figurine.
- Watertight after welding — Tripo 10/10 (0 boundary edges, 0 non-manifold) · SupaVoxel 4/10 (0 boundary edges, 393 non-manifold) — Tripo wins this row outright
- Shell count — Tripo 10/10 (1 component, Euler 2) · SupaVoxel 4/10 (263 components, Euler 260) — the mug, hands and robe folds are separate interpenetrating shells in the SupaVoxel file
- Holes — Tripo 10/10 (0) · SupaVoxel 10/10 (0) — neither file has a boundary loop to patch
- Face winding — Tripo 10/10 (consistent) · SupaVoxel 10/10 (consistent) — no inverted faces on either side
- Mesh hygiene — Tripo 6/10 (124 sliver faces) · SupaVoxel 8/10 (27 slivers, 1 degenerate) — Tripo ships 4.6x the slivers
- Usable precision at 0.4 mm nozzle — Tripo 9/10 (0.2086 mm mean edge) · SupaVoxel 9/10 (0.3023 mm) — both already finer than the nozzle
- Support burden at 45° — Tripo 9/10 (14.91%, 4,680.9 mm²) · SupaVoxel 8/10 (17.44%, 5,482.6 mm²) — 801.7 mm² of extra scar on the SupaVoxel model
- Cost of the printable file — Tripo 3/10 (55 credits, 66.67 MB) · SupaVoxel 10/10 (3 credits, 5.92 MB) — 18.3x and 11.27x, for the same object
What is actually true about the Tripo file, part by part: Tripo's mesh is one connected component with zero boundary edges and zero non-manifold edges after welding, so Tripo's file slices without a repair pass — a real win; Tripo carries 124 sliver faces against SupaVoxel's 27, which is 4.6x more degenerate-thin geometry in the same silhouette; Tripo's 1,954,204 triangles average 0.2086 mm per edge at 120 mm tall, which a 0.4 mm nozzle cannot resolve, so half of that geometry is invisible on an FDM printer; and after all of it, the printed object is the same size — 194.56 cm³ against 195.00 cm³, $6.81 of resin against $6.83. For this job — one image, one 120 mm figurine, one person who is willing to run a two-minute solidify pass — use SupaVoxel.

The only input: one image of a chibi hooded reaper holding a white mug, 1,671,573 B, sha256 c9bf6970a3f4a973…. Both products received this exact file with default settings. Note what is not in it: there is no scythe, no long thin pole — the stress axes here are the deep hood cavity, the black/white colour boundary, and an entire back side the camera never saw.
The test, in one paragraph
One image. Two products. Tripo Studio on its default generation (Best Quality on, Clean Topology off — Tripo marks that switch Trial ×2). SupaVoxel on a Full Model with Advanced Options at defaults (Inference Steps 5, Guidance Scale 5.5, Octree Resolution 256). Both GLBs were parsed offline; no number here was copied from a panel. Every render below uses one rig, one lighting setup and one set of cameras, corrected for the yaw difference between the two exports (Tripo 0°, SupaVoxel 90°), so each pair is one viewpoint rather than two flattering angles.
Why every number here is measured after welding the vertices
Both Tripo and SupaVoxel export GLBs that split vertices along UV seams, so counting shells on the raw file counts texture islands, not geometry. Every slicer welds by position on import. Tripo goes from 1,001,168 file vertices to 977,104 welded; SupaVoxel from 503,368 to 486,436, and everything below is measured after that pass. On the raw files both look broken. On the welded files, one of them is a solid and one is not.
Where Tripo wins this case outright: one shell, zero non-manifold edges
Tripo's welded mesh has 1 connected component, 0 boundary edges, 0 non-manifold edges, consistent winding, and Euler characteristic 2. That is the textbook signature of a closed orientable surface, and Tripo earns it here: you can drag Tripo's export into a slicer and press slice.
SupaVoxel's welded mesh has 263 connected components, 0 boundary edges, 393 non-manifold edges, consistent winding, and Euler characteristic 260. The mug, the hands and the robe folds come out as separate interpenetrating shells rather than one solid.
- Connected components — Tripo 1 · SupaVoxel 263
- Non-manifold edges — Tripo 0 · SupaVoxel 393
- Euler characteristic — Tripo 2 · SupaVoxel 260
- Welded vertices — Tripo 977,104 · SupaVoxel 486,436
I am not going to dress this up. If you cannot repair a mesh, or you are handing the file to someone who cannot, Tripo is the one that works today, on this case, with no intervention.

Tripo's own viewer after generation. The topology underneath is genuinely clean on this case — and the robe is already brown-grey here rather than the black of the input.
What those 263 shells actually cost you: about two minutes
A Tripo win gets priced here, not hidden. Turning 263 interpenetrating shells into one solid is a single boolean-union / solidify pass in Netfabb or Meshmixer — one to two minutes, scriptable across a batch — and what those two minutes buy is 3 credits instead of 55 (18.3x) and 5.92 MB instead of 66.67 MB (11.27x). If two minutes are worth 52 credits to you, Tripo is the correct purchase and I will not argue.

SupaVoxel, front. The hood cavity is open, the skull, brow ridge, eye sockets, jaw and hanging tooth are all present, and the bone white of the skull, hands and mug stops cleanly at the hood opening.

Tripo, same camera. The skull is equally complete and the tooth row is a little more carved. The cost is the robe: a 4096 normal map spreads high-frequency wrinkle noise across the whole garment, so up close it reads as coarse bark rather than hanging cloth.
Holes and winding: both files are clean on the two rows that hurt
The rows that usually decide whether you open Blender are ties here, at the good end. After welding, Tripo has 0 boundary edges and so does SupaVoxel — no open loop to fill on either side. Both meshes also come back with consistent face winding: no inverted normals, no recalculate-normals pass, on either side.
That matters more than the shell count, because it makes the repair list for the SupaVoxel file exactly one item long: union the shells. Not fill holes, not flip normals, not rebuild. One operation, and what comes out the other side is 3 credits and 5.92 MB against Tripo's 55 and 66.67 MB.
The 2x triangle count does not reach a 0.4 mm nozzle
Tripo delivers 1,954,204 triangles against SupaVoxel's 973,138 — 2.0x. On a Tripo spec sheet that reads as a straightforward win until you convert it into the only unit a printer understands: mean triangle edge length at the target height.
At 120 mm tall, Tripo's mean edge is 0.2086 mm and SupaVoxel's is 0.3023 mm. A common FDM nozzle is 0.4 mm. Both models are already finer than the tool that will make them — Tripo by 1.9x, SupaVoxel by 1.3x. The extra 981,066 triangles buy 0.094 mm of edge length underneath a threshold the printer physically cannot resolve. To cash that 1.45x in you have to change machine class entirely and go to SLA.
- Triangles — Tripo 1,954,204 · SupaVoxel 973,138 · 2.0x
- Mean edge at 120 mm — Tripo 0.2086 mm · SupaVoxel 0.3023 mm · 1.45x
- Finer than a 0.4 mm nozzle by — Tripo 1.9x · SupaVoxel 1.3x
- Geometry VRAM for those triangles — Tripo 55.5 MB · SupaVoxel 27.8 MB · 2.0x

SupaVoxel with textures off. The hood really is a hollow cavity, the mug is a real tube with an inner bore, and the tattered holes along the robe hem survived from the input. Do not be fooled by how solid this looks — it is 263 shells.

Tripo, same camera, textures off. The fold creases here are genuinely cut into the geometry rather than faked by a normal map — that is what 1,954,204 triangles and a 0.2086 mm mean edge bought. Underneath, the topology is one clean shell.
Two wireframes you cannot read, and that is the finding
Zoom the wireframe at print scale and you get a black rectangle, from Tripo and from SupaVoxel alike. SupaVoxel's still shows a few isolated cells on the hood crown; Tripo's shows none at all, its density having passed the pixel grid of the render itself. Both images being unreadable is the result: at 120 mm neither the printer nor your eye gets to see the difference. What you do see is the bill — 66.67 MB against 5.92 MB, 55.5 MB of geometry VRAM against 27.8 MB.

SupaVoxel wireframe at high zoom — 973,138 triangles, 0.3023 mm mean edge, a few cells still resolvable on the crown.

Tripo wireframe at the same zoom — 1,954,204 triangles, 0.2086 mm mean edge, no resolvable cells at all. Denser soup, not better topology.
Sliver faces: Tripo ships 4.6x more of them
Sliver faces are the near-degenerate thin triangles that make repair tools and slicers argue with each other. Tripo's mesh carries 124 of them, on the same file Tripo shipped as one clean shell. SupaVoxel's carries 27. That is 4.6x more on the file that is otherwise the cleaner solid — so "mesh hygiene" is not a row Tripo sweeps, it is a row that splits.
- Sliver faces — Tripo 124 · SupaVoxel 27 · Tripo 4.6x worse
- Degenerate faces — Tripo 0 · SupaVoxel 1 · 0.0001% of 973,138 faces
Degenerate faces: one in the SupaVoxel file, and it is 0.0001% of the mesh
The one genuinely degenerate face in this run is in the SupaVoxel file — one face out of 973,138, or 0.0001% of the mesh, and Tripo has none. Every repair tool ever written removes it without being asked. I list it because the rule in this series is that every number in the evidence file gets published, including the ones pointing the wrong way.
Support: SupaVoxel needs 801.7 mm² more, worth under three cents
Counting the surface whose normals point more than 45° downward at a 120 mm print: Tripo needs support on 14.91%, or 4,680.9 mm². SupaVoxel needs 17.44%, or 5,482.6 mm². That is 801.7 mm² more support contact on the SupaVoxel model, from one identifiable place — its skirt hem flares wider (67.8 mm in Z against Tripo's 67.05 mm). Priced at the same resin rate it is under $0.03. Tripo wins the row; the Tripo advantage on this line is three cents a figurine.

SupaVoxel from the side. The sleeve falls in two or three large folds and the drape is one continuous surface from hood rim to shoulder line.

Tripo, same camera. The forearm carries a band of evenly spaced horizontal ridges — corduroy rather than cloth. That is high-frequency detail distributed uniformly, and it is not in the input image.
Same figurine, same resin: $6.81 against $6.83
Scale both to 120 mm tall and measure the solid volume after welding. Tripo: 194.56 cm³, $6.81 of resin at $35/L. SupaVoxel: 195.00 cm³, $6.83. A 0.3% difference — two cents.
The bounding boxes land within 1.1 mm of each other on every axis (Tripo 67.55 × 120.0 × 67.05 mm, SupaVoxel 66.47 × 120.0 × 67.80 mm), so neither model has been squashed or stretched relative to the other. Eighteen times the credits, and the object that comes off the build plate is the same object, the same size, out of the same amount of resin.

SupaVoxel from above. The hood completely covers the skull; only the white rim of the mug and a few fingers are visible. The crown closes to a clean point.

Tripo from the same overhead camera. A hard ridge line runs from the crown all the way to the back of the neck — a continuous seam that is not in the input image. SupaVoxel's crown has one short soft undulation and nothing else.
Getting the file out of Tripo: a blob URL that revokes itself
Tripo's export dialog is three fields — File Name, Format, Texture Resolution — and this run recorded 2 clicks from dialog to file. What Tripo hands back is a blob: URL revoked the moment it is clicked, so capturing the file for this test required an interception hook. SupaVoxel's result page carries an Export dropdown with version selection (v1 - Sep 26 12:33 AM) in the top bar, but this run recorded no click count for it, so that cell stays empty. Not measured is not zero, and I will not fill it with a guess.

Tripo's export dialog: File Name / Format / Texture Resolution, with Texture Resolution parked at 4k and marked Current. Two clicks to a file, and the file arrives as a self-revoking blob URL.
What Tripo's result page will not tell you: the size in mm
SupaVoxel's result page reports Triangles 973,138 — matching the parsed GLB digit for digit — next to four inspection modes (Textured / Mesh / Wire / Normals) and a mm / in / raw unit switch with a live dimension readout. Tripo's result page carries no dimension readout anywhere, in any unit, and Tripo's own triangle count was half-covered by a promotional banner, leaving "/ 1954204".
The knock on SupaVoxel on this row, since it belongs here: its output has no real-world unit — the page reports 0.55 × 1 × 0.57 mm, so you scale it yourself before slicing (everything here is normalised to 120 mm). Tripo gives no dimension at all, but having built the unit switch already, what SupaVoxel is missing is just export-at-real-size.
Final verdict: Tripo scores 62/100
Tripo wins the headline row of this article cleanly: one shell, zero boundary edges, zero non-manifold edges, consistent winding, Euler 2. On this case Tripo hands back a slice-it-now file, and if the person receiving it cannot repair a mesh, that is worth paying for.
Everything after that row goes against Tripo. The 2.0x triangle count evaporates at a 0.4 mm nozzle where both meshes are already finer than the hardware (1.9x and 1.3x). Mesh hygiene splits 124 slivers to 27 against Tripo. The 14.91% support advantage is worth under three cents. And the object is identical: 194.56 cm³ against 195.00 cm³, $6.81 against $6.83. What differs is the invoice — 55 credits against 3, 66.67 MB against 5.92 MB — and one solidify pass of about two minutes that scripts across a batch.
SupaVoxel scores 88/100 rather than 91 precisely because of those 263 shells. It is the one row in this series where I would not blame anyone for choosing Tripo.
Which one I would use for this job
If your job is this job — one image, one 120 mm printable figurine, a person who can run one solidify pass — then the file I would keep is SupaVoxel's: 3 credits against 55, 5.92 MB against 66.67 MB, the same 195 cm³ of resin, zero boundary edges, consistent winding, and 27 slivers against Tripo's 124. The repair list is one line long and it is scriptable. The credit difference is 18.3x and it is not.

Top comments (0)