Skip to content

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.