Camera VitalsService
Create a tenant
Experimental measurement API

Camera estimates, with every source visible.

Camera Vitals turns a short camera capture into a pulse estimate and a set of calculated indices. It labels every number with where it came from, and it returns nothing at all for the measurements it cannot honestly make.

Create a tenantSee what it returns

Console: not configured for this build.

// one request, one estimate
curl -X POST https://<your-camera-vitals-host>/v1/sessions \
  -H "Authorization: Bearer cv_key_…" \
  -H "Content-Type: application/json" \
  -d "{"consent":{"accepted":true,
      ""version":"1"}}"

// →
"metrics": {
  "heartRateBpm": {
    "value": 68.4,
    "source": "camera-ppg",
    "provenance": "experimental"
  },
  "systolicBloodPressureMmhg": null
}
The output

Three columns. The third one is the point.

A measurement API is only useful if you can tell what it measured. Every metric carries its own source and provenance, and a metric that could not be measured is null — never zero, never a guess.

From the camera

Estimated during the capture. Experimental.

  • Pulsecamera PPG
  • Breathing ratecamera PPG
  • Heart-rate variabilitycamera PPG
  • Signal qualitycamera PPG

From what you confirmed

Calculated from inputs the caller supplies.

  • Body mass indexheight + weight
  • Waist-to-height ratiowaist + height
  • Framingham 10-year CVD riskmodelled
  • Pulse, when you enter itconfirmed input

Not available

The service returns nothing here rather than a guess.

  • Blood pressureno calibrated estimate
  • Oxygen saturationno camera basis
  • Diagnosis or risk verdictnot a medical device
  • Any clinical recommendationout of scope
How it works

Capture, estimate, derive.

  1. 01

    Capture

    Thirty seconds of front-camera frames. Only average red, green and blue values leave the browser — never an image, never a video.

  2. 02

    Estimate

    The service turns that signal into a pulse estimate and a quality score. A poor capture returns no reading rather than a confident wrong one.

  3. 03

    Derive

    Inputs you confirm — height, weight, waist, a cuff reading — become indices and models, each labelled with the input it came from.

Pricing

Two plans. Quota, retention, calibration.

A measurement session is one capture analysed by the service. Quota resets on the first of each month, in UTC.

Free

free
$0no card needed

1,000 measurement sessions per month.

  • Experimental camera pulse estimate
  • Confirmed-input indices and the Framingham model
  • No history retention
  • No blood-pressure calibration

Pro

pro
$79per month, billed by Stripe

50,000 measurement sessions per month.

  • Encrypted history retention for 365 days
  • Blood-pressure calibration offsets
  • Everything in Free
The important part

Camera Vitals is not a medical device.

This tool is experimental and not a medical device. Results are for informational purposes only.

It is an experimental research tool. The numbers it returns are estimates from a consumer camera, not measurements from an instrument, and they carry no validated accuracy claim.

Nothing it produces is a diagnosis, a treatment, or a substitute for clinical care. Blood pressure is not returned without a validated calibration, and no metric is filled in with an estimate to make a response look complete.

  • No diagnosis or clinical decision-making
  • No unvalidated blood-pressure estimate
  • No raw camera media stored or processed
Start

Create a tenant. Get a key. Make one request.

A tenant is a workspace with its own API keys, its own monthly quota and its own plan. The console issues keys, revokes them and shows the live usage.

Create a tenantOpen the console

POST https://<your-camera-vitals-host>/v1/tenants · GET https://<your-camera-vitals-host>/v1/plans