agi.diy

Models · VLA (vision-language-action) · default

agi-smolvla/so101

checking availability…

Our checkpoint cagataydev/agi-smolvla-so101, for the SO-101 arm. It answers one observation with the next 50 actions. It is not a general-purpose controller; the task sentence is passed to the model, but only the task it was trained on is expected to work. The older id smolvla/so101 still works and leases the same row.

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)
task text
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.

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
14.45 chunk / 2.75 first step
the third-party checkpoint
41.07 chunk / 28.33 first step

RMSE over its own 50-step chunk = 1.67 s of motion at 30 Hz / first step (normalised units) · lerobot/svla_so101_pickplace (apache-2.0), episodes 45–49 held out · fine-tune of lerobot/smolvla_base, 10k steps × batch 32, H200, 119 min. Lower is closer to the recorded human demonstration; it is not a task success rate.

The chunk here is its own 50 steps — 1.67 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.005). No robot moves.

Code
pip install agi-diy
agi login
agi run agi-smolvla/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-smolvla-so101apache-2.0
Base modellerobot/smolvla_base,no licence declared
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.