Business Context
The Problem: “Ages 2–4” isn’t a size — it’s a population estimate disguised as a label. Designers can’t validate their patterns against a known dimensional envelope, parents can’t trust the tags, and retailers sourcing globally have no reliable way to verify whether an “Ages 2–4” from one region covers the same children as the same label from another.
The Solution: DimensionsPot converts age and gender into a complete, 130-point anthropometric profile in under 10ms. Grounded in CDC-validated population data, the API returns median dimensions for height, weight, chest, waist, and 126 other metrics — plus a 95% prediction interval on every one.
- The Designer’s Edge: Query the API at the boundaries and midpoint of an age bracket to establish the exact dimensional envelope your pattern needs to cover.
- The Parent’s Edge: Show exactly what “Ages 2–4” means in centimeters, as a range — chest, height, inseam. Parents with a measured child can compare directly.
- The Retailer’s Edge: Validate cross-border fit before the PO goes out by comparing profiles across
target_regionsettings.
Key difference from the adult engine:
body_heightandbody_massare outputs in pediatric mode, not inputs.
Recommended API Configuration
| Parameter | Value | Reason |
|---|---|---|
age_category | Appropriate pediatric value | Triggers automatic routing to LMS/CDC engine |
exact_age | Float years (preferred) | More precise LMS interpolation between CDC table entries |
anchors | {} (empty) or omit | Not required for PEDIATRIC — engine uses age + gender |
calculation_model | PEDIATRIC | Explicit; also auto-activated by any pediatric age_category or exact_age ≤ 20.0 |
bundle | TORSO for clothing; FULL_BODY for products | FULL_BODY needed when head, leg, and torso dimensions are all required |
confidence_score_threshold | 0 | LMS dims are confidence 99; Ridge hybrid dims capped at 80 — filter client-side |
Age category mapping:
age_category | Typical age range | exact_age examples |
|---|---|---|
INFANT | ~0–18 months | 0.5, 1.0, 1.5 |
TODDLER | ~18 months–3.5 years | 2.0, 2.5, 3.0 |
CHILD | ~3–10 years | 4.0, 6.5, 9.0 |
PRE_TEEN | ~10–13 years | 10.5, 12.0 |
TEEN | ~13–20 years | 14.0, 16.5, 19.0 |
Sample Request — Age Bracket Boundary Profile
To define the dimensional envelope for a product labeled “Ages 2–4”, call the API at exact_age: 2.0 and exact_age: 4.0. The difference between the two responses sets the dimensional range the product must accommodate.
curl -X POST "https://dimensionspot-bodysize-engine.p.rapidapi.com/v1/predict" \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "X-RapidAPI-Host: dimensionspot-bodysize-engine.p.rapidapi.com" \
-d '{
"input_data": {
"input_unit_system": "metric",
"subject": {
"gender": "male",
"exact_age": 4.0,
"age_category": "CHILD",
"input_origin_region": "EUROPE"
},
"anchors": {}
},
"output_settings": {
"calculation": {
"calculation_model": "PEDIATRIC",
"target_region": "EUROPE",
"body_build_type": "CIVILIAN"
},
"requested_dimensions": {
"bundle": "FULL_BODY",
"specific_dimensions": null
},
"output_format": {
"unit_system": "metric",
"confidence_score_threshold": 0,
"include_range_95": true,
"include_iso_codes": false
}
}
}'
Key Dimensions by Product Category
Childrenswear:
| API Key | Label | Use |
|---|---|---|
body_height | Body Height (predicted) | Garment total-length sizing |
chest_circumference | Chest Circumference | Top / jacket / dress sizing |
waist_circumference_natural | Waist Circumference | Trouser / skirt / shorts sizing |
hip_circumference | Hip Circumference | Trouser / skirt sizing (PRE_TEEN, TEEN) |
inseam_length | Inseam Length | Trouser leg length |
shoulder_breadth | Shoulder Breadth | Jacket / coat shoulder width |
Car seats & harness products:
| API Key | Label | Use |
|---|---|---|
body_height | Body Height | Height limit check against seat spec |
body_mass | Body Mass | Weight limit check against seat spec |
sitting_height | Sitting Height | Head clearance above seat back |
shoulder_breadth | Shoulder Breadth | Shoulder harness slot positioning |
hip_circumference | Hip Circumference | Bucket shell width fit |
Bikes & ride-on toys:
| API Key | Label | Use |
|---|---|---|
inseam_length | Inseam Length | Wheel size / frame size selection |
body_height | Body Height | Overall bike size guide |
body_mass | Body Mass | Weight limit for ride-on toys |
Confidence Scores in Pediatric Mode
| Dimension Source | Dimensions | Confidence Score |
|---|---|---|
| LMS / CDC (direct table interpolation) | body_height, body_mass, head_circumference (ages 0–36 months) | 99 — exact tabular interpolation |
| Ridge hybrid (adult Ridge scaled to LMS-derived BH + BM) | All remaining ~127 dimensions | Capped at 80 |
Age Bracket Envelope Pattern
def _build_request(exact_age, gender, region, bundle):
return {
"input_data": {
"input_unit_system": "metric",
"subject": {
"gender": gender,
"exact_age": round(exact_age, 2),
"age_category": _classify_age(exact_age),
"input_origin_region": region
},
"anchors": {}
},
"output_settings": {
"calculation": {
"calculation_model": "PEDIATRIC",
"target_region": region,
"body_build_type": "CIVILIAN"
},
"requested_dimensions": {"bundle": bundle},
"output_format": {
"unit_system": "metric",
"confidence_score_threshold": 0,
"include_range_95": True,
"include_iso_codes": False
}
}
}
def age_bracket_envelope(age_start, age_end, gender, region="EUROPE", bundle="TORSO"):
mid_age = (age_start + age_end) / 2.0
return {
"lower": _build_request(age_start, gender, region, bundle),
"mid": _build_request(mid_age, gender, region, bundle),
"upper": _build_request(age_end, gender, region, bundle),
}
def _classify_age(age_years):
if age_years < 1.5: return "INFANT"
elif age_years < 3.5: return "TODDLER"
elif age_years < 10: return "CHILD"
elif age_years < 13: return "PRE_TEEN"
else: return "TEEN"
# Usage — "Ages 2–4", European market
payloads = age_bracket_envelope(2.0, 4.0, "male", region="EUROPE", bundle="TORSO")
Longevity Projection Pattern
Estimate the age at which a typical child will outgrow a product’s dimensional limits. All projections are based on CDC 50th percentile growth curves.
def longevity_projection(starting_age, gender, product_limits, region="EUROPE"):
for step in range(49): # 0 to 48 months ahead
check_age = starting_age + (step / 12.0)
payload = _build_request(check_age, gender, region, "FULL_BODY")
# → call API with payload
# dims = response["body_dimensions"]
# for dim_key, max_val in product_limits.items():
# if dims[dim_key]["value"] > max_val:
# return (step > 0), round(check_age, 2)
return True, None
# Car seat: height limit 105 cm (1050 mm), weight limit 18 kg
PRODUCT_LIMITS = {"body_height": 1050, "body_mass": 18.0}
fits, outgrown_at = longevity_projection(1.0, "male", PRODUCT_LIMITS)
# Display: "Based on CDC growth data, most children outgrow this seat
# by approximately age {outgrown_at:.1f}."
Use
range_95upper bound values for safety-critical products (car seats, harnesses) — ensures the recommendation accounts for larger children in the population.
Response Handling Tips
body_heightandbody_massare predicted outputs — they represent CDC 50th percentile values for the given age and gender, not inputs.range_95reflects population spread at the given age, not model uncertainty. For product design: the medianvalueis the size chart midpoint; therange_95bounds define coverage for the population extremes.- For cross-regional comparisons: store
target_regionalongside each API response. Achest_circumferencecalibrated forEUROPEis a numerically different value than the same child’schest_circumferencecalibrated forASIA_PACIFIC. - For childrenswear season planning, query at
exact_age + 0.5(6 months ahead of expected delivery) to size for the period the garment will actually be worn, not the date of purchase. - Always check
header.meta_warningsfor clamping notices (exact_age: 0.0clamped to 0.5 months;head_circumferenceclamped at 36 months for children older than 3).