Models · ACT (action chunking transformer)
act/so101
checking availability…
A specific checkpoint, vineetr196/
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)
tasktext- ignored by this policy
What comes back
100 actions × 6 joints, to be played at 30 Hz — 3.33 s of motion per call.
semantics label depends on where you read it — the model catalog still answers so101-degrees-gripper-percent-v1, a lease and the wire answer the corrected label — and the data is normalized either way, so 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.Measured
- policy
- 19–67 ms
- on the runner
- 35–98 ms
- client round trip
- 59–157 ms
From a recorded probe on 2026-10-25 05:36Z. The round trip includes that client’s network; yours will differ. What each number measures.
Try it
One billed call with synthetic inputs ($0.01). No robot moves.
pip install agi-diy
agi login
agi run act/so101 --probe -n 1Needs 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
| Checkpoint | vineetr196/acd8be4 · 198 MB | apache-2.0 |
|---|---|---|
| Training data | vineetr196/ | no licence declared |
Licences as declared on the Hub at the pinned revision. Policies, explained.