Shared query parameters (Tracking + Upload Tracking)

This page is the single source of truth for all PoseTracker query parameters.

PoseTracker now runs a single tracking engine (V3) for both:

  • Real-time tracking (webcam / camera): GET https://app.posetracker.com/pose_tracker/tracking?token=...&exercise=...

  • Upload tracking (video or image): GET https://app.posetracker.com/pose_tracker/upload_tracking?token=...&source=video|image&exercise=...


1) Core features

isAndroid (optional but required for Android App)

  • Type: boolean

  • For android app use ?isAndroid=true

  • iOS / Web App or desktop: Do not set isAndroid (or set isAndroid=false). The default behavior is tuned for these platforms.

token (required)

  • Type: string

  • Required: yes

  • Description: Your PoseTracker API key. Used to authenticate and apply plan restrictions.

exercise (optional)

  • Type: string

  • Required:

    • Real-time (/tracking): required

    • Upload:

      • source=video: recommended (required if you want rep/duration/custom tracking)

      • source=image: optional (no movement tracking; keypoints/angles/overlay only)

  • Description: Selects the movement logic (rep counter, posture validation, progression, recommendations, jump logic).


2) Rep filtering (repetition exercises only)

minGrade (optional)

  • Type: string

  • Required: no

  • Default: not set (count all detected reps)

  • Allowed values: A, B, C, D (case-insensitive)

  • Description: Only count repetitions that meet at least this form grade. If set, the engine increments the counter only when the rep’s grade is at least as good as minGrade.

    • Example: minGrade=B counts reps graded A or B

    • Reps graded C, D, or F are not counted

  • Applies to: repetition exercises only (e.g. squat, push_up, lunge, etc.)

  • Ignored by: duration exercises (plank, wall_sit, balance_leg...) and custom exercises (jump_analysis, air_time_jump)

Example

Grades are computed per rep and sent inside the counter event as counter.form_score (see Message Types).


3) Display & developer outputs (shared)

skeleton

  • Type: boolean | string

  • Default: true

  • Description: Draws a skeleton overlay on the video.

keypoints

  • Type: boolean

  • Default: false

  • Plan: Developer/Custom/Company only

  • Description: Emits keypoint coordinates (type: "keypoints").

angles

  • Type: boolean

  • Default: false

  • Plan: Developer/Custom/Company only

  • Description: Emits computed angles (type: "angles").

recommendations

  • Type: boolean

  • Default: false

  • Plan: Developer/Custom/Company only

  • Description: Emits posture feedback (type: "recommendations").

progression

  • Type: boolean

  • Default: false

  • Plan: Developer/Custom/Company only

  • Description: Emits rep progression states (type: "progression").


4) Pose model & runtime (V3)

blazepose

  • Type: boolean

  • Default: false

  • Plan: Developer/Custom/Company only (typical)

  • Description: Switches to BlazePose (more landmarks) instead of the default model.

poseBackend

  • Type: "webgl" | "wasm"

  • Default: "webgl" when available, otherwise "wasm"

  • Description: Chooses the execution backend for the pose model.

runInWorker

  • Type: boolean

  • Default: false

  • Description: Runs pose computation in a Web Worker when supported.


5) Video sizing & thresholds

width / height

  • Type: number (pixels)

  • Default: auto

  • Description: Forces the render/capture size.

difficulty

  • Type: "easy" | "normal" | "pro"

  • Default: "normal"

  • Description: Adjusts strictness for rep counting and validation.


6) Placement & realtime-only UI (only /tracking)

placement

  • Type: boolean

  • Default: true

postureBox

  • Type: boolean

  • Default: true

placementCountdownSeconds

  • Type: number

  • Default: 3

placementBoxStrokeColor

  • Type: string (CSS color)

placementOverlayImageUrl

  • Type: string (URL)

placementOverlayOpacity

  • Type: number (0..1)

placementImageOpacity

  • Type: number (0..1)

Padding controls

  • paddingHorizontal, paddingVertical

  • paddingLeft, paddingRight, paddingTop, paddingBottom (All pixels)


7) Jump exercises (special parameters)

userHeightCm (required for jump_analysis)

  • Type: number

  • Required: yes when exercise=jump_analysis

devicePitchDeg

  • Type: number

  • Required: no


8) Upload-only parameters (/upload_tracking)

source

  • Type: "video" | "image"

  • Default: "video"

videoSrc / imageSrc

  • Type: string (URL)

  • Description: Remote media URL (must be CORS-accessible).

export (video only)

  • Type: boolean

  • Default: false

  • Plan: Developer/Custom/Company only

Upload UI controls

  • showUpload, uploadLabel, uploadButtonClass, uploadButtonStyle, uploadButtonPosition, containerClass


9) Exercises (V3 list)

(unchanged here — keep your V3 list as previously defined)


10) Plan restrictions

(unchanged — still block developer outputs & export on Free plan)

Last updated