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 video→Your video is processing, please stay on this page (N%)→Analysis completed(ready: true) - Image:
loading image→initializing pose model→running(ready: true)
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