How Marso Studio Works
This page describes how Marso Studio works.
Marso Studio builds 3D assets and predicts a complete set of physically-based rendering (PBR) materials for them — in minutes, in your browser. It works at two scales: a whole scene decomposed into its objects, or a single asset on its own.
The model: I2M
At the centre of Marso Studio is I2M (Image-to-Material), M-XR's foundational material model. Given a mesh and its base-colour texture, I2M predicts a full PBR material stack:
Albedo
The true surface colour, with lighting removed
Metallic
Which areas behave as metal vs non-metal
Roughness
How sharp or diffuse surface reflections are
IOR
Index of refraction — how light reflects at the surface
Normal map prediction is in active development and is not yet part of the downloadable output.
I2M is trained on measured material data rather than artist interpretation, so its predictions are consistent and ready to drop into a production pipeline.
What the model needs from you
Clean mesh geometry
A base-colour texture (see 3D file support)
I2M enhances materials — it does not fix broken geometry, bad UVs or poor scans. The better your input, the better your result. This holds for generated meshes too: the quality of a scene object depends on the reference image it was built from.
The scene pipeline
The main route through Studio starts from a whole environment rather than a single object.
A scene is decomposed before anything is generated. Detection breaks the scene image into individual objects and shows them to you; you confirm which ones are worth building; then each selected object is generated and textured independently.
Scene Generation — describe the environment and get a scene image
Detect Objects — the scene becomes a list of individual objects
Confirm your selection — everything is selected by default; you decide what gets built, and what it costs
Generate Reference Images — each object gets a reference image of its own
Generate 3D Model — each object is reconstructed as a mesh
Generate PBR Textures — I2M predicts materials for each one
Export — the whole scene, or any object individually
Each object is reconstructed from its own reference image, and 3D generation needs the object to fill most of that image. Objects that were small or distant in the scene are the ones that fail.
See Generate a scene.
The node editor
Rather than a single upload box, Marso Studio gives you a node editor. Each node is one step in the process — detect objects, load or generate an asset, generate or edit an image, apply materials — and you connect a node's output to the next node's input to build a pipeline.
You don't have to start from an empty graph. When you create a project you choose a workflow, and the starting nodes are placed for you:
Bulk — Scene Generation → Detect Objects, for a whole environment
Individual — 3D Model Upload → Generate PBR Textures, for a single asset
From there you add, remove and rewire nodes as you like. See the full Nodes reference for what every node does.
The single-asset routes
Scene generation is the main route, but for one hero prop the direct routes are faster:
You have the mesh — upload it, run Generate PBR Textures. This is what an Individual project opens with.
You have an image, or an idea — Image Generation → Generate 3D Model → Generate PBR Textures.
Both remain fully supported. See Workflows.
How work is charged
Every generation step spends credits, and the node tells you what a step will cost before you run it. Scenes are charged per object, so the size of your selection decides what a scene costs..
See Credits & billing.
From input to output, at a glance
Start — describe a scene, bring an image, or upload a model.
Decompose (scenes only) — break the scene into objects and choose what to keep.
Build — generate the mesh, or use the one you uploaded.
Apply materials — run Generate PBR Textures to predict the PBR stack with I2M.
Preview — inspect the result in the 3D viewer.
Export — download the textured assets and their individual maps.
Ready to try it? Head to the Quickstart.
Last updated
