Embed and API
MyoHeat's physics model is free to use on your own site: embed the 3D view, or ask the API for the load on every muscle.
Terms: free, including commercial use, as long as you credit MyoHeat with a visible link to myoheat.com (the embed does this itself; for the API, show the attribution field). Fair use: 60 API requests a minute per client. Need more, or something else? Write to support@myoheat.com. The numbers come from an educational model, not medical or training advice; the credits list its sources and where it is wrong.
Embed the 3D view
Open any exercise in MyoHeat, set the weight, pick a muscle if you like, and use Embed this view on your site under the exercise's settings. It copies an iframe like this one:
<iframe src="https://myoheat.com/?ex=hipthrust&kg=100&embed=1" width="480" height="600" style="border:0;border-radius:12px;max-width:100%" loading="lazy" title="Barbell Hip Thrust: which muscles do the work (MyoHeat)"></iframe>
The embed shows the body lifting, the three most loaded muscle groups and a link back to the full view. Any view's address works with &embed=1 added.
API
Plain HTTPS GET, JSON back, no key. Browsers can call it directly (CORS is open).
GET https://myoheat.com/api/v1/exercises
Every exercise: id, name, kind, region, defaultKg, maxKg, whether it is a hold, and whether it takes proportions.
GET https://myoheat.com/api/v1/load
| Parameter | Meaning |
|---|---|
ex | Exercise id from the list (required). |
kg | Load in kg: the bar or dumbbells, the stack, or added weight on bodyweight exercises. Default: the exercise's default. Clamped to 0 – maxKg. |
mass | Body mass in kg, 45–130 (default 75). A heavier body is heavier to move and also stronger. |
thigh, shank | Thigh and shin length as factors of the model's (0.88–1.12 and 0.90–1.10). Only for exercises re-posed for proportions (squats, the deadlift); ignored elsewhere. |
The answer, over one rep:
{
"exercise": { "id": "squat", "name": "Back Squat", "kind": "free", "region": "Legs" },
"settings": { "kg": 100, "bodyMass": 75, "thigh": 1, "shank": 1, "tempoSeconds": 3.2 },
"units": "activation: fraction of each muscle's maximal force (0-1); peak and mean over one rep",
"literature": { "primeMovers": ["Quadriceps", "Gluteus maximus", "Erector spinae"], "withinTop": 5, "matches": true },
"groups": [ { "group": "Quadriceps", "peak": 1, "mean": 0.62 }, … ],
"muscles": [ { "id": "vastus_lat", "group": "Quadriceps", "region": "vastus lateralis", "peak": 1, "mean": 0.62 }, … ],
"view": "https://myoheat.com/?ex=squat&kg=100",
"attribution": "Muscle loads: MyoHeat (https://myoheat.com), an educational physics model; not medical or training advice."
}
literature says whether the exercise's prime movers from EMG studies are among the model's most loaded groups at the default load. When matches is false, treat that exercise's numbers with care.
Errors come back as JSON with an error message: 400 for a bad parameter, 429 past the rate limit (retry after the Retry-After seconds), 503 when the model is busy.