HomeAPI ReferenceGenerate Assets

Generate Assets

Use the POST /api/v1/generate endpoint to create 3D models, ASCII art, animations, and standalone images from text prompts.

Endpoint

POST https://meshroom.top/api/v1/generate

All generation requests use the same endpoint. The mode field determines which asset type is created. Every request needs an Authorization: Bearer mr_live_... header - create a key on the API Keys page.

Generation runs asynchronously: POST starts the job and returns immediately with a generation id and status: "pending" - credits are charged up front (and refunded automatically if generation fails). Poll GET /api/v1/generate/{id} until status becomes "complete" (or "failed") to get the finished asset.

GET https://meshroom.top/api/v1/generate/gen_abc123
-H "Authorization: Bearer mr_live_..."
{
"id": "gen_abc123",
"status": "complete",
"enhancedPrompt": "...",
"imageUrl": "...",
"modelUrl": "..." // 3D models only,
"assetId": "asset_xyz",
"asset": { ...full asset record... }
}

status moves through mode-specific intermediate values (e.g. enhancing, generating_image, generating_3d) before reaching complete.

3D Models5 CREDITS

Generate textured 3D meshes from a text description. Output is a GLB file ready for web viewers, game engines, or AR applications.

+----+ / /| +----+ | | | + | |/ +----+

Request Body

ParameterTypeRequiredDescription
modestringYESSet to "trellis"
promptstringYESText description of the 3D model
meshSimplifynumberNoSimplification ratio 0-1 (default 0.95)
textureSizenumberNo512, 1024, or 2048 (default 1024)

Example Request

curl -X POST https://meshroom.top/api/v1/generate \
-H "Authorization: Bearer mr_live_..." \
-H "Content-Type: application/json" \
-d '{
"mode": "trellis",
"prompt": "a low-poly medieval castle",
"meshSimplify": 0.95,
"textureSize": 1024
}'

All fields are top-level on the request body - there is no nested options object.

Example Response

Returned immediately - see Endpoint above for how to poll for the finished model.

{
"id": "gen_abc123",
"status": "pending",
"creditsRemaining": 48
}

ASCII Art1 CREDIT

Generate animated ASCII art frames from a prompt. Returns an array of text frames that can be played back sequentially for terminal-style animations.

) ) \ / ) ( \(_)/ ^^^^

Request Body

ParameterTypeRequiredDescription
modestringYESSet to "ascii"
promptstringYESText description of the ASCII art

Example Request

curl -X POST https://meshroom.top/api/v1/generate \
-H "Authorization: Bearer mr_live_..." \
-H "Content-Type: application/json" \
-d '{"mode": "ascii", "prompt": "a spinning globe"}'

Example Response

Returned immediately - see Endpoint above for how to poll for the finished frames.

{
"id": "gen_def456",
"status": "pending",
"creditsRemaining": 47
}

Animations1 CREDIT

Create animated pixel-art loops from a text prompt. Configure frame count, art style, animation type, and background transparency for game-ready assets.

Request Body

ParameterTypeRequiredDescription
modestringYESSet to "animation"
promptstringNo*Text description of the animation subject
referenceImagestringNo*A data:image/... data URL to match the character's look across frames - works with or without prompt (leave prompt blank and it's auto-described; add one to guide the pose/motion)
frameCountnumberNoNumber of frames (default 8)
artStylestringNo"pixel-art", "hand-drawn", etc.
animationTypestringNo"idle", "walk", "attack", etc.
backgroundstringNo"transparent" or "white"
variationsnumberNo1-10 (default 1). Runs the request that many times and charges 1 credit per variation; the response returns an ids array to poll, one per variation

* At least one of prompt or referenceImage is required - not both, though combining them works too.

Example Request

curl -X POST https://meshroom.top/api/v1/generate \
-H "Authorization: Bearer mr_live_..." \
-H "Content-Type: application/json" \
-d '{
"mode": "animation",
"prompt": "a knight swinging a sword",
"frameCount": 8,
"artStyle": "pixel-art",
"animationType": "attack",
"background": "transparent"
}'

Example Response

Returned immediately - see Endpoint above for how to poll for the finished animation.

{
"id": "gen_ghi789",
"status": "pending",
"creditsRemaining": 46
}

Images1 CREDIT

Generate a single standalone AI image from a text prompt - useful for illustrations, concept art, thumbnails, or any general-purpose image that isn't a 3D model, ASCII art, or animation.

Request Body

ParameterTypeRequiredDescription
modestringYESSet to "image"
promptstringYESText description of the image

Example Request

curl -X POST https://meshroom.top/api/v1/generate \
-H "Authorization: Bearer mr_live_..." \
-H "Content-Type: application/json" \
-d '{"mode": "image", "prompt": "a serene mountain lake at sunrise"}'

Example Response

Returned immediately - see Endpoint above for how to poll for the finished image.

{
"id": "gen_jkl012",
"status": "pending",
"creditsRemaining": 45
}

Full Parameters Reference

ParameterTypeModesDescription
modestringallGeneration mode: "trellis", "ascii", "animation", "image", or "img-to-3d"
promptstringall except img-to-3dText description of the asset to generate
meshSimplifynumber (0-1)trellisMesh simplification ratio
textureSize512 | 1024 | 2048trellisTexture resolution in pixels
sourceImagestring (data URL)img-to-3dSource image to convert into a 3D model - required for this mode
frameCountnumberanimationNumber of animation frames
artStylestringanimationArt style (pixel-art, hand-drawn, etc.)
animationTypestringanimationAnimation type (idle, walk, attack, etc.)
backgroundstringanimation"transparent" or "white"
referenceImagestring (data URL)animationReference image to match the character’s look across frames - can be combined with prompt
variationsnumber (1-10)animation, image, asciiGenerate this many results from one request, charged 1 credit each. The response then carries an ids array - one generation to poll per variation
isPrivatebooleanallKeep the generated asset out of the public gallery (default false)