Exercise detail screen
Show what an exercise works, with anatomy in your palette, without drawing or maintaining any of it.
You hold the exercises. GymAssets holds what they look like.
An exercise detail screen needs a figure with the worked muscles lit, the equipment it uses, and both of those in your product’s colours. All of it is a URL.
Render the figure
Keep muscle ids on your own exercise records — they are stable, and they are the same
strings the image URL takes. A bench press stored as pectorals and triceps needs
no translation:
/v1/{key}/body/male/front.webp?primary=pectorals&secondary=delts&w=320
Choose the view from the data
A muscle is not on every view, and which view to show is a question the API answers:
curl 'https://api.gymassets.dev/v1/muscles/triceps' \
-H "Authorization: Bearer $GA_SECRET_KEY"
drawn comes back as the figures and sides that can highlight it. For a bench press
that means pectorals is front only, triceps is back only, and delts is on both
— so a detail screen showing one image should choose the sheet where most of the
exercise’s muscles are drawn, and one showing two can label them.
Naming a muscle the sheet does not draw is not an error. The image returns 200 with
an x-muscles-not-drawn header listing what it could not show. Anything misspelled is
named again in x-muscles-unknown, which is the header worth logging.
Show the equipment
An exercise’s equipment id is the same id the catalogue uses, and the record carries its own artwork:
curl 'https://api.gymassets.dev/v1/equipment/barbell' \
-H "Authorization: Bearer $GA_SECRET_KEY"
Substitute your publishable key into the image template and it is ready to put in
the page beside the figure.
What you do not have to build
- No anatomy artwork, and no dark-mode copy of it — see theming
- No mapping between your muscle names and a set of image files
- No equipment illustrations, and no naming convention to keep them in step
Full URL shape in the quickstart; every field in muscles and equipment.