Skip to main content

Prerequisites

  • An Ochy partner account with an API key. Contact support@ochy.com to request access.
  • A short video of a runner (MP4, MOV, or AVI — 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://api.ochy.com/analysis/start?apiKey=YOUR_API_KEY" \
  -F "video=@runner_side.mp4" \
  -F "analysis_type=side_view" \
  -F "height=175" \
  -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. Poll for results

Use the video_id to check the analysis status. Poll every few seconds until the status reaches success.
curl "https://api.ochy.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://api.ochy.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

  • Read the analysis workflow guide to understand video requirements, analysis types, and the full polling lifecycle.
  • Browse the API reference for complete request and response schemas.
  • Review authentication for details on API key management and credits.