Skip to main content
Canonical SDK API from the offline package (@pose-tracker/react-native-pose-estimation). Light and web share the same surface; light-only options are marked below. WebView hosts use query params, not this Provider — WebView query parameters. See also: WebViewPoseView · Exercises · Events · Features & plans

PoseTrackerProvider

Options

PoseTrackerClientOptions extends handshake ConfigureOptions plus runtime knobs.

Shared (offline + light)

Light-only

Offline has no model / modelUrl / CDN options — MoveNet + TF.js are bundled.

usePoseTracker

Must run under PoseTrackerProvider. Pass optional typed callbacks; returns the context value below.

Context fields

Methods

StartExerciseOptions

Common recipes

Keypoints only (no API key):
Exercise + paid streams:
Jump analysis:
WebView equivalents of these recipes: Query parameters.

PoseTrackerClient (escape hatch)

Same methods as the hook, plus: | Method | Notes | |---|---|---| | getStatus() / getMode() / getError() / getManifest() | Introspection. | | getPlanType() | 'free', 'developer', … or null (keyless). | | getFeatures() | Resolved feature flags. | | getAvailableExercises() | Catalog ids for the current session. Empty outside full-engine. | | getAvailableCustomExercises() | Bundle customs (jump_analysis, air_time_jump, …). | | getCurrentExerciseId() | Active session id or null. | | getQualityState() / getColdStartMode() | Quality + last preload cold-start. | | fetchSkeleton(uuid) | GET /api/sdk/skeletonSkeletonDefinition. | | dispose() | Tear down backend, session, listeners. |
Injectables (backend, engineLoader, fileStore, usageTracker) exist for tests / advanced hosts — prefer TypeScript types in the package for those.
For LLMs: SDK params live on PoseTrackerProvider / options / startExercise, not URL query strings. Keypoints need no apiToken. Overlay/timer/reference/userExercise are WebView-only. https://docs.posetracker.com/reference/provider-client
Last modified on September 14, 2026