Skip to content

CLI & Python SDK

View Markdown llms-full.txt

rigyd is the official command-line tool and Python SDK for the Rigyd API. Version 1.1 adds the same SimReady Asset Composer workflow used by the public API: start from intent and optional reference images, or convert an existing 3D model. The core package has zero dependencies.

Terminal window
pip install https://github.com/rigyd/rigyd-cli/releases/download/v1.1.0/rigyd-1.1.0-py3-none-any.whl

Version 1.1.0 is available from the GitHub release. The PyPI package remains on 1.0.1 until the new release is published there.

  1. Authenticate. Stores your rgyd_live_... key at ~/.config/rigyd/config.json (mode 600).

    Terminal window
    rigyd login

    Key resolution order: --api-key flag → RIGYD_API_KEY env → config file.

  2. Compose from an idea or reference image.

    rigyd compose creates the composition, polls it through prototype generation and SimReady conversion, then downloads the result. Unlike the REST API, this one-command path enables automatic submission by default.

    Terminal window
    rigyd compose "compact desktop stapler" \
    --task "press the upper arm to staple paper" \
    --asset-class articulated \
    --export all

    Add one --image reference.png, or four ordered --image flags for front, right, back, and left views. Use --asset-class auto when Rigyd should infer whether the asset is rigid or articulated.

  3. Pause for review when needed.

    Terminal window
    rigyd compose "countertop microwave" \
    --task "open the door and place a container inside" \
    --review
    rigyd compositions get <composition_id>
    rigyd compositions submit <composition_id> --export all

    --review maps to auto_submit=false. The command returns the composition ID when the prototype reaches ready; submitting it later creates and downloads the linked conversion job.

  4. Or convert an existing 3D asset.

    Terminal window
    # 3D file → SimReady, optionally retopologized
    rigyd convert chair.glb --tris 50000 --export all
  5. Inspect, re-download, or simulate.

    Terminal window
    rigyd compositions list
    rigyd jobs list
    rigyd jobs get <job_id>
    rigyd download <job_id> --export mujoco # re-download any job, 0 credits
    rigyd simulate <job_id> --scene drop # physics demo video, 0 credits
    rigyd whoami # user + credit balance
  • --export takes a format (usd, mjcf, all) or a simulator alias (isaac → USD, mujoco → MJCF). Default: usd.
  • Progress goes to stderr, the result path to stdout, so it composes with other tools: blender $(rigyd convert scan.obj --export usd). Add --json for a machine-readable manifest (handy for agents and CI).
InputCommandCost
Idea + optional 1 or 4 imagesrigyd compose PROMPT --task TASKPrototype price from rigyd pricing
3D file (.glb/.gltf/.fbx/.obj/.stl/.ply/.usd*)rigyd convert FILEFree

See Supported formats for the full input list and Pricing for credit costs.

import rigyd
rigyd.configure() # key from login / RIGYD_API_KEY
job = rigyd.convert(file="chair.glb")
job.wait(on_progress=lambda j: print(j.status, j.stage, j.progress))
usd_path = job.download(fmt="usd") # or "mjcf" / "all"
print(rigyd.account()) # user + credit balance

Compose and automatically continue into SimReady conversion:

composition = rigyd.compose(
prompt="compact desktop stapler",
robot_task="press the upper arm to staple paper",
asset_class="articulated", # auto | rigid | articulated
auto_submit=True,
physical_context={
"dimensions_m": {"length": 0.15, "width": 0.04, "height": 0.08},
"materials": ["ABS plastic", "steel"],
"fixed_base": False,
},
)
composition.wait()
job = composition.conversion_job()
usd_path = job.download(fmt="usd")

The SDK follows the API default: auto_submit=False. Call composition.submit() after review, or set it to True for an unattended run.

composition.wait() polls the composition workflow until ready, completed, failed, or cancelled. job.wait() polls the linked conversion lifecycle and raises on failure.

Install the optional dependency to load a result straight into MuJoCo:

Terminal window
pip install "rigyd[mujoco]"
model = rigyd.load_model(file="chair.glb") # -> mujoco.MjModel, ready to mj_step
  • NVIDIA Isaac Sim — use the Isaac Sim extension to convert an existing 3D asset and load it onto the stage without leaving the app. Use this CLI for text/image composition or offline and scripted pipelines.
  • MuJoCorigyd.load_model(...) above, or mujoco.MjModel.from_xml_path(<path from rigyd download --export mujoco>).