agi.diy

Models · ACT (action chunking transformer) · default

agi-act/so101

checking availability…

Our checkpoint cagataydev/agi-act-so101, for the SO-101 arm. It answers one observation with the next 100 actions. It is not a general-purpose controller; it does not read a task sentence. The older id act/so101 still works and leases the same row.

Price

per call
$0.01 · 100 tokens
per action
$0.0001
billed
every returned action, whether or not your robot plays it

What you send

observation.state [6]
shoulder_pan, shoulder_lift, elbow_flex, wrist_flex, wrist_roll, gripper · normalized: arm -100..100, gripper 0..100
observation.images.top [480, 640, 3]
top camera, RGB uint8 (JPEG on the wire)
observation.images.wrist [480, 640, 3]
wrist camera, RGB uint8 (JPEG on the wire)
task text
ignored by this policy

Read the camera names out of your lease’s features (or the wire’s hello) rather than this table: a slot answers with its own.

What comes back

100 actions × 6 joints, to be played at 30 Hz — 3.33 s of motion per call.

Units before motion.Values are LeRobot normalized (arm −100…100, gripper 0…100), not degrees — whatever the semantics label says. That label echoes whichever runner answered your lease, so both values are in circulation: never branch on it (units, explained). LeRobot’s so101_follower defaults to degrees: run it with --robot.use_degrees=false. What the arm does if the connection drops.

Held out

ours
19.05 chunk / 4.99 first step
the third-party checkpoint
62.48 chunk / 54.61 first step

RMSE over its own 100-step chunk = 3.33 s of motion at 30 Hz / first step (normalised units) · lerobot/svla_so101_pickplace (apache-2.0), episodes 45–49 held out · ACT from scratch, 40k steps × batch 8, A100, 72 min. Lower is closer to the recorded human demonstration; it is not a task success rate.

The chunk here is its own 100 steps — 3.33 s of motion at 30 Hz. Do not read it against another model’s figure unless both the step count and the seconds of motion match: drift grows with time, so a chunk covering less of it is an easier average.

Try it

One billed call with synthetic inputs ($0.01). No robot moves.

Code
pip install agi-diy
agi login
agi run agi-act/so101 --probe -n 1

Needs Python 3.12 — LeRobot is installed on first use, requires 3.12 or later and does not run on 3.14 yet.

Or run a test call from the dashboard, or drive the simulated SO-101.

Licences and data

Checkpointcagataydev/agi-act-so101apache-2.0
Training datalerobot/svla_so101_pickplace (apache-2.0), episodes 45–49 held outas declared on the Hub

Licences as declared on the Hub. A lease says which of these answered it — pool and checkpoint on the session. Policies, explained.