Skip to content

Download result

View Markdown llms-full.txt

Download the result of a completed SimReady conversion as a ZIP archive. Use the conversion-job ID from a direct 3D upload or from Asset Composer’s conversion_job_id; composition IDs do not work on this endpoint.

MethodGET
Path/api/conversions/:id/result
Returnsapplication/zip; legacy jobs without stored packages may return JSON
ParamValuesDefaultNotes
formatusd · mjcf · allallusd = USD + textures only. mjcf = MuJoCo XML package. all = both.
Terminal window
curl -L "https://api.rigyd.com/api/conversions/abc123.../result?format=usd" \
-H "Authorization: Bearer rgyd_live_..." \
-o simready.zip

<name> below is the asset name chosen by the pipeline: for compositions it is derived from the prompt, and for uploads it is not always your filename. List the archive to find the entry point instead of predicting it. <basename> is your uploaded filename without its extension.

usd/<name>/<name>.usd # entry point — open this one
usd/<name>/payloads/*.usd # base, meshes, physics layers
usd/<name>/payloads/materials/OmniPBR/*.mdl # when an MDL material is used
usd/<name>/textures/*.png
usd/<name>/.thumbs/256x256/<name>.usd.png # SimReady thumbnail (hidden folder)

Each MJCF file is a standalone test world for one asset, not a scene fragment. When you merge several into one MuJoCo scene:

  • One floor. Every file includes <geom name="ground" type="plane"> in its worldbody. Keep one floor for the scene and drop the per-asset planes.
  • Prefix names. Mesh, material, texture and geom names such as material_0, visual_0 and collision_0 repeat across assets, and each file has an unnamed top-level <default> geom class with that asset’s friction. Prefix each asset’s names and references, or use MuJoCo <attach> (mjSpec attach) with a prefix; plain <include> does not prefix. Move each asset’s defaults into a named class so they apply only to its geoms.
  • Set the floor’s friction. MuJoCo combines two contacting geoms by taking the larger friction value (unless their priority differs). A floor at the default friction of 1.0 overrides lower friction tuned on an asset. Give the floor the surface friction you intend, or give asset geoms a higher priority.
  • Wheels and casters are solid. Only joints authored for an articulated Build asset move. On rigid and Generate assets, casters are part of the body, so a pushed cart slides on contact friction and can tip. fixed_base: false makes a free body, not a rolling one. If rolling matters, request an articulated asset and name the wheels as continuous joints.
  • Check which way it faces. No explicit front direction is delivered. Build geometry is authored facing +Z in Y-up, which becomes −Y in the delivered Z-up files. Generate and uploaded assets have no facing convention. Confirm with the prototype captures, joint axes (drawer slide direction, hinge side) or a render before placing instances.
StatusBodyWhen
400{ "error": "Invalid format. Expected one of: usd, mjcf, all" }Bad format value
404{ "error": "Conversion job not found" }Bad id or not your job
404{ "error": "MJCF package is not available for this conversion" }format=mjcf but the pipeline did not produce an MJCF package
409{ "error": "Job not yet completed", "status": "running" }Job is still in flight
502upstream fetch failureUnderlying media store unreachable