Skip to main content

Prerequisites

  • An Ochy partner account with an API key. Contact sales through the Ochy website or from your account to request access.
  • A short video of a runner (MP4, MOV, AVI, or WEBM — max 30 MB, 10 seconds).

1. Start an analysis

Upload your video and provide basic runner parameters. Replace YOUR_API_KEY with your actual key.
curl -X POST "https://partner-api.ochy-prod.com/analysis/start?apiKey=YOUR_API_KEY" \
  -F "video=@runner_side.mp4" \
  -F "analysis_type=side_view" \
  -F "height=1.75" \
  -F "weight=68" \
  -F "language=en" \
  -F "treadmill=false"
You receive a 202 Accepted response with a video_id:
{
  "message": "Analysis started for ID: a1b2c3d4",
  "video_id": "a1b2c3d4"
}

2. Get results

There are two ways to receive analysis results: polling or webhooks.
Use the video_id to check the analysis status. Poll every few seconds until the status reaches success.
curl "https://partner-api.ochy-prod.com/analysis/a1b2c3d4/results?apiKey=YOUR_API_KEY"
While processing, you see 202 Accepted with status analyzing:
{
  "video_id": "a1b2c3d4",
  "status": "analyzing",
  "percentage": 45
}
When complete, the response includes the full biomechanical analysis, signed URLs for the annotated video and thumbnail.

3. Get calculated metrics

For structured numerical data, call the calculated data endpoint:
curl "https://partner-api.ochy-prod.com/analysis/a1b2c3d4/results/calculated_data?apiKey=YOUR_API_KEY"
Example response for a side view analysis:
{
  "metrics": {
    "speed_meter_per_second": 2.123,
    "step_length_meter": 1.15,
    "pace_min_per_km": 7.511,
    "step_frequency_steps_per_min": 110,
    "ground_contact_time_ms": 280,
    "time_of_flight_ms": 120
  },
  "overstride": {
    "mean_angle": 3.47,
    "score": "score_good"
  },
  "total_score": 0.588
}

Next steps