apiToken, successful handshake, and loaded remote engine bundle. Without a key, use keypoints only.
Authoritative lists after configure:
Start / stop
StartExerciseOptions
FSM catalog (typical V3 ids)
Exact ids come from the server manifest (exercises[].id). Hosts and demos usually call V3 keys; Strapi may still ship legacy face_* ids — both work via aliases.
Always prefer
getAvailableExercises() for the live plan list (premium gating can differ by plan).
Aliases
SDK resolves legacy → canonical before lookup:
Unknown id →
error / throw with code invalid_exercise.
Custom: jump_analysis & air_time_jump
Shipped in the engine bundle (≥ 1.2.0), not the movement manifest. Require full-engine like any exercise.
Missing height on
jump_analysis → jump_analysis_missing_height.
Session flow
- Placement — joints inside the padding box;
onPosturehints (direction:in-frame,face-camera,profile-camera). - Countdown — then
posture.ready === true. - Measuring — short warm-up, then jump detection.
Jump events
Core exercise streams
During an FSM session (always, not feature-flagged):onCounter—count+ optionalformScore(score,average,gradeA–F)onPosture— placement readinessonFormScore— convenience stream (prefer nestedonCounter.formScorefor the counted rep)onExerciseSummary— afterstopExercise()/ session end
angles, recommendations, progression, keypoints-during-exercise — see Features & plans.
Related
- API key — getting into full-engine
- Events catalog
- WebViewPoseView —
drawPlacementBox