Physique & body fat
POST /v1/body · $0.01 a call
Send a front or side photo of one adult in fitted clothes, shorts or a swimsuit. A vision model grades visible cues on fixed anchor scales: abdominal definition, vascularity, muscle separation and development per group, symmetry and posture. The body fat range and physique score are then computed from published visual reference charts and a fixed formula, so the same cues always give the same numbers. Add height and weight for a second, BMI-based body fat estimate.
For physique raters, ai gym coaches, body transformation trackers.
Request
Send the photo as image (multipart), image_base64 or image_url, as described in the overview. These optional fields go alongside it:
| Field | Type | Description |
|---|---|---|
context | string, up to 500 characters | Anything the user adds, e.g. "just woke up, flexed" or "6 months of training". |
sex | one of male, female | Picks the body fat reference chart. Taken from the photo when missing. |
age | number, 18 to 100 | Years. Used by the BMI-based estimate (default 30 when height and weight are given without it). |
height_cm | number, 100 to 250 | With weight_kg, adds a second body fat estimate from BMI (Deurenberg formula). |
weight_kg | number, 30 to 300 | With height_cm, adds a second body fat estimate from BMI. |
goal | one of cut, bulk, recomp, maintain | Adds a goal-specific note to the training focus. |
Photo tips. One adult, front view, standing straight in even light. Shirtless, a fitted top or swimwear, with the waist visible. Full body if you want legs scored.
curl https://ourapi.keronlabs.com/v1/body \
-H "Authorization: Bearer $FORKCAST_KEY" \
-F image=@physique.jpg \
-F sex="male"Response
| Field | Description |
|---|---|
summary | One line for a list view, e.g. "Physique 75/100 (Advanced), est. body fat 12 to 15%". |
physique_score | 0 to 100. 45% muscle development, 30% leanness against an athletic range, 10% symmetry, 15% posture. |
level | Beginner (<35), Novice (35+), Intermediate (50+), Advanced (65+) or Elite (80+). |
score_breakdown | Each part of the score on 0 to 100. |
body_fat | estimate, low and high in %, the visual range, the BMI-based estimate when height and weight were sent, and which reference chart was used. |
muscles | shoulders, chest, arms, back, core, legs: score 1 to 10, or null when not visible. |
strongest / weakest | The highest and lowest scored visible groups. |
v_taper | Waist to shoulder width ratio and a category: strong, moderate, slight or none. |
posture | Posture issues seen, with severity mild, moderate or severe. |
training_focus | Plain suggestions for the weakest groups and notable posture issues. |
confidence | 0 to 1. Lower for loose clothing, back views, poor light or few visible groups. |
warnings | What limited the estimate and how to take a better photo. |
Example
Output of this API's own code on a sample photo. Values will differ for your photos.
{
"metadata": {
"id": "req_9cf4da08fe7f40dab71a",
"engine": "body",
"status": "success",
"cached": false,
"credits_used": 1,
"created_at": "2026-10-19T09:30:00.000Z",
"processing_ms": 3400
},
"summary": "Physique 75/100 (Advanced), est. body fat 12 to 15%",
"physique_score": 75,
"level": "Advanced",
"score_breakdown": {
"muscle": 53,
"leanness": 100,
"symmetry": 78,
"posture": 90
},
"body_fat": {
"estimate": 13,
"low": 11.5,
"high": 14.5,
"method": "visual",
"visual": {
"low": 11.5,
"high": 14.5,
"mid": 13
},
"bmi_based": null,
"reference_chart": "male"
},
"muscles": {
"shoulders": {
"visible": true,
"score": 6
},
"chest": {
"visible": true,
"score": 6
},
"arms": {
"visible": true,
"score": 6
},
"back": {
"visible": false,
"score": null
},
"core": {
"visible": true,
"score": 5
},
"legs": {
"visible": false,
"score": null
}
},
"strongest": [
"shoulders",
"chest"
],
"weakest": [
"core"
],
"symmetry": 8,
"v_taper": {
"waist_to_shoulder_ratio": 0.76,
"category": "moderate"
},
"posture": [
{
"issue": "rounded_shoulders",
"severity": "mild"
}
],
"training_focus": [
"Add weighted crunches or cable crunches and hanging leg raises, 2 to 3 times a week."
],
"confidence": 0.85,
"warnings": [],
"disclaimer": "Visual estimates for fitness tracking only. Not a medical assessment. For an accurate body fat number use DEXA or a similar measurement."
}