A free, open-source REST API for MODAPTS-grounded industrial time study calculations. Submit a video of an assembly task; receive a motion sequence, base and standard time, units per hour, and an ergonomic risk profile.
MODAPTS® is a registered trademark of the International MODAPTS Association.
OpenPTS is an independent open-source implementation — not affiliated, not endorsed.
# Calculate standard time + ergonomic risk for a sequence curl -X POST https://openpts-api.vercel.app\ /api/v1/sequence/analyze \ -H "Content-Type: application/json" \ -d '{ "name": "Heavy box, floor to table", "allowances_pct": 15, "motions": [ {"code": "W5", "quantity": 4}, {"code": "B17", "quantity": 1}, {"code": "G3", "quantity": 1}, {"code": "M5", "quantity": 1}, {"code": "W5", "quantity": 5}, {"code": "P2", "quantity": 1} ] }'
# → response { "total_mods": 72, "base_time_seconds": 9.288, "standard_time_seconds": 10.681, "units_per_hour": 337, "ergonomic_risk": { "repetitive_strain_index": 8.9, "risk_category": "VERY HIGH" } }
Swagger / OpenAPI 3.0 docs at /docs
Video
MP4 · MOV · WebM
MediaPipe Pose
33-point keypoints
MODAPTS classifier
Geometric rules → code
OpenPTS /sequence/analyze
this project
Standard time + risk
JSON · per-element
Drop any video of a manual task — MediaPipe detects the pose on every frame, velocity-based segmentation finds the motion boundaries, and the MODAPTS classifier maps each segment to a code. Or run the bundled sample to see a delivery-unload sequence analysed end-to-end.
Drop a video to analyze
MP4 · MOV · WebM · MediaPipe runs in your browser
Sample: delivery unload · B17 × 4 · G3 × 2 · M5 × 2 · P2 × 3
MODs
0
of —
Base time
0.00
seconds
Risk index
0.0
/ 10
MODAPTS assigns time to basic human movements. Each code is a letter (motion family) plus a number (time, in MODs). 1 MOD = 0.129 s — 7.75 MODs per second. Codes are body-focused: they track which body region moves, not just the object's distance.
Quick reference
Source: MODAPTS literature (Heyde & Fourie; IISE SWS division; Eisbrenner Productivity Group).
Implementation in seed_data.py — open a PR to expand the library.
Four endpoints. Auto-generated Swagger UI at /docs.
/api/v1/motions
filterable
Return the full motion library. Filter by body_region or
category to narrow candidates before classifying.
curl https://openpts-api.vercel.app/api/v1/motions\ ?body_region=arm&category=move // → [ // {"code":"M3","mod_value":3,"time_seconds":0.387, // "body_region":"arm","category":"move", ... }, // ... // ]
/api/v1/motions/{code}
One motion by its MODAPTS code. Case-insensitive.
curl https://openpts-api.vercel.app/api/v1/motions/B17 // → { // "code": "B17", // "category": "bend", // "body_region": "body", // "mod_value": 17, // "time_seconds": 2.193 // }
/api/v1/sequence/analyze
primary
The main study endpoint. Returns standard time (with allowances), units/hour, per-element breakdown, body-region totals, category totals, and a full ergonomic risk profile (RSI 0–10, per-element flags, WMSD targets, prioritised engineering recommendations).
POST /api/v1/sequence/analyze { "name": "Pick and place", "allowances_pct": 15, "motions": [ {"code": "M3", "quantity": 1}, {"code": "G1", "quantity": 1}, {"code": "P2", "quantity": 1} ] }
/api/v1/classify
v0.2 · heuristic
Classify a pose-keypoint sequence (MediaPipe 33-point format, 20–90 frames) into a MODAPTS code. Current implementation is a geometric rule-based classifier — supervised model coming once labeled manufacturing video is available.
POST /api/v1/classify { "landmark_format": "mediapipe_33", "fps": 30, "active_side": "bilateral", "frames": [ /* 20-90 frames */ ] } // → { "code": "B17", "confidence": 0.84, ... }
MODAPTS has been used in manufacturing for decades, but it has remained locked inside proprietary desktop software and Excel files. OpenPTS brings the same calculations into the API era, so any system can call them — directly from a video.
Target integrations: MES, ERP, digital-twin simulations, custom production planning, AI-powered ergonomic assessment, and robot-learning pipelines.
✓ Complete library of MODAPTS motion codes
✓ Standard time with configurable allowances
✓ Repetitive Strain Index (0–10) with WMSD targets
✓ Pose-sequence → motion code classification
✓ Open source · MIT · free to use
Key concepts
M3 — move object, forearm length). Coded by body region, not object distance./01
Line balancing
Calculate cycle times for assembly stations to optimise production flow.
/02
Capacity planning
Estimate labour requirements for new products before tooling is built.
/03
Ergonomic assessment
Identify high-frequency, high-strain motions for WMSD injury prevention.
/04
Digital twins
Feed standard times into simulation models for virtual factory optimisation.
/05
ERP integration
Auto-calculate labour standards for Bills of Materials — no manual studies.
/06
Lean manufacturing
Eliminate waste by quantifying non-value-added motions across the cycle.
/07
Cost estimation
Build accurate labour cost models for quoting, budgeting, and bid response.
/08
Robot learning
Label demonstration video for imitation-learning pipelines via /classify.
MODAPTS® is a registered trademark of the International MODAPTS Association. OpenPTS is an independent, open-source implementation of predetermined time standards calculations and is not affiliated with, endorsed by, or supported by the International MODAPTS Association.
For official MODAPTS training, certification, and commercial software, please visit the trademark holder directly:
modapts.orgThis tool is intended for educational, research, and open-source development purposes.
Source list
OpenPTS is grounded in publicly documented MODAPTS principles and motion codes from academic literature and industrial engineering textbooks.
Sid Sanghavi
Licensed MODAPTS Practitioner (via Ford Motor Company, 2015). M.S. Industrial & Systems Engineering, Virginia Tech. 4+ years as Senior Assembly Systems Engineer at Ford. Industrial-engineering experience across automotive manufacturing, IoT, and AI-powered products.
Roadmap
Contributions welcome — open an issue or PR on GitHub. Especially valuable: additional motion codes, labeled video data, and production-environment edge cases.