We tested 41 AI image-to-3D engines (August 2026)

    Run date 2026-08-29 · Published 2026-08-29 · By the PolyMedium team · A qualitative review: single runs, judged by eye, against a fixed control

    PolyMedium is not built on one engine. It routes every upload across a bench of engines, because the single most important finding in this data is that no engine wins on every subject: the engine with the best dog face loses the character, the cheapest engine ties the field on vehicles and melts on animals, and the most expensive one never wins raw fidelity but is the only one that ships game-ready topology. This page is the evidence. On 2026-08-29 we ran every live image-to-3D endpoint on fal.ai, all 41 of them, against our draft engine (TRELLIS 1) as a fixed control. 18 endpoints were screened head-to-head; the other 23 are excluded below, each with its reason. Survivors ran across five subjects chosen for specific failure modes, and every output was rendered as an identical six-view Blender ring so nothing could hide behind a flattering angle.

    The headline findings, including the ones that go against us: Rodin v2.5 beat our own TRELLIS 2 on the game character (facial likeness, engraved armour, cloak embroidery). SAM-3 Objects matched TRELLIS 1 at the identical price and was 3x faster, and it beat our control outright on the dog's face. Meshy v7 was the one genuinely additive engine: game-ready topology by default, real part separation, rigging in the same call. On the other side: Hunyuan 3.1 Rapid cannot emit a GLB at all, the Hunyuan v2 family hallucinated blue wheels, and three engines quietly bill up to 3x their advertised price for texture.

    Where we lost

    A vendor-run review is only worth reading if the vendor can lose in it. We did, three times:

    • Rodin v2.5 beats our TRELLIS 2 on the character. The reference's actual likeness comes through (brow, cheekbones, hair strands), plus engraved armour and embroidery on the cloak hem. It also beats both TRELLIS 2 and Hunyuan 3.1 Pro on the dog's head. The trade: a higher price band, and roughly 2x slower.
    • SAM-3 Objects matches TRELLIS 1 at the same price and is 3x faster (24s vs about 75s). On the lying dog, our control's worst failure, it produces a face with actual eyes, nose and ears where TRELLIS 1 produces a blob. It is clearly worse on characters and it silently dropped the dragon's flame, so it is a second source, not a replacement. But at the draft price point it is a real peer.
    • Meshy v7 is the one genuinely additive engine in the catalog. It never wins on raw fidelity, but it is the only engine that reconstructed the character's sword as a separate blade and the dragon's flame as a real volumetric jet, it ships game-ready ~30k-triangle topology by default, and it offers rigging and animation in the same call. Nothing in our stack does that.

    Method

    • One reference image per subject, byte-identical for every engine. The five references are cleaned, restaged images from prior validated runs, re-uploaded once and reused by URL. Byte-identity was verified by content length, which is what makes the reused TRELLIS 1 control GLBs valid rather than approximate.
    • Two stages. Stage A screens the whole credible catalog on one subject (the go-kart). Stage B advances the survivors to all five subjects.
    • A six-view ring, not a hero angle. Every GLB gets a 6-view ring at 60 degree steps from one headless Blender scene: identical three-point studio rig, AgX view transform, bounding-sphere framing solved once over all ring angles so scale is constant across engines. Engines disagree about which way "front" is, and a fixed azimuth would silently score some of them on their back.
    • One material normalisation, applied to everyone. Principled BSDF metallic forced to 0. glTF defaults metallicFactor to 1.0 and the TRELLIS family omits it, so without this the control renders black. Applying it to all engines equally is the only way the grid stays comparable.
    • Single runs, judged by eye — which is why this page calls itself a qualitative review, not a benchmark. Every survivor got one run per subject under a hard spend cap. That is enough to rank who is good at what and to catch structural failures; it is not enough to publish failure rates or variance, and we don't pretend otherwise. If you need quantitative numbers, run your own — the method above is fully described.

    The five subjects

    SubjectWhy it is in the set
    SneakerHard matting: laces, thin eyelets, a dark sole against a dark upper.
    Go-kartMechanical detail: tubular frame, negative space, an exposed engine.
    Dog on a couchA real animal in a lying pose (pose-locked redo). The hardest case in the set.
    Game characterA stylized character: armoured ranger, cloak, sword, layered belts.
    Crayon dragonA made-real doodle: a child's crayon dragon turned into a toy-style reference.

    All 41 endpoints, accounted for

    fal.ai's image-to-3D category listed 41 live endpoints on 2026-08-29, none flagged deprecated. Notably absent from the platform entirely: InstantMesh and Stable Fast 3D, both searched for by name and gone. We screened 18 endpoints and excluded 23; every exclusion has a stated reason, so the whole catalog is accounted for.

    Stage A screen: 18 endpoints, one go-kart each

    Identical input image, best-practice default parameters, one run each. Price is a relative band within the field on the run date, from ↑ (budget) to ↑↑↑↑ (premium). We don't republish vendors' per-run prices; they change, and their pricing pages are authoritative.

    EngineEndpointPriceTimeTrianglesMBTexture KBMapsVerdict
    TRELLIS 1(control)fal-ai/trellis75s*17,4515.44,987baseColorBaseline. Coherent, soft, blobby bumpers, mushy rear.
    TRELLIS 2(control)fal-ai/trellis-2↑↑45s487,11320.71,778baseColor, metalRoughClearly above TRELLIS 1: separated frame tubes, round steering wheel, legible decal. Advanced.
    Hunyuan 3.1 Profal-ai/hunyuan-3d/v3.1/pro/image-to-3d↑↑↑146s499,99430.615,816baseColorClean, no artifacts, slightly smoothed vs TRELLIS 2. Advanced.
    Hunyuan 3.1 Rapidfal-ai/hunyuan-3d/v3.1/rapid/image-to-3d↑↑90s49,92418.513,683baseColorCut: cannot emit GLB (model_urls.glb is null). Quality when converted: lumpy nose, slab bumper, middling.
    Hunyuan3D v3fal-ai/hunyuan3d-v3/image-to-3d↑↑↑126s498,75030.815,702baseColorGood, but softer nose fairing than 3.1 Pro at the same price band. Cut as redundant.
    Hunyuan3D v2fal-ai/hunyuan3d/v2↑↑↑97s40,0003.31,966baseColorCut: texture failure. Wheels hallucinated blue, orange desaturated to salmon.
    Hunyuan3D v2 mini/turbofal-ai/hunyuan3d/v2/mini/turbo↑↑41s40,0003.31,941baseColorCut: same blue-wheel failure, softer geometry.
    Rodin v2.5fal-ai/hyper3d/rodin/v2.5↑↑↑154s500,00026.78,938baseColor, metalRough, normalCrisp, correct saturated orange, real tubular frame. Advanced.
    Rodin v2.5 Fastfal-ai/hyper3d/rodin/v2.5/fast24s19,4842.71,722emissive onlyStrong for the price and the fastest in the bench. Advanced, but see the material quirk.
    Tripo v2.5tripo3d/tripo/v2.5/image-to-3d↑↑69s498,10814.5398baseColorGood geometry, starved texture budget. Advanced.
    Tripo H3.1tripo3d/h3.1/image-to-3d↑↑191s1,451,05240.2247baseColorMost geometric detail in the bench, worst texture-to-geometry ratio. Advanced.
    Tripo P1tripo3d/p1/image-to-3d↑↑↑126s4,6380.9666baseColor, metalRough, normalGenuinely low-poly and web-light, but coarse with a floating stray bar. Cut: Meshy covers the game-ready axis better.
    Meshy v7meshy/v7/image-to-3d↑↑↑↑126s30,4866.03,502baseColorClean, well organised, game-ready polycount. Advanced automatically.
    Pixal3Dfal-ai/pixal3d↑↑361s195,8798.91,394baseColor, metalRoughCut: arbitrary multi-axis tilt (not gravity-aligned at all) and 6-minute runs.
    ReconViaGen 0.5fal-ai/reconviagen-0.5↑↑843s477,34820.11,724baseColor, metalRoughQuality about equal to TRELLIS 2 (it is TRELLIS-2 lineage), but 14 minutes. Cut on latency.
    TripoSRfal-ai/triposr97s115,1992.20noneCut: total failure. Untextured white blob, unrecognisable as a kart.
    SAM-3 Objectsfal-ai/sam-3/3d-objects24s15,4181.81,350baseColorThe surprise. Control price, 3x faster, correct saturated orange. Advanced.
    Hi3D (legacy)hitem3d/hi3d/image-to-3d↑↑↑328s499,66227.316,827baseColor, metalRoughGood quality, but even the cheapest config sits in the field's upper price band at 5.5 minutes a run. Cut on price plus latency.

    * TRELLIS 1's time is from the original production run; its GLB was reused after verifying the reference was byte-identical, so no wall clock was re-measured.

    The 23 excluded endpoints, with reasons

    EndpointReason not screened
    fal-ai/trellis/multiMulti-image variant of a screened engine; Stage A is a single-image screen.
    fal-ai/hunyuan3d/v2/multi-viewMulti-image variant.
    fal-ai/hunyuan3d/v2/multi-view/turboMulti-image variant.
    meshy/v7/multi-image-to-3dMulti-image variant.
    fal-ai/meshy/v6/multi-image-to-3dMulti-image variant.
    fal-ai/meshy/v5/multi-image-to-3dMulti-image variant, and v5 is two generations stale.
    tripo3d/h3.1/multiview-to-3dMulti-image variant.
    tripo3d/tripo/v2.5/multiview-to-3dMulti-image variant.
    hitem3d/hi3d/v3.0/multi-view-to-3dMulti-image variant, and priced out.
    hitem3d/hi3d/multi-view-to-3dMulti-image variant.
    fal-ai/trellis-2/retexture3D-to-3D retexture of an existing mesh, not reconstruction.
    fal-ai/trellis-2-loraRequires a separately trained LoRA; not a general image-to-3D path.
    fal-ai/hunyuan_world/image-to-worldGenerates a panoramic scene/world, not a single object asset.
    fal-ai/hunyuan3d-v3/sketch-to-3dSketch-specific input; wrong tool for a go-kart photo. Flagged for a future doodle lane.
    fal-ai/sam-3/3d-bodyHuman-body-specific; not applicable to the screen subject.
    tripo3d/triposplatOutputs a Gaussian splat, not a GLB mesh; incompatible with a mesh asset pipeline.
    fal-ai/hyper3d/rodinSuperseded by Rodin v2.5 in the same family.
    fal-ai/hyper3d/rodin/v2Superseded by Rodin v2.5 at the identical price.
    fal-ai/meshy/v6/image-to-3dSuperseded by Meshy v7 at the identical textured price.
    fal-ai/meshy/v6-preview/image-to-3dPreview build of the superseded v6.
    fal-ai/hunyuan3d/v2/turboBracketed in price and quality by two screened siblings (v2 and v2/mini/turbo).
    fal-ai/hunyuan3d/v2/miniBracketed in price and quality by the same two screened siblings.
    hitem3d/hi3d/v3.0/image-to-3dCredit-metered pricing whose entry point sits an order of magnitude above the field, before the quality escalators.

    Three billing traps

    We don't republish per-run prices — vendors change them, and their pricing pages are the authoritative source. But three structural traps are worth recording, because the vendors' own pages do not lead with them:

    Hunyuan 3D v2 bills 3x for texture

    Setting textured_mesh: true triples the price at both tiers we ran. The advertised price is the untextured one.

    Hi3D is credit-metered, not per-generation

    Geometry credits scale with resolution, and the platform's own worked example more than quadruples from quality to master at the same resolution. That is why the v3.0 endpoint was excluded outright.

    Tripo and Meshy price texture and PBR as separate add-ons

    So the advertised per-model price is roughly a third below what a textured, PBR result actually costs.

    Head-to-head: nine engines, five subjects

    Each cell scores the engine against the TRELLIS 1 control on that subject. ++ clearly better, + better, = equal, - worse, -- clearly worse, ! a defect that blocks integration regardless of quality. n/r = not run. Price is a relative band within the field on the run date, from ↑ (budget) to ↑↑↑↑ (premium). We don't republish vendors' per-run prices; they change, and their pricing pages are authoritative.

    EnginePrice01 Sneaker02 Go-kart04 Dog07 Character19 Dragon
    TRELLIS 1 (control)fal-ai/trellisrefrefrefrefref
    TRELLIS 2 (control)fal-ai/trellis-2↑↑n/r++++++n/r
    Rodin v2.5fal-ai/hyper3d/rodin/v2.5↑↑↑++++++++
    Tripo H3.1tripo3d/h3.1/image-to-3d↑↑++++++
    Meshy v7meshy/v7/image-to-3d↑↑↑↑++=/++++
    Tripo v2.5tripo3d/tripo/v2.5/image-to-3d↑↑++++=/+
    Hunyuan 3.1 Profal-ai/hunyuan-3d/v3.1/pro/image-to-3d↑↑↑-+++=+ !tilt
    Rodin v2.5 Fastfal-ai/hyper3d/rodin/v2.5/fast-=+/=+=/-
    SAM-3 Objectsfal-ai/sam-3/3d-objects=/-=+---- !dropped flame

    TRELLIS 2 controls were run only on the two character-type subjects (dog, game character), per the brief.

    Against the TRELLIS 2 control: on the game character, Rodin v2.5 beats TRELLIS 2 (face likeness, engraved armour, cloak embroidery) and Meshy v7 matches it while adding a separated sword; Hunyuan 3.1 Pro loses to TRELLIS 2 on facial detail. On the dog, TRELLIS 2 and Hunyuan 3.1 Pro are close (TRELLIS 2 keeps more fur texture, Hunyuan builds the better hindquarters), and Rodin v2.5 beats both on the head.

    The renders, subject by subject

    Each strip is the same six-view Blender ring: same rig, same tone mapping, same framing solve, same material normalisation. A curated selection is shown here, chosen to show each engine at its most characteristic — wins and failures both.

    Sneaker: hard matting

    Hard matting: laces, thin eyelets, a dark sole against a dark upper.

    Six-view Blender ring render of the sneaker reconstructed by TRELLIS 1, the budget-band control. The laces separate into free 3D strands and the dark side-panel overlays hold. A genuinely good control result on this subject.
    TRELLIS 1 (control): laces resolve into free strands. The bar to beat.
    Six-view ring render of the sneaker by Rodin v2.5 showing the sharpest texture in the set: crisp dark side stripes, visible mesh perforation and preserved midsole wear.
    Rodin v2.5: sharpest texture on this subject. Clearly better than the control.
    Six-view ring render of the sneaker by Meshy v7 with crisp stripes and free laces at roughly 31,000 triangles and 6.5 MB, the best quality-per-byte of any engine on this subject.
    Meshy v7: crisp stripes and free laces at 31k triangles. Best quality-per-byte here.
    Six-view ring render of the sneaker by Hunyuan 3.1 Pro. The surfaces are smoother but the laces fuse into a smooth band in several views and the dark accents wash out to grey.
    Hunyuan 3.1 Pro: laces fuse into a band, accents wash out. Worse than the control here.

    Go-kart: mechanical detail

    Mechanical detail: tubular frame, negative space, an exposed engine.

    Six-view Blender ring render of the orange go-kart reconstructed by TRELLIS 1, the control. Coherent and correctly coloured, but the bumpers are thick blobby slabs, the frame tubes merge into the floor pan, and the rear reads as an undifferentiated black lump.
    TRELLIS 1 (control): coherent and correctly coloured, but blobby bumpers and a mushy rear.
    Six-view ring render of the go-kart by TRELLIS 2. Frame tubes separate from the floor pan, the steering wheel is a proper ring on a column, the engine resolves a cylinder and muffler, and a white decal on the nose survives.
    TRELLIS 2 (control): separated tubes, a real steering wheel and a surviving decal. Best rear-side reconstruction in the bench.
    Six-view ring render of the go-kart by Rodin v2.5 with the most accurate saturated orange and the only rear frame rendered as an actual open tube ladder, though it loses some floor pan.
    Rodin v2.5: most accurate orange, and the only open tube ladder at the rear.
    Six-view ring render of the go-kart by SAM-3 Objects at the control's price and three times faster, matching the control on colour without beating it.
    SAM-3 Objects (24s): matches the control at the control's price, 3x faster.
    Six-view ring render of the go-kart by Tripo H3.1 showing the most geometric detail in the whole bench at 1.45 million triangles, but shipped with a 247 KB texture, so a 40 MB file that still looks muted.
    Tripo H3.1: most geometric detail in the bench, starved 247 KB texture.
    Six-view ring render of the go-kart by Hunyuan3D v2 showing its texture failure: the wheels are hallucinated blue instead of black, and the orange bodywork is desaturated to salmon.
    Hunyuan3D v2: the blue-wheel hallucination that cut the whole v2 family in Stage A.

    Dog on a couch: the stress test

    A real animal in a lying pose (pose-locked redo). The hardest case in the set.

    Six-view ring render of the lying dog by TRELLIS 1, the control, showing its outright failure: the muzzle and eyes collapse into a smooth blob, the front legs fuse into a mitten, and the body is a featureless loaf.
    TRELLIS 1 (control): the melted face. This is where our own control fails outright.
    Six-view ring render of the lying dog by TRELLIS 2 with real eyes with pupils, a defined muzzle and nose, separated front paws with toes and fur texture on the body. The rear is still loaf-like.
    TRELLIS 2 (control): real eyes, muzzle, paws and fur. The rear is still loaf-y.
    Six-view ring render of the lying dog by Rodin v2.5 showing the best head in the bench: sharp eyes, wet nose, fur shading and toes. One view shows the body oddly cropped at the legs.
    Rodin v2.5: best head in the bench. One view shows an odd crop at the legs.
    Six-view ring render of the lying dog by SAM-3 Objects, which at the same price as TRELLIS 1 produces a face with actual eyes, nose and ears where the control produces a blob. The body is still a smooth loaf.
    SAM-3 Objects: a real face at the control's price, where the control melts. The surprise of the bench.
    Six-view ring render of the lying dog by Hunyuan 3.1 Pro with eyes, a dark nose, defined ears, separated legs, and the best hindquarters in the bench, reading as a dog rather than a mound.
    Hunyuan 3.1 Pro: the best rear in the bench. Less fur detail than TRELLIS 2.

    Game character: stylized figure

    A stylized character: armoured ranger, cloak, sword, layered belts.

    Six-view ring render of the armoured ranger character by TRELLIS 1, the control. The face is a smudge with no resolvable features, the armour is generic grey and the feet fuse. The cloak drape is the one thing it gets right.
    TRELLIS 1 (control): a smudged face and generic armour. Only the cloak drape holds.
    Six-view ring render of the armoured ranger by TRELLIS 2 with real facial structure, surface detail on the armour, readable belts and pouches, separated boots and a properly draped rear cloak.
    TRELLIS 2 (control): real facial structure, readable belts, separated boots.
    Six-view ring render of the armoured ranger by Rodin v2.5, the best result in the bench on this subject: the reference's actual likeness comes through in the brow, cheekbones and hair strands, with engraved armour, a readable tabard and embroidery visible on the cloak hem. It beats our TRELLIS 2.
    Rodin v2.5: best in the bench, and it beats our own TRELLIS 2 on this subject.
    Six-view ring render of the armoured ranger by Meshy v7, the only engine that reconstructs the sword as a separate blade rather than a stick fused to the back, with clean armour, tabard and belts at about 31,000 triangles.
    Meshy v7: the only engine to reconstruct the sword as a separate blade.
    Six-view ring render of the armoured ranger by SAM-3 Objects showing a featureless blob face, a mushy figure and a cloak reduced to a smooth sheet. Its go-kart and dog wins do not generalise to characters.
    SAM-3 Objects: worse than the control here. Its wins do not generalise to characters.

    Crayon dragon: made-real doodle

    A made-real doodle: a child's crayon dragon turned into a toy-style reference.

    Six-view ring render of the crayon-drawing dragon toy by TRELLIS 1, the control, with eyes with pupils, teeth, spikes, wings, tail and the orange flame jet all present and correctly coloured. The control's best subject.
    TRELLIS 1 (control): everything present and correctly coloured. The control's best subject.
    Six-view ring render of the dragon by Rodin v2.5 with sharp scale texture, wings separated into real membranes with finger bones, distinct claws and a clean flame, upright and stable.
    Rodin v2.5: real wing membranes with finger bones, distinct claws, clean flame.
    Six-view ring render of the dragon by Meshy v7 with the best flame in the bench, an actual volumetric jet rather than a frill, plus crisp spikes and a clean yellow belly.
    Meshy v7: the best flame in the bench, an actual volumetric jet.
    Six-view ring render of the dragon by SAM-3 Objects showing its structural failure: prompted with the word dragon, its segmentation stage discarded the flame jet entirely as a different object, and the wings fuse into blobs.
    SAM-3 Objects: the flame is entirely missing. Segment-then-reconstruct dropped an attached element the prompt did not name.
    Six-view ring render of the dragon by Hunyuan 3.1 Pro with good quality spikes, wings and flame, but the whole mesh comes back pitched about 45 degrees off upright, and nothing in the API payload flags it.
    Hunyuan 3.1 Pro: good quality, pitched about 45 degrees off upright. Nothing in the payload flags it.

    Integration defects and quirks

    The things that would cost engineering time, independent of render quality. These do not show up in anyone's marketing pages, but they decide whether an engine can actually ship.

    EngineQuirk
    Hunyuan 3.1 RapidCannot emit GLB. The model_glb field contains an OBJ, and model_urls.glb is literally null; the texture ships as a separate 14 MB PNG plus MTL. Any integration needs a server-side OBJ-to-GLB conversion step. Disqualifying as-is.
    Hunyuan 3.1 ProOrientation is not stable across subjects: fine on 4 of 5, pitched about 45 degrees on the dragon. Would need an auto-upright pass.
    Pixal3DArbitrary multi-axis tilt on the one subject tested, plus 6-minute runs.
    Rodin v2.5 FastShips emissive-only materials (baked-lighting Shaded mode, no baseColor). Renders fullbright and ignores scene lighting, visibly washed out in a normal PBR viewer. Requires material: "PBR" and a re-test before it could ship.
    Rodin v2.5 / v2.5 FastTake image_urls (an array), not image_url. Also expose use_original_alpha, the only engines in the bench that explicitly consume the input alpha channel.
    SAM-3 ObjectsNeeds a per-subject text prompt for its segmentation stage (the default is "car"). Gets the object it is told to find and drops everything else, as the dragon's missing flame shows.
    Tripo H3.11.45M triangles / 40 MB with a 247 KB texture. Needs decimation before it could be served. A face_limit parameter exists but was not exercised here.
    Tripo v2.5 / H3.1 / P1Different canonical orientation from TRELLIS (front-on rather than three-quarter). An orientation: "align_image" option is available and would need setting.
    Meshy v7Cleanest integration story: single image_url, sane 30k-triangle output, about 6 MB, GLB by default, plus enable_rigging, enable_animation and pose_mode in the same call.
    Hunyuan3D v2 familyTexture is unreliable: hallucinated blue wheels on the go-kart at both price points tested.
    TripoSRReturns geometry with no texture at all (0 KB). Effectively dead.

    Side experiment: text-to-3D scenes

    Outside the tournament, one run of Meshy v7's text-to-3D at ultra + textured (154s) produced a coherent multi-fixture strip mall: five glazed storefront bays, brick pilasters, a parapet roof with individually modelled HVAC units and vent stacks, awnings, and a parking lot with light poles. No reconstructor in this bench can produce anything like it, because a reconstructor is bounded by one photo of one object. Honest caveats: parking stalls came back as raised rails rather than painted lines, the signage is texture smear, and this is a single run with a single prompt, so it establishes a capability, not a failure rate.

    Render of a strip mall scene generated by Meshy v7 text-to-3D: five glazed storefront bays, brick pilasters against tan stucco, a parapet roof carrying individually modelled HVAC units and vent stacks, awnings, a sidewalk and a parking lot with light poles.
    Meshy v7 text-to-3D (ultra + textured, one run): a coherent multi-fixture scene no reconstructor in this bench can produce. One run, one prompt; treat it as a lead, not a conclusion.

    What we do with this: no two uploads run the same plan

    This bench is not content marketing; it is how PolyMedium is built. Because no engine wins everywhere, we do not sell you an engine. Every upload is classified (object, character, or hand-drawn doodle) and routed to the engine this data says is strongest for that subject at that price. The bench rewrote our catalog directly:

    • Drafts ($0.25, every subject): TRELLIS 1 stays. No engine on fal beats it on price-performance for drafts; the quality ladder above it starts several price bands up. SAM-3 Objects is logged as a viable second source at the same price, 3x faster, with the caveat that it needs a per-subject prompt and silently drops parts it is not told about.
    • Best objects and doodles ($0.75): TRELLIS 2 — the separated frame tubes and surviving decals above are why. On drawings it is also the engine that came back with the right number of eyes: prior-heavy engines invent details a child never drew.
    • Standard characters ($1.00, the default): Hunyuan 3.1 Pro. The best hindquarters on the dog and clean, artifact-free surfaces won it the default slot. Its one defect in the bench, the 45-degree pitch, appeared on the crayon dragon — and routing is the mitigation: drawings never touch this engine, and characters are restaged into an upright reference before it runs (4 of 4 came back upright).
    • Hero characters ($3.00): Meshy v7. It never wins raw fidelity, but it was the only engine to reconstruct the sword as a separate blade and the flame as a real volumetric jet, with game-ready ~30k-triangle topology by default. That is figurine-grade output, priced off what it really costs to run, not willingness to pay.

    The other half of the system is what happens before any engine runs: every upload is restaged into a clean studio reference. That is what lets one product sit on many engines — each one is fed the input it performs best on, and the failure modes this page documents (backgrounds baked into geometry, thin strands turning into spikes, glare becoming paint) are suppressed before reconstruction instead of patched after. The bench tells us which engine to trust with your subject; the restage makes sure the engine gets a subject it can do its best work on.

    We re-run this bench as the catalog shifts and update the date stamp above when we do.

    Provenance

    Run 2026-08-29 against fal.ai's live catalog on that date. Engine names and versions are as listed on the run date; vendors ship new versions frequently, and this page describes these endpoints on this date, not the vendors' products in general. Price arrows are relative bands within the field on that date, from our own per-call spend; we deliberately do not republish per-run vendor prices. Scores are our qualitative judgement of the six-view renders against our own control, made by the team that operates these engines in production; where our engines lost, the page says so.