Skip to main content
The SDK ports WebView tracking query params with the same plan gating and error messages as the PoseTracker front product.

Free vs paid

With a key, internet is required to authenticate and meter (POST /api/sdk/configure, POST /api/sdk/track camera_start). Offline metered sessions refuse key-gated features (offline_metered); keypoints-only keeps running from cache.

Feature flags

Set on the provider:
Not supported (MoveNet Lightning only): blazepose, poseEngine, mediapipeModel, poseBackend, runInWorkerfeature_not_supported.

Plan gating matrix

Plan type from handshake (plan.plan / client.getPlanType()).

When gating runs

  1. configure / preloadfree + angles/recommendations/progression → free_plan_feature_blocked (one-shot). Keypoints-only keeps running.
  2. startExercise() — re-check; on free, features.keypoints also blocks. Throws with the same message.

Emission filtering (during exercise)

Form grades & minGrade

Authoritative counted-rep grade: nested on onCounterformScore (classic counter.form_score). Standalone form_score is convenience only. minGrade: 'B' counts A and B only; below-bar reps emit neither counter nor form_score.

Watermark

Override: WebViewPoseView showWatermark. Off for coldStart: 'basic' warmers.

WebView param → SDK map

Common error codes