Kovati Docs

MeshForge

Turn a prompt or a reference image into a game-ready static mesh, finished and imported.

Documented in depthMeshForge0.3.0Open sourceMeshForgeTrellis0.0.3Free, closed sourceMeshForgeCloud0.3.0Free, closed sourceMeshForgeGarment0.2.0Paid

MeshForge owns one pipeline end to end: submit to a provider, poll, download, import — and finish with collision, lightmap UVs, Nanite and a sized, grounded pivot.

It ships no generator of its own. Every provider, local or hosted, registers through the same interface, so an empty provider list is a normal state rather than a fault.

The whole pipeline end to end, in the editor.
PluginRoleLicenceVersion
MeshForge sourcecoreThe subsystem. Install this one.Open0.3.0
MeshForgeCloudproviderA route to a generator — a vendor API, or a container on your own GPU.Free0.3.0
MeshForgeGarmentpostRuns after generation, on the result.Paid0.2.0
MeshForgeGarmentToolset sourcetoolsetThe same subsystem as typed MCP tools, for an agent. Adds nothing of its own.Open0.1.0
MeshForgeToolset sourcetoolsetThe same subsystem as typed MCP tools, for an agent. Adds nothing of its own.Open0.3.0
MeshForgeTrellisproviderA route to a generator — a vendor API, or a container on your own GPU.Free0.0.3
MeshForgeTrellisToolset sourcetoolsetThe same subsystem as typed MCP tools, for an agent. Adds nothing of its own.Open0.0.3

Five stages

The unit of work is a Mesh Definition, and it has five stages:

The Stages panel of a Mesh Definition. A Workflow picker reads 'Custom — set up by hand' beside a Save as Workflow button, above five stage tick-boxes: Concept image, References, Mesh, Post-processing and Import. Below, the five stages are listed collapsed and numbered: Concept image 'not run', References 'not run', Mesh in amber 'stale — inputs changed since this ran', Post-processing 'not run', and Import in amber 'stale — inputs changed since this ran'.
Each stage keeps its own state, and they need not agree. Here Mesh and Import are stale while the three between them have never run — the chain does not pretend to be a single progress bar.

The tick-boxes above the list are per definition, not global. Turning one off hides that stage, excludes it from staleness, and makes every tool refuse it — which is how a definition that starts from a mesh you already have simply has no Concept or References stage to answer for.

Concept

Draw a reference image from a prompt. The mesh generators here reconstruct from pictures, so this stage is often where the real art direction happens — get the reference right and the mesh follows it.

The Concept image stage, marked 'not run', using the 'Image — Tripo API v3' pipeline. A Prompt field carries placeholder guidance: describe the object, not the picture — 'a dented steel ammunition crate with rope handles' is a prop, 'a photo of a crate on white, studio lighting' is a photograph of one, and the second puts the studio in the mesh. A Model group sets model to gemini-3.1-flash, template to none and Takes to 1. Framing offers t_pose and a greyed-out sketch_to_render marked v2 legacy. Input offers Use Existing Pictures, and Pipeline holds a Description and an Enabled tick. A note at the foot reads: write what to draw in the prompt below first, and it costs about 20 Tripo credits.
The image generator is a pipeline like any other — chosen from a dropdown, with that vendor's own fields under it. The greyed 'sketch_to_render (v2 legacy)' is a setting the selected model does not take: shown, so you know it exists, disabled, so you cannot send it.

References

Choose which pictures the generator sees — a main image plus up to three extra views.

Half built. Choosing pictures works. Making more pictures — a Refine pipeline for background removal or extra angles — does not exist.

Mesh

The generation itself. A generator declares whether it builds from words, a picture, or either, and the settings, the refusal, the quoted price and the take record all follow that.

The Mesh stage, marked 'stale — inputs changed since this ran', on the 'Meshy — Standard (high quality)' pipeline. It offers to start from an existing mesh instead. A Prompt field explains it is what to build in words for a generator that reads text — alone when there is no picture, or beside one where the generator takes both. An Input group shows four picture slots labelled main image, view 1, view 2 and view 3, with a note that they can be dragged here from the Images tab or dragged onto each other to reorder, and a ticked multi-image-to-3d option. A Model group sets ai_model to meshy-7.1 (current), geometry_resolution to standard, image_enhancement ticked and auto_size unticked, above collapsed Textures, Shape and Pipeline groups. A note at the foot reads: sends the pictures shown above to the generator and files what comes back as a new take; nothing appears in the project until a take is imported; costs about 30 Meshy credits.
The pictures that will be sent, shown as slots you can reorder, beside the vendor's own model fields. And the sentence that separates this stage from the next: nothing appears in the project until a take is imported.

Post

A chain of steps on the result: retexture, edit in Blender, garment fit, sculpt.

