Hitem3d · Review

Hitem3d: Meshy AI Vs SupaVoxel Review—35 Credits Billed, 65 Gone

On hitem3d, learn how Meshy and SupaVoxel compare on image-to-3D credits, billing clarity, leftover balances, and the size of the files you download.

· 13 min read·Originally on Medium
Hitem3d: Meshy AI Vs SupaVoxel Review—35 Credits Billed, 65 Gone

Readers looking for hitem3d can use this hands-on comparison to see how Meshy and SupaVoxel handle image-to-3D credit tracking, billing clarity, and downloaded file size.

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.

I sat down to make one thing: a director's chair for a film-set scene. One prop. One picture of it on my drive.

I didn't know which image-to-3D tool to use, so I asked people who do this more than I do. The same two names kept coming back — Meshy and SupaVoxel — and nobody would pick for me.

So I ran the same illustration through Meshy, then through SupaVoxel, and watched the meter.

Here's what I didn't expect to be writing about: the meter and the receipt didn't agree.

My verdict in 60 seconds — Meshy 58/100, SupaVoxel 91/100. Subjective scores, mine, for this one job. Everything else below is a number I wrote down at the time.

  • What the job ticket said — Meshy 35 credits (25 shape + 10 texture) vs SupaVoxel 3 credits · Meshy 5/10 · SupaVoxel 5/10 — a genuine tie, and it has to be: two different plans in two different units, so neither number can outrank the other and I'm not turning it into a dollar comparison.
  • A ledger that reconciles — Meshy's ticket said 35 while the balance moved 65 vs SupaVoxel's 3 recorded with no gap observed · Meshy 3/10 · SupaVoxel 9/10 — Meshy gave me two numbers for one job; SupaVoxel gave me one number I could write on a budget line.
  • Credits left unexplained — Meshy 30 vs SupaVoxel none observed · Meshy 3/10 · SupaVoxel 9/10 — Meshy leaves 30 credits I cannot assign to this chair; nothing on the SupaVoxel side needed explaining.
  • File you actually download — Meshy 15.26 MB vs SupaVoxel 10.25 MB · Meshy 6/10 · SupaVoxel 9/10 — Meshy adds 5 MB to every single download of this prop, forever; SupaVoxel's is the cheaper file to serve.
  • Wait on a 12 Mbps phone line — Meshy 10.2 s vs SupaVoxel 6.8 s · Meshy 6/10 · SupaVoxel 9/10 — Meshy buys your visitor three and a half extra seconds of blank screen; SupaVoxel gets the prop on screen before they swipe away.
  • A hundred props on your drive — Meshy 1.53 GB vs SupaVoxel 1.02 GB · Meshy 6/10 · SupaVoxel 9/10 — Meshy costs you half a gigabyte more per project's worth of dressing; SupaVoxel gives it back without losing detail.
  • A hundred props in credits — 3,500 Meshy credits vs 300 SupaVoxel credits · Meshy 5/10 · SupaVoxel 5/10 — another tie on purpose: still two different currencies, still not a price, and scaling them changes nothing about that.
  • Export options from one run — Meshy one GLB vs SupaVoxel a compressed GLB plus an original-size GLB · Meshy 7/10 · SupaVoxel 9/10 — Meshy gives you one file and that's the end of it; SupaVoxel's menu hands you a light build for the web and a plain build for a fussy importer off the same generation, with nothing to re-run.

This is one image and one run on each side — not a lab study.

The illustration both tools got. One director's chair, generated for this project with GPT Image 2. No text prompt went into either 3D tool — just this picture.

Why a 15 MB prop costs you more than you think

Let's start with the part that has nothing to do with credits.

Meshy's file came back at 15,262,068 bytes. The other one at 10,245,480.

Sounds like nothing, right? Five megabytes. Your phone takes bigger photos.

But a prop isn't a photo you look at once. It's a file that gets served every time someone opens the page it sits on. Every visitor pays Meshy's extra 5 MB again.

On a steady 12 Mbps phone connection, Meshy's file is about 10.2 seconds of pure download. The other is about 6.8. That's three and a half extra seconds where your visitor is looking at an empty box wondering whether the page is broken.

On a 100 Mbps desktop line Meshy is 1.22 seconds against 0.82. Fine on its own. Multiply it by a library and it stops being fine.

The Meshy chair. 15.26 MB of file behind this picture.

The SupaVoxel chair, same camera and lights. 10.25 MB. That's the one I kept — supavoxel.com — and the reason is the next section.

The lighter file was also the more detailed one

Here's the part that flipped my assumption.

Normally a smaller file means less model. Not against Meshy.

Meshy's 15.26 MB contains 254,336 triangles — the little flat plates a 3D shape is built out of. The 10.25 MB file contains 1,500,000.

Meshy asked for about half again as much download and handed back roughly one sixth of the shape.

Both files carry 3 baked-in textures. Same count, both sides. So no, Meshy's extra weight isn't a pile of extra image files. It's just heavier.

