Models · VLA (vision-language-action) · third-party · stock
stock-smolvla/so101
checking availability…
Our checkpoint edge-
Price
- per call
- $0.005 · 50 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.front[480, 640, 3]- front camera, RGB uint8 (JPEG on the wire)
observation.images.wrist[480, 640, 3]- wrist camera, RGB uint8 (JPEG on the wire)
tasktext- passed to the 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
50 actions × 6 joints, to be played at 30 Hz — 1.67 s of motion per call.
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.Try it
One billed call with synthetic inputs ($0.005). No robot moves.
pip install agi-diy
agi login
agi run stock-smolvla/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 | edge- | apache-2.0 |
|---|---|---|
| Training data | lerobot/svla_so101_pickplace (apache-2.0), episodes 45–49 held out | as 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.