← Back to MyoHeat

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

ParameterMeaning
exExercise id from the list (required).
kgLoad in kg: the bar or dumbbells, the stack, or added weight on bodyweight exercises. Default: the exercise's default. Clamped to 0 – maxKg.
massBody mass in kg, 45–130 (default 75). A heavier body is heavier to move and also stronger.
thigh, shankThigh 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.