How VitalLens Works
The VitalLens API is a stateless inference engine designed with privacy as a core constraint.
The Data Pipeline
1. Client-Side Preprocessing
If you are using our official libraries (e.g., vitallens-python), preprocessing happens locally on your device before data leaves your network:
- Audio Removal: Audio tracks are stripped to reduce payload size and ensure privacy.
- Downsampling: Video is typically spatially downsampled (typically 40x40px) to minimize bandwidth usage.
- Standardization: Frame rates and formats are standardized.
2. Inference
The preprocessed frames are transmitted via encrypted connection to the VitalLens API. Our deep learning models analyze:
- rPPG Signals: Subtle skin color variations caused by blood volume changes (for Heart Rate and HRV).
- Motion Cues: Micro-movements of the head and upper torso (for Respiratory Rate).
3. Immediate Disposal
The VitalLens API is stateless.
- Video Data: As soon as the inference is complete, the video frames are permanently deleted from server memory. We do not write input video to disk.
- Vital Estimates: The estimated vital signs are returned to you in the API response and are immediately discarded from our memory. We do not store your users' health data.
4. Logging & Metadata
While we do not store the video or the vital sign results, we do retain technical metadata for billing, security, and performance monitoring. This includes:
- API Key and request timestamps.
- Technical quality metrics (e.g., Confidence Scores).
- Error logs.
Technical Constraints
- Resolution: The model operates on low-resolution inputs. High-definition video is not required and increases latency.
- Duration: The File API accepts a maximum of 900 frames (approx 30s at 30fps) per request.
- Region of Interest: The video must depict a single person. If multiple faces are detected, the client will usually crop to the dominant face.