RunRobot lets you run robot policies without having to understand machine learning or manage your own infrastructure.
Researchers
Package once, publish everywhere
Package a policy once, validate it, run it locally, then publish to runrobot to get on the leaderboard.
Create policy.yaml, robot.yaml, scene.yaml, and a validator.
Use the same packaged policy for browser runs, simulation, and hardware deploys.
Developers
Use a policy in minutes
Open policies in the browser, publish assets, and automate hosted workflows in minutes.
Using your robot policy is as easy as sending a browser URL.
Upload your own scenes, robot bundles, policy artifacts, and datasets to share or train.
Researchers
Package a policy first
The package-first workflow lives in open-source runrobot. Start here if you want the same policy package to run locally, in the browser, in headless validation, and on a robot before it reaches hosted evaluation.
Start by opening an existing policy browser run, then publish scenes, robots, and policies. Arena and leaderboard are advanced evaluation features for large labs.
Open a published policy in the browser
You do not need an API call to run a published policy. Build the canonical URL, open it in a browser, and the simulator page does the rest.
The hosted API accepts ONNX policies plus the current runtime adapter config. Easily package policy workflows in our open-source runrobot, you can use to publish policies with RunRobot Cloud.
These are the core developer endpoints. Start here if you are uploading assets or minting API tokens.
GET/api/api-tokensSession or bearer
Lists your API tokens.
POST/api/api-tokensSession or bearer
Creates one API token.
DELETE/api/api-tokens/{tokenId}Session or bearer
Revokes one API token.
POST/api/publish/scenesBearer
Publishes one scene GLB and returns its public manifest.
POST/api/publish/robotsBearer
Publishes one zipped MuJoCo robot bundle.
POST/api/publish/policiesBearer
Publishes one browser-native policy artifact and returns its manifest.
SceneGen
Use SceneGen when you want RunRobot to generate a published scene from an input image.
POST/api/scenegen/jobsBearer
Creates one SceneGen job from an image and boxes.
GET/api/scenegen/jobs/{jobId}Public
Reads SceneGen job progress, previews, and the published scene when ready.
Deployments, rollouts, datasets, and training
These are authenticated console endpoints for managing dedicated policy endpoints, rollout records, uploaded MP4 datasets, and training jobs. When Video2Robot is configured, training jobs proxy project creation, upload, pose extraction, and robot retargeting through the connected service.
GET/api/deploymentsSession or bearer
Lists your deployments.
POST/api/deploymentsSession or bearer
Creates one deployment from an owned or public policy.
GET/api/rolloutSession or bearer
Lists rollout records and error logs for your policies.
GET/api/datasets/uploadsSession or bearer
Lists your uploaded MP4 dataset records.
POST/api/datasets/uploadsSession or bearer
Uploads one or more MP4 files into your dataset library.
GET/api/training/jobsSession or bearer
Lists your training jobs and refreshes Video2Robot task state when configured.
POST/api/training/jobsSession or bearer
Creates one training job and launches Video2Robot work when available.
Evaluation
Arena and leaderboard are higher-level hosted evaluation surfaces layered on top of published runs.
POST/api/arena/launchPublic
Creates one browser-native arena matchup.
GET/api/arena/matchup/{matchupId}Public
Reads one arena matchup and both browser URLs.
POST/api/arena/controlPublic
Dispatches a control event into one arena pane.
POST/api/arena/votePublic
Records one arena vote and updates the aggregate standings.
GET/v1/leaderboardPublic
Reads the public aggregate leaderboard.
What the SDKs cover today
The runrobot SDKs are developer clients for hosted RunRobot Cloud. They build canonical public URLs and upload scenes, robots, and policy artifacts. The package-first researcher workflow lives in the open-source runrobot repo.