1,492 exercises filmed with real people in one studio, each with a looping video, a start-and-end still, hand-checked classification, coaching cues, French, and a map of what can replace what. One API.
Eight of the exercises, as your app would receive them. Real clips, streamed from our CDN through short-lived links.
By text, muscle, the gear the user has, movement pattern, difficulty, impact, or "nothing that loads the knee".
GET /v1/exercises?muscle=glutes
&equipment=dumbbell,bench
&excludeJoints=knee&maxDifficulty=3Every exercise knows its replacements, ranked, each with a plain-English reason.
GET /v1/exercises/tc-2000/substitutes
→ "same hinge pattern, 100%
primary-muscle overlap, no knee load"Ask for the exercises on screen, say who is watching, and get signed video and still URLs, valid 15 minutes.
POST /v1/media/urls
X-End-User: u_8f3a
→ mp4: https://media…/360p.mp4
?token=…&expires=…{
"id": "tc-2000",
"name": "Ab slam",
"nameFr": "Slam abdominal",
"variant": "Abs- Slam",
"description": "Stand tall with your hands clasped…",
"primaryMuscles": ["abs"],
"secondaryMuscles": ["shoulders","back","hamstrings"],
"equipment": ["bodyweight"],
"movementPattern": "core-flexion",
"difficulty": 1,
"loadedJoints": ["lumbar-spine","shoulder"],
"impact": "low",
"unilateral": false,
"cues": ["Reach tall before you go down", …],
"cuesFr": ["Étire-toi bien avant de descendre", …],
"aliases": ["bodyweight slam","standing ab chop"],
"media": { "mp4": "…/360p.mp4", "still": "…/static.jpg" }
}Every field was set by looking at the clip, then reviewed by a coach. Names lie; a "sled push" filmed on sliders is tagged sliders.
Clips are 640×360, silent, about eight seconds, and about 120 KB, so they start instantly on a phone. Stills show the start and the end position side by side. 4K masters exist for HD renditions.
loadedJoints lets you drop everything that loads a sore knee or shoulder in one filter, and the substitute map fills the gap.
French names, descriptions and cues, growing to the full catalogue.
Video and stills live on our CDN behind links that die in minutes. Your app asks for fresh ones as it needs them; it never hosts a file.
You tell us who is watching (an opaque id). That is how plans are measured and how a crawl is told apart from a workout.
Corrections, new shoots, more French. Every version ships a changelog with the ids added, changed and removed, so your sync is a diff, not a re-import.
Workout builders, trackers, habit apps that need real demonstrations.
Trainers writing programs need search by gear and a substitute one tap away.
Joint-load filters and low-impact selections, in French and English.
A grounded vocabulary: your model proposes, the catalogue guarantees the exercise exists and how it is done.
The sandbox has the whole catalogue and video for 50 exercises. Paid plans start at $89 a month.