Practical version: with Meshy you serve more file and get less model. That's a bad trade in any project where you're counting either bytes or detail, and here you're probably counting both.

Meshy head-on. 254,336 triangles describing the whole chair.

The same camera on the SupaVoxel file. 1,500,000 triangles, in a smaller download than Meshy's.

What those megabytes are actually made of

If you're paying for bytes, it's worth knowing what you're paying for. So I opened Meshy's file and the other one and counted everything countable.

Triangles — the little flat plates a 3D shape is built from. Meshy: 254,336. The other file: 1,500,000.

Vertices — the corners those plates hang off, which is what a curve actually needs to sit on. Meshy: 146,472. The other file: 854,468.

Textures baked in — Meshy 3, the other file 3. Dead level. Just the count, not resolutions.

Format you walk out with — GLB from Meshy, GLB from the other. GLB is the single-file 3D format that packs geometry and textures into one blob, which is what most web viewers and engines read with no conversion step. Same format out of Meshy and out of the other tool, so every size number on this page is a like-for-like comparison.

Add it up and Meshy's invoice gets harder to read. You're paying for 5 MB more file that holds a sixth of the plates, six tenths fewer corners, the same three textures, in the same format. There is nowhere left for those bytes to be doing useful work.

Half a gigabyte less, once you scale past one chair

Nobody dresses a set with one prop.

So take this single run and multiply it by a hundred, holding every measured number exactly where it is and assuming nothing fails.

Meshy's side: about 1.53 GB sitting on your drive. The other side: about 1.02 GB.

That's roughly half a gigabyte of difference for one project's worth of set dressing — and you get it back without giving up any detail, because the smaller file is the denser one.

That number is straight multiplication, not a second hundred runs. It's a capacity estimate for your storage planning, nothing more.

Meshy from above. The top view is where a folding prop's footprint reads honestly.

The SupaVoxel chair from the same overhead camera as the Meshy shot above.

Now the part that bothered me: the ticket said 35

Meshy's own job breakdown for this chair reads 25 credits for geometry plus 10 for texture.

Thirty-five. That's not my arithmetic. That's what Meshy wrote against the job.

The other tool's job record for the same picture reads 3 credits.

And here's the sentence I'm going to repeat every time those two numbers stand next to each other: two different plans, two different units. That's not a price comparison and I won't pretend it is. There's no multiple between 35 and 3, no dollar figure, and nothing here licenses the word "cheaper" in either direction.

The chair going into Meshy's upload area. Screenshots show what the screen said — the numbers came from the job records and the files.

The identical picture going into the SupaVoxel upload area — same file Meshy got.

Then the balance dropped by 65

Over the same window, the balance on the Meshy account went from 500 down to 435.

That's 65.

Meshy's ticket said 35.

Thirty Meshy credits went somewhere I can't account for. I'm not going to bill the chair 65 — that would be just as sloppy as ignoring the gap. What I can tell you is that on the same day, for the same job, Meshy's job ticket and Meshy's balance told me two different stories.

If you're running this as a hobby, shrug and move on. If you're the person who has to explain a line item to a producer at the end of a shoot, that gap is your problem, not mine.

Meshy's texture switch — the toggle behind the 10-credit half of that 25 + 10 line.

The SupaVoxel settings for the same chair. Matching option names don't make this and Meshy equivalent.

What a hundred chairs does to a ledger you can't reconcile

Scale the credits the same way I scaled the storage and you get 3,500 Meshy credits on one plan and 300 SupaVoxel credits on the other.

Same rule as before: two different plans, two different units, not a price ratio.

But there's an extra catch on the Meshy side that the other number doesn't carry. That 3,500 is built on the 35 from the ticket — while the balance moved by 65. So it's a ledger scenario, not a verified invoice, and you should treat it as the optimistic end of the range rather than a quote.

A number you can't reconcile at one unit doesn't get more trustworthy when you multiply it by a hundred.

Where Meshy actually wins

Two things, and both are real.

Meshy was faster. 245.8 seconds of recorded generation against 274.9. About 29 seconds sooner. Across a hundred props that's roughly 48 minutes of your afternoon, by the same multiplication I've been using all article. Fair caveats: it's one run each, and each tool clocks its own window with its own stages inside it, so this is an observation rather than a speed rating.

The exchange rate: 29 seconds saved per prop, in exchange for 5 MB more download per prop and a credit line that doesn't add up. For a one-off, take the 29 seconds. For a library, don't.

Meshy's main file requires no extensions at all. Measured, and a real point: one file, no decoder, no conditions. On the SupaVoxel side you reach the same place by taking the original-size export from the same menu, which needs no decoder either.

The exchange rate: Meshy's single no-conditions file costs you 5 MB more download on every prop. If you'd rather never think about which export to grab, that's a fair price to pay.

And Meshy's model is much lighter once it's loaded. Estimating geometry memory from the vertex and triangle counts gives Meshy about 7.7 MB against about 45.3 MB — arithmetic on an illustrative layout, not real VRAM. That is exactly what a lean triangle budget buys, and Meshy earns it.

