DEV Community

Cover image for Tripo AI 3D Generator Review 2026: The Black Robe Ships Brown
Greta Holt
Greta Holt

Posted on

Tripo AI 3D Generator Review 2026: The Black Robe Ships Brown

cover

Independent review. I ran both tools on my own accounts, free and paid, with no vendor-provided access or early access of any kind.

My verdict in 60 seconds — Tripo 60/100, SupaVoxel 90/100

The input was one image of a chibi hooded grim reaper in a black robe, holding a white coffee mug. Tripo's export comes back with the back of that robe rendered in brown leather grain, a colour that is nowhere in the input image — Tripo baked a lighting pass into the baseColor map. SupaVoxel kept the same surface near-black from hood to hem. Tripo and SupaVoxel both invented the back side, because the camera never saw it, and both invented almost exactly the same structure; only one of them also invented the colour. The other half of this article is what that fidelity weighs on the wire: 66.67 MB against 5.92 MB, and 44.4 s against 3.9 s to load on 4G.

Here is the scorecard for this one job — does the model look like the image, and what does it cost to move.

  • Colour fidelity on the black robe — Tripo 3/10 (back and lower skirt drift to brown-grey) · SupaVoxel 9/10 (one consistent near-black)
  • Invented back structure — Tripo 8/10 (pointed hood, shoulder cape, fan skirt) · SupaVoxel 8/10 (the same three, near-identical) — a genuine tie
  • Colour bleed at the black/bone boundary — Tripo 9/10 (none) · SupaVoxel 9/10 (none) — both held the line at the hood opening
  • Surface believability — Tripo 4/10 (corduroy ridges on the forearm, bark-like wrinkle noise) · SupaVoxel 8/10 (two or three large drapes)
  • Invented seams — Tripo 3/10 (a hard ridge from crown to nape, a vertical seam down the hood) · SupaVoxel 8/10 (one short soft undulation)
  • Texture payload — Tripo 2/10 (11.18 MB across 3× 4096 maps) · SupaVoxel 10/10 (0.99 MB across 3× 2048 WebP) — 11.3x
  • File weight per triangle — Tripo 2/10 (34.12 B) · SupaVoxel 10/10 (6.08 B) — no compression extension in Tripo's GLB at all
  • First load on a phone — Tripo 1/10 (44.4 s on 12 Mbps) · SupaVoxel 10/10 (3.9 s) — 40.5 s of white screen

What is actually wrong with the Tripo export, part by part: Tripo's shoulder cape and lower skirt come back brown-grey against an input that is black, so the same garment is two colours from crown to hem; Tripo adds a hard ridge line from the crown of the hood to the nape and a vertical seam down the back of the hood, neither of which exists in the input; Tripo's forearm carries evenly spaced horizontal ridges that read as corduroy rather than cloth; and 6.87 MB of the 11.18 MB texture payload is maps a slicer never opens, including one uncompressed 5.28 MB PNG normal map. For this job — one image into a model you will look at, share or put on a page — use SupaVoxel.


The input, byte-identical for both products: 1,671,573 B, sha256 c9bf6970a3f4a973…. A black robe, bone-white skull and hands, a white mug. No scythe and no thin pole — so this case is not about welded-together geometry, it is about the hood cavity, the black-against-white boundary, and a back side that simply is not in the photograph.

The test, in one paragraph

Tripo Studio on its default generation, SupaVoxel on a Full Model with defaults. Both GLBs were downloaded and rendered offline on the same rig — same lighting, same camera positions, same exposure — and the two exports sit at different yaw in world space (Tripo 0°, SupaVoxel 90°), which the render script corrects for. Every pair of images below is one camera, not two flattering angles. Every byte figure comes from parsing the downloaded files, not from either product's panel.

The back side is invented by both, and they invented the same thing

Nothing behind this figure exists in the input, so Tripo and SupaVoxel both had to make it up, and the interesting finding is how little they disagreed: both produced a pointed hood, a shoulder cape narrowing to a V at the spine, and a fan-shaped skirt flaring below it. Structurally, this is a tie, and I am calling it one.

  • Hood shape (invented) — Tripo pointed · SupaVoxel pointed
  • Shoulder cape with V at the spine — Tripo yes · SupaVoxel yes
  • Fan skirt below the cape — Tripo yes · SupaVoxel yes
  • Back surface colour — Tripo brown-grey leather grain · SupaVoxel near-black, matching the front


