Analyze a video frame (or sequence of frames) using remote photoplethysmography to extract vital signs.
Returns heart rate, heart rate variability (HRV), blood oxygen saturation (SpO²), stress index,
respiration rate, and a signal quality confidence score.
Request Headers
| Header |
Type |
Description |
X-API-Key required |
string |
Your API key |
Content-Type required |
string |
multipart/form-data |
Request Body (multipart/form-data)
| Field |
Type |
Description |
frame required |
file (image/jpeg, image/png) |
A video frame captured from a front-facing camera. Must contain a clearly visible face. Recommended: 640×480 or higher. |
duration_ms optional |
integer |
Measurement window in milliseconds. Default: 30000 (30s). Minimum: 10000. |
include_raw optional |
boolean |
If true, includes raw PPG signal waveform in response. Default: false. |
Response (200 OK)
{
"success": true,
"data": {
"heart_rate": 72, // BPM (±2 accuracy)
"hrv": 48.3, // RMSSD in milliseconds
"spo2": 98, // Blood oxygen %
"stress_index": 127.5, // Baevsky Stress Index
"respiration_rate": 16, // Breaths per minute
"confidence": 0.94, // Signal quality (0-1)
"duration_ms": 30120, // Actual measurement time
"timestamp": "2026-05-15T14:30:00Z"
},
"meta": {
"api_version": "1.0",
"processing_ms": 245
}
}
Response Fields
| Field |
Type |
Description |
heart_rate |
integer |
Heart rate in beats per minute (BPM). Accuracy: ±2 BPM vs. clinical ECG. |
hrv |
float |
Heart rate variability using RMSSD method, in milliseconds. Higher = better recovery. |
spo2 |
integer |
Estimated blood oxygen saturation (%). Normal range: 95–100%. |
stress_index |
float |
Baevsky Stress Index derived from HRV. Lower = more relaxed. Typical: 50–150. |
respiration_rate |
integer |
Estimated breaths per minute. Normal resting: 12–20. |
confidence |
float |
Signal quality score from 0 to 1. Below 0.7 indicates poor lighting or movement. |
duration_ms |
integer |
Actual measurement duration in milliseconds. |
timestamp |
string (ISO 8601) |
Server-side timestamp of measurement completion. |