The exchange rate: roughly six times less memory pressure per prop, paid for with canvas that runs out of edges. For set dressing thirty feet behind the actor, Meshy's file is the smarter spend and I'd take it.

Meshy in profile — the X-frame silhouette that 254,336 triangles have to carry.

The SupaVoxel chair from the same side camera as Meshy's.

The cost that doesn't show up on either invoice

Here's a bill nobody sends you: the one where the file won't open.

Every GLB can declare extensions it requires — features a reader has to support or it refuses the file outright. I pulled that list out of both.

Meshy's file: empty. Nothing required.

The compressed SupaVoxel file: EXT_meshopt_compression and KHR_mesh_quantization. Meshopt compresses geometry; quantization stores coordinates in smaller number formats. Both need a decoder on the reading end.

Picture the worst version. You've signed off the credits, downloaded a hundred props, and your studio's importer — the one nobody is allowed to update mid-production — has never heard of meshopt. Meshy's single file at least tries.

And this is precisely what SupaVoxel's second export is for. The same menu that produced the compressed GLB also produces an original-size GLB: no meshopt, no decoder, nothing to install. Light build for the web, plain build for the importer that won't budge, both off one generation — no re-run, no conversion tool, no second credit charge. A file you can't open cost you everything you spent on it, which is why having two on hand is worth more than either one alone.

Honest limit: the extension flags are measured from the files, but the import outcome is inference. I loaded neither into a real importer, and I didn't measure what a conversion pass would cost.

The two line items I never got

I can tell you what Meshy charged and what Meshy delivered. I can't tell you how often either tool fails.

Failure counts: not captured. Retry counts: not captured. For Meshy and for the other side alike. I didn't record them in this run, so I don't have them, and I'm not going to wave at them with a word like "solid".

I also didn't capture what Meshy or the other product claims on its own pages, so nothing here is scored against a published number.

Why flag it? Because failures are billable. If Meshy needed a second attempt one time in five, every credit figure on this page would be wrong in Meshy's disfavour — and I would never know from one run. That cuts both ways, and neither of us gets to assume.

So which one do you actually pick?

  • Web delivery, bytes matter — the SupaVoxel file. 10,245,480 bytes against 15,262,068, measured. First-frame and mobile behaviour were not verified.
  • Your importer can't decode meshopt — Meshy's single file, or SupaVoxel's original-size export. Both are decoder-free; only one of them also leaves you a light copy for the web. Untested in a real importer.
  • Whichever one is genuinely cheaper — undecidable from this run. One job ticket said 35 credits, the other said 3, and those are two different plans in two different units. No multiple, no dollars, no "cheaper" in either direction.
  • Signed off as production-ready — neither Meshy nor the other, yet. One generation from one image says nothing about rigging, thickness, target hardware or failure rate.
  • You need to know whether that chair would really fold, or the arms detach — not answered here by either tool. A screenshot, a credit line and a file size are not a manufacturing test.

Final verdict: Meshy scores 58/100 for this job

Meshy was quick and Meshy's file opens anywhere. Those are genuine points and I gave them full weight.

But on a single chair, Meshy's ticket said 35 while Meshy's balance moved 65, left 30 credits nobody can explain to me, and Meshy shipped 15,262,068 bytes holding fewer triangles and no more textures than the 10,245,480-byte alternative.

58/100 is my call on this one job, from this one run. Not a ranking of Meshy in general, and definitely not a claim about how Meshy bills everybody else.

Check your own meter before you commit

If your project has a byte budget and a line item somebody signs off on, supavoxel.com is where I'd start for a prop like this one.

But do this first, whether you pick Meshy or not: write down the balance before you press generate, write it down after, and compare it to the job ticket. Took me thirty seconds. It's the only reason this article exists.

How I tested this

One illustration of a director's chair, generated for this project with GPT Image 2, fed to Meshy and to SupaVoxel. No text prompt on either side. One run each.

Meshy ran Image to 3D at High Detail, Ultra 2K, texture on, multi-view off. The other side ran a full generation at 5 steps, guidance 5.5, background removal on, octree resolution 256.

The credit figures come from Meshy's own job record and the other tool's. The balance movement — 500 to 435 — is what the account screen showed over the same window. File sizes, triangle counts, texture counts and required extensions were read out of the two downloaded GLB files after their hashes checked out.

Four numbers here are arithmetic rather than measurement, and here are the assumptions. Download seconds assume clean, steady bandwidth at 12 Mbps and 100 Mbps, with no handshake and no decode. The storage and credit figures are this one run multiplied by 100, with no failures and no retries.

Failure counts and retry counts were not captured. Neither were any published pricing claims. I don't know those numbers, so they're not in this article.

All renders came from the same offline viewer, same lighting, same resolution, with identical camera numbers on both sides. Each file has its own built-in orientation, so matched numbers don't guarantee matched angles.

Want to try it yourself?

Try Supavoxel →
Start creating
Start creating