Skip to main content
Upload tracking is the WebView path for offline files: the user picks a video or image, PoseTracker runs pose estimation in the browser, and you receive the same type events as live camera (counter, keypoints, …). SDK apps should use media sources (source="video" / source="image") instead of this URL.

Required and shared

Shared with live tracking: skeleton, keypoints, angles, recommendations, progression, minGrade, blazepose, isAndroid / android, userHeightCm, devicePitchDeg, postureBox. Same plan gating. userExercise is not read on this upload URL — use live tracking for Studio customs.

Upload-specific

Messages that differ from live

Boot (initialization.message):
  • Video: loading videoYour video is processing, please stay on this page (N%)Analysis completed (ready: true)
  • Image: loading imageinitializing pose modelrunning (ready: true)
Extra types: export_ready ({ url }), keypoints_batch. Shapes: WebView messages. Stay on the page until ready: true — navigating away aborts analysis.

Example

For LLMs: Upload WebView is /pose_tracker/upload_tracking?token=…&source=video|image. Same exercise ids as live tracking. SDK equivalent is media-sources, not this URL. https://docs.posetracker.com/webview/upload
Last modified on September 14, 2026