The Post-processing stage, headed in red 'failed — TransferBoneWeightsFromMesh: Failed to transfer the weights'. The chain is summarised as 'Garment fit — wrap around a character → Wardrobe skinning — Unreal inpainting'. Its two steps are listed separately: the first ticked green with a last-run date, the second numbered and marked 'not run yet'. Each has up and down reorder arrows and its own Run this step and Remove buttons, above an 'Add a step' picker and a Run chain button.
Steps run in order and report separately. Here the fit succeeded and the skinning failed, so only the skinning needs running again — the arrow between them is the chain, not a single operation.

See post-processing for input sources, reordering rules and the steps that ship.

Import

Collision, hull count, size, pivot, Nanite, lightmap resolution.

Re-finishing is free — all of it re-applies with no provider call.

Every stage is re-runnable and stale-tracked by a hash chain: editing an early stage marks everything after it stale without discarding what it made.

Any stage can be switched off per definition. A switched-off stage is hidden from the tabs, refused by every tool, and left out of staleness.

Read the status words rather than the tick marks. "Not run" and "stale" are different claims: the first means this stage has produced nothing, the second means what it produced no longer matches its inputs. Only the second is a reason to spend anything.

A definition is a recipe, not a receipt

Pictures, quality, seed, polygon budget and finish settings are recorded on the asset. Point a definition at a seeded provider and it can be regenerated identically.

Each prompt belongs to the pipeline that reads it — the concept image pipeline's words, the mesh generator's words where its provider takes text, a retexture step's own style prompt. There is no definition-wide prompt, because a single prompt shared by three stages was never true.

Workflows

A Mesh Workflow is the stage switches, the pipeline on each stage, the post chain with its settings, and optionally the import settings — in one choice.

A new definition asks which workflow to start from, before anything else:

A dialog titled New Mesh Definition, headed 'Start from a workflow'. It lists seven buttons: Edit a mesh in Blender, Garment for a character, Generate from your own picture, Generate from a prompt, Narrative clothing item, WF_Test_Clothing, and finally 'Blank — every stage on, nothing chosen'.
The first question is what kind of job this is, not which provider to use. 'Blank — every stage on, nothing chosen' is the escape hatch, and it is last because starting from the nearest workflow is almost always quicker.

Three ship with MeshForge itself:

WorkflowFor
WF_GenerateFromPromptWords in, mesh out
WF_GenerateFromPictureA reference image in
WF_EditMeshInBlenderA round trip through Blender

The rest of that list comes from elsewhere. Garment for a character arrives with MeshForgeGarment; Narrative clothing item comes from a plugin in the project that is not part of Automation Forge at all; WF_Test_Clothing is an asset somebody in the project made and never gave a display name.

Workflows are extensible the same way post steps are. A studio with its own conventions ships them as assets, and they appear in this list beside the ones MeshForge brought.

Applying a workflow copies it into the definition, so a definition is never bound to the workflow it started from. The Stages tab can reapply one — keeping prompts, pictures, source mesh, takes and the outputs of steps still in place — list what has changed since, and Save as Workflow:

The Workflow picker on the Stages tab, currently reading 'Custom — set up by hand' and opened to show six entries: Edit a mesh in Blender, Garment for a character, Generate from your own picture, Generate from a prompt, Narrative clothing item and WF_Test_Clothing. A 'Save as Workflow' button sits to the right, and the stage tick-boxes for Mesh, Post-processing and Import are visible behind the open menu.
'Custom — set up by hand' is what a definition reads once it no longer matches any workflow — which is most of them, most of the time. Reapplying is a deliberate act, not something that happens because the source asset changed.

What it deliberately does not do

MeshForge generates static meshes and rigs nothing.

It does now store, show, thumbnail and round-trip the skeletal meshes that post steps such as garment skinning produce — but it makes no skeleton itself.

Cost before spend

What would this cost? runs through the same resolver as submission, so the quote is the price of the request that would be sent.

The foot of a generation stage. Above a blue Generate button, two lines read: 'Sends the pictures shown above to the generator and files what comes back as a new take. Nothing appears in the project until a take is imported.' and 'Costs 120 Tripo credits, about $1.20 (P2-20260801).' A Pipeline group above holds a Description field and a ticked Enabled box.
What it will do, and what it will cost, on the same line as the button that does it — in the vendor's own unit, converted where that vendor publishes a rate, and naming the model the estimate is for.

"About $1.20" appears here because Tripo publishes a credit rate. A Meshy take in the same project records 30 credits and no dollar figure, because that vendor does not — and the record says so rather than guessing a conversion.

A contradictory generator setting is refused where the panel and agent routes converge — so an agent cannot submit what the Stages tab would have refused.

Where to go next

Release notes

Every version of every plugin in this set.

On this page