One API key for any frontier model on your robot.

We think anyone with a robot should be able to try the best AI models on it. Playground Router connects Claude, GPT-6, Gemini, and other frontier models to your robot through one API, and scores every run. No robot yet? Try it in the simulator first.

01

Set up your first run

We support the SO-101 and the bimanual YAM for now, on your own hardware or in a simulator on your computer. Pick your robot, a model, and a task, and we show you the exact Python SDK code and its price. The first connect() finds your arms and cameras and calibrates them, and if your program stops, the robot holds still.

  1. 1 Pick your robot

  2. 2 Pick a model

  3. 3 Pick how it thinks

    Reasoning effort
  4. 4

02

Everything is in the Python SDK

Playground Router is a Python SDK. connect() and run() cover most programs. Underneath, a typed client gives you streaming steps, typed errors, automatic retries, safe repeats of every request, and an async version.

connect() sets up the robot once. run() returns the judged result.

Run a task (Python)
from playground_router import connect

with connect() as robot:
    result = robot.run(
        "put the cube in the bowl",
        model="anthropic/claude-opus-5.5",  # the exact model ID
        effort="high",       # reasoning effort: low, medium, high, xhigh, max
        harness="agentic",   # or direct
        max_usd=1,
        minutes=10,
    )

print(result.success)        # True
print(result.score)          # 1.0, the fraction of subtasks that passed
print(result.subtasks)       # each subtask, passed or failed, and why
print(result.cost_usd)       # {"total": 0.0873, "vendor_price": 0.09, "saved": 0.0027}
03

How it works

We split a session into three parts, so everything that touches your robot stays with you. The SDK and the connector are open source and run on your side. We run the models.

In your code

Python SDK

Your program opens a session, sends camera frames and robot state, and gets back the next action. The loop stays in your code.

Open source

Behind the API

Router

  • Model routing. One API key for every model below.
  • Harnesses. The loop that turns model output into skill calls. It is its own parameter, so you can compare harnesses on one model.
  • Metering. Model calls, tokens, and session minutes.
  • The judge. A score for every session.

Next to the robot

Connector

Runs the robot’s skills and enforces the safety limits from its registration file, where no model can override them. It holds the robot still if the link drops, and it makes only outbound connections.

  • locate
  • move_to
  • open_gripper
  • close_gripper
Open source
04

Every frontier model, for less than going direct

Every minute here costs less than the vendors charge for the same tokens, and never more than the rate on the model’s card. The harness, the safety limits, the judge, and the run log are free.

There are no subscriptions and no purchase fees. Buy credits from $20, and a run stops before your balance can go below zero. A three-minute task with Claude Opus 5.5 costs at most $0.60, judge included.

Premium$0.50 a minute or less

  • Claude Fable 5.1anthropic/claude-fable-5.1$0.50 per minuteDirect from the vendor: $0.525 direct
  • GPT-6 Astraopenai/gpt-6-astra$0.50 per minuteDirect from the vendor: $0.525 direct
  • Claude Opus 5.5anthropic/claude-opus-5.5$0.20 per minuteDirect from the vendor: $0.21 direct

Standard$0.10 a minute or less

  • GPT-6.1 Solopenai/gpt-6.1-sol$0.10 per minuteDirect from the vendor: $0.105 direct
  • Claude Sonnet 5.5anthropic/claude-sonnet-5.5$0.10 per minuteDirect from the vendor: $0.105 direct
  • Gemini 4 Argongoogle/gemini-4-argon$0.10 per minuteDirect from the vendor: $0.105 direct
  • Grok 4.7x-ai/grok-4.7$0.092 per minuteDirect from the vendor: $0.095 direct

EconomyUnder $0.05 a minute

  • Gemini 3.8 Flashgoogle/gemini-3.8-flash$0.042 per minuteDirect from the vendor: $0.0435 direct
  • Claude Haiku 5.5anthropic/claude-haiku-5.5$0.005 per minuteDirect from the vendor: $0.00525 direct
  • GPT-6 Lunaopenai/gpt-6-luna$0.005 per minuteDirect from the vendor: $0.00525 direct
  • DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.0032 per minuteDirect from the vendor: $0.0033 direct

Prices as of October 2026. A busy minute in our simulator uses about 40,000 input and 2,500 output tokens, and the struck-through price is what the vendors charge for them at list price. A run pays 97% of that list price for the tokens it uses.

05

Every session gets a score

Frontier models are not reliable robot controllers yet, and we want every run to show where they fall short. A judge scores each subtask. A failed subtask names its failure type, and every subtask has a timestamp, so you can see when a run went right and where it went wrong.

session.result() returns the scores with the session’s cost.

session.result()
{
  "status": "completed",
  "score": 0.67,
  "subtasks": [
    {"name": "pick up the cube", "passed": true, "t_s": 41},
    {"name": "place it in the bowl", "passed": true, "t_s": 118},
    {"name": "return home", "passed": false, "failure": "stall", "t_s": 252}
  ],
  "billed_minutes": 4.2,
  "cost_usd": {"total": 0.81, "vendor_price": 0.84, "saved": 0.03}
}

An example result. The numbers are for illustration only.