Documentation

AiSkin exposes a single inference surface: send an image, get calibrated biomarkers. Everything else — routines, product matching, timelines — builds on that primitive.

Quickstart

Sandbox keys are issued during onboarding and return deterministic fixtures, so you can build UI before production access is approved.

bash
# 1. Install
npm install @aiskin/sdk

# 2. Set your key
export AISKIN_API_KEY=sk_test_...

# 3. First assessment
npx @aiskin/sdk analyze ./selfie.jpg

Image requirements

  • • JPEG or PNG, 720px minimum on the short edge, 12 MB maximum.
  • • Front-facing, neutral expression, no heavy filters or makeup overlays.
  • • Even lighting. The API returns a quality score and will warn below 0.6.
  • • Faces are detected and landmarked before inference; multi-face images are rejected.

Confidence calibration

Every biomarker carries a confidence value produced by temperature-scaled calibration on a held-out set. Treat values under 0.75 as advisory and surface them as uncertain in your UI. Confidence is not a clinical certainty measure.

Webhooks

http
POST /your-endpoint
X-AiSkin-Signature: t=1717171717,v1=9f8c...

{
  "type": "analysis.completed",
  "data": { "id": "an_8f21c4d0", "subject_id": "sub_91", "scores": { "overall": 88 } }
}

Verify the signature with HMAC-SHA256 over t + "." + body using your endpoint secret, and reject timestamps older than five minutes.

Errors

400invalid_imageUnsupported format, too small, or no face detected.
401invalid_keyMissing or revoked API key.
422low_qualityImage quality below the inference threshold.
429rate_limitedQuota exceeded. Retry after the header interval.
503capacityInference pool saturated. Retry with backoff.
Need production access?

Production keys are issued after a short technical and compliance review.

Request access →
Ask AIScan my skin →