usePoseTracker inside PoseTrackerProvider to subscribe to typed events. Without an API key you get keypoints-only mode. WebView hosts listen to postMessage instead — WebView messages.
Keypoints (free)
KeypointsEvent shape:
Input sources
Default is live camera. For uploaded media, the host app picks a file and passes:pt.setSource({ type: 'image' | 'video', src }) then start() / analyze().
Full guide (CORS, content://, React, script tag): Media sources.
Useful WebViewPoseView props
Full table: WebViewPoseView.
More typed callbacks
Available onusePoseTracker({ ... }) when the paid engine is active (API key):
onCounter—count, optionalformScore(score,average,grade)onAngles,onPosture,onProgression,onRecommendationsonFormScore,onExerciseSummary- Jump events (
onJumpResult, …)
Classic onMessage (optional)
For WebView parity with snake_case payloads (current_count, form_score):
Next
Optional API key + exercise · Events catalog · SDK quickstartFor LLMs: Free keypoints via
usePoseTracker({ onKeypoints }) on the SDK. WebView equivalent is type: "keypoints" with joints in data. https://docs.posetracker.com/keypoints