SupaVoxel's invented back: pointed hood, a shoulder cape closing to a V, a fan skirt. The whole panel stays the same near-black as the front of the robe.


Tripo's invented back, same camera: structurally the same three elements — and several shades lighter. This is the colour drift, visible at full-body distance and not just in a crop.

The colour is the failure, not the geometry

Zoom the back panel and the difference stops being a shade and becomes a material. Tripo's cape reads as brown leather with a pronounced grain, while the front of the same Tripo robe is black. A single garment is two materials in one Tripo export. What has happened is that a lighting pass — the way a dark surface looks when it is lit from the front and falls off behind — has been baked into the baseColor map, so the shading is permanent and travels with the file into every renderer you open it in.

SupaVoxel's back panel at the same zoom is a smooth broad surface with a crisp silhouette edge and a few faint scratch-like undulations, held at near-black.


SupaVoxel's back panel, zoomed. One material, one value, clean silhouette edge.


Tripo's back panel at the same zoom. Two problems in one frame: brown leather grain where the input has black cloth, and a vertical hard seam running from the top of the hood down to the root of the cape.

Two seams that are not in the input image

Look down at the crown from directly above and Tripo has cut a hard ridge line running from the top of the hood all the way to the nape — a continuous crease across the part of the model that is most visible on a shelf. SupaVoxel's crown closes to a point with one short soft undulation and nothing else.

Add the vertical hood seam from the previous section and that is two invented creases on a garment that has none.


SupaVoxel from directly above: the hood covers the skull completely, only the mug rim and a couple of fingers show, and the crown is a clean closed point.


Tripo from the same overhead camera: the ridge from crown to nape is unmistakable, and it is the second invented crease on this model.

Where both engines passed: the face inside the hood

The hardest thing in this image is a deep hood cavity with a face inside it, and neither product filled it in with a blob. Tripo and SupaVoxel both rebuilt the skull, brow ridge, eye sockets, jaw and the hanging tooth, readable from the front, and Tripo carves the tooth row a little more sharply. This is a pass on both sides, and it is worth saying because it is the part most likely to go wrong.


SupaVoxel from the front: the hood is an open cavity, the skull inside it is complete, and the bone white of skull, hands and mug stops exactly at the hood opening.


Tripo, same camera. The skull is equally complete with a slightly crisper tooth row. The robe around it, however, is carrying 4096-pixel wrinkle noise across the entire surface, which up close reads as coarse bark rather than cloth.

No colour bleed on either side

The second stress axis of this case is whether black cloth bleeds into bone-white skull. Neither Tripo nor SupaVoxel bled. On both, the skull, the hands and the mug hold bone white against the robe, with a clean boundary at the hood opening. Tie, and a clean one.

Corduroy is not drape

From the side, the distributed-detail problem gets a name. Tripo's forearm carries a band of evenly spaced horizontal ridges — regular in pitch, uniform in depth, the look of corduroy. The skirt hem wrinkles are an order of magnitude denser than SupaVoxel's. None of that regularity is in the input image; it is what happens when Tripo spreads high-frequency detail evenly instead of placing it.

SupaVoxel's sleeve resolves as two or three large folds with a continuous drape from hood rim to shoulder line. Fewer creases, and the ones present are where cloth would actually break.


SupaVoxel from the side: large folds, continuous drape, no repeating pattern.


Tripo, same camera: the evenly spaced forearm ridges, and a skirt hem with roughly ten times the crease density.

What you are actually downloading: 66.67 MB against 5.92 MB

Now the weight. Tripo's GLB is 66,672,852 bytes. SupaVoxel's is 5,918,256. That is 11.27x for 2.0x the triangles, so the gap between the two files is not geometry count, it is how the bytes are packed.

  • GLB size — Tripo 66.67 MB · SupaVoxel 5.92 MB · 11.27x
  • Bytes per triangle — Tripo 34.12 B · SupaVoxel 6.08 B · 5.6x
  • Compression extensions required — Tripo none (the list is empty) · SupaVoxel EXT_meshopt_compression + KHR_mesh_quantization, both required
  • Geometry VRAM — Tripo 55.5 MB · SupaVoxel 27.8 MB

Tripo's file declares KHR_materials_volume and FB_ngon_encoding and requires no compression extension at all. SupaVoxel's is meshopt-compressed and vertex-quantized by the product, not by you running a command-line packer afterwards. That single difference is most of the 11.27x.


SupaVoxel's result: 973,138 triangles in 5.92 MB, one consistent near-black robe, white mug held in a bone-white hand.


Tripo's result: 1,954,204 triangles in 66.67 MB, and the colour drift is visible at this distance — the hood exterior and the lower half of the skirt are already brown against a robe that should be one value.

Half the texture payload is maps a slicer never opens

Tripo ships three 4096×4096 maps totalling 11.18 MB in every Tripo download. Split them by whether anything downstream of a printer will read them:

  • baseColor (the one a slicer uses) — Tripo 4.32 MB (4096 JPEG) · SupaVoxel 0.58 MB (2048 WebP) · 7.4x
  • metallicRoughness + normal (unused for printing) — Tripo 6.87 MB · SupaVoxel 0.40 MB · 17.1x
  • Total texture payload — Tripo 11.18 MB · SupaVoxel 0.99 MB
  • Map count and format — Tripo 3× 4096 (2 JPEG + 1 PNG) · SupaVoxel 3× 2048, all WebP

Read the first two rows together: the maps Tripo downloads that you cannot use are larger than the one map you can. That is the unusual part — not that a normal map ships, but that it outweighs the colour.

One uncompressed PNG, 5.28 MB of it

Inside Tripo's 6.87 MB sits a single 4096×4096 PNG normal map at 5,284,529 bytes — uncompressed, in a format chosen for lossless line art, carrying a texture that is by nature noise. The equivalent map in the SupaVoxel file is 150,768 bytes. That is 35x for the same slot in the same material.

One map. Five and a quarter megabytes. It is the single largest object Tripo hands back, and it is the one that contributes nothing to a print and least to a render.


Tripo's export dialog with Texture Resolution open. The 4k option — the one marked Current — is what produces the three 4096 maps and the 11.18 MB payload described above.

40.5 seconds of white screen on a phone

Convert Tripo's file size into the unit a visitor experiences. On a 12 Mbps mobile connection, serially and ignoring handshakes:

  • First load on 12 Mbps — Tripo 44.4 s · SupaVoxel 3.9 s · 40.5 s difference
  • First load on 100 Mbps home broadband — Tripo 5.3 s · SupaVoxel 0.5 s
  • Geometry VRAM on the device — Tripo 55.5 MB · SupaVoxel 27.8 MB

Forty-four seconds of Tripo is not a slow preview, it is an absent one — nobody waits, so on a phone that model effectively does not exist. And the VRAM row is the difference between a low-end handset holding a frame rate and dropping it.

Where SupaVoxel falls short on this article's dimensions

Three, and I will not pretend they are worse than they are. SupaVoxel's output carries no real-world unit — the result page reports 0.55 × 1 × 0.57 mm, so the model is one millimetre tall and you scale it before doing anything (everything here is normalised to 120 mm). Advanced Options ships collapsed, so the Inference Steps and Guidance Scale values are one click away rather than visible. And the project is named "New Project 9/26/2026" until you rename it. On a subject whose back is entirely invented, the product should also be prompting you to add a back-angle reference into one of its four spare slots, and it does not.

Final verdict: Tripo scores 60/100

Tripo reconstructed the hard part — the face inside the hood — and Tripo invented the same back structure SupaVoxel did, with a crisper tooth row and genuine geometric creases where SupaVoxel has fewer. Those are real wins and they are in the scorecard.

Against them: the Tripo robe ships brown across the cape and the lower skirt, which is a lighting pass baked permanently into the colour map; two hard seams appear on a garment that has none; the forearm reads as corduroy; and the whole thing arrives as 66.67 MB with no compression extension declared, 11.18 MB of it texture, 5.28 MB of that a single uncompressed PNG, taking 44.4 s to reach a phone. To get the tooth row and the carved creases, the price is 55 credits against 3, 11.27x the bytes, 40.5 extra seconds of load, and a robe that is two colours.

SupaVoxel scores 90/100 — held back from higher by the missing real-world unit and a collapsed settings panel, neither of which changes what the model looks like.

Which one I would put on a page

If the model is going to be looked at — on a page, in a viewer, on a phone — the one I would upload is SupaVoxel's: this figurine in 5.92 MB against 66.67 MB, 0.99 MB of texture against 11.18 MB, 3.9 s of first load against 44.4 s, and a black robe that is still black on the side the camera never saw. Three credits against 55.

Top comments (0)