Getting Started
Set up your API key and integrate the SmartSpectra SDK in your app.
1. Get an API key
Register at physiology.presagetech.com to get a free API key. See Authentication for OAuth setup and key management.
2. Install the SDK
3. Configure
Configure metrics: Swift
- Run headless — skip the built-in UI and handle camera + results yourself
- Data types reference — protobuf message structures returned by the SDK
SDK metric capabilities
Important: SDK metrics are offered for general wellness and informational purposes only. SDK metrics have not been cleared by the FDA and may not be used for medical diagnosis or treatment.
The SDK exposes one language-agnostic metrics payload across platforms. When platform pages lag the underlying SDK, this overview uses the highest currently documented capability and calls out validation gaps directly. See the payload schema for field names and wire types.
Relative Arterial Pressure Waveform
Waveform of relative arterial pressure (amplitude in arbitrary units vs. time). Represents waveform shape only (e.g., heartbeat timing, shape and relative changes). Not a blood pressure measurement and cannot be used to estimate systolic or diastolic pressure.
See model card for confidence to error mapping.
- Range
- Valid when pulse rate is 40-110 BPM.
- Works when
- Subject is stationary.
- Camera is relatively stable; handheld is acceptable.
- Face and upper chest are visible, unobstructed, and well illuminated.
- Does not work when
These conditions may produce inaccurate measurements with high confidence and should be avoided.
- Large head, body, or camera motion.
- Chewing gum.
- Flickering illumination, such as TV screens.
Heart Rate Variability
60-second beat-to-beat (NN interval) statistics with confidence. Confidence is 0 until the full 60-second window is reached.
See model card for confidence to error mapping.
Metrics
- Mean NN: Average NN interval in milliseconds.
- RMSSD: Root mean square of successive NN differences in milliseconds.
- SDNN: Standard deviation of NN intervals in milliseconds.
- Baevsky Stress Index: Measure of autonomic balance in arbitrary units.
- Range
- Valid when pulse rate is 40-110 BPM.
- Works when
- Subject is stationary.
- Camera is relatively stable; handheld is acceptable.
- Face and upper chest are visible, unobstructed, and well illuminated.
- Does not work when
These conditions may produce inaccurate measurements with high confidence and should be avoided.
- Large head, body, or camera motion.
- Chewing gum.
- Flickering illumination, such as TV screens.
Pulse Rate
12-second average pulse rate in beats per minute (BPM) with confidence.
See model card for confidence to error mapping.
- Range
- 40-110 BPM.
- Works when
- Subject is stationary.
- Camera is relatively stable; handheld is acceptable.
- Face and upper chest are visible, unobstructed, and well illuminated.
- Does not work when
These conditions may produce inaccurate measurements with high confidence and should be avoided.
- Large head, body, or camera motion.
- Chewing gum.
- Flickering illumination, such as TV screens.
Face Analysis
Includes:
- 478 facial landmark coordinates as x/y pixel locations.
- Eye blink detection (binary).
- Talking detection (binary).
- Facial expression classification with probabilities across anger, contempt, disgust, fear, happiness, sadness, surprise, and neutral.
- Works when
- Face is visible, unobstructed, and well illuminated.
- Does not work when
- Face is significantly rotated and not approximately orthogonal to the camera.
Breathing Rate
30-second average breathing rate in breaths per minute with confidence. Confidence is 0 until the full 30-second window is reached.
See model card for confidence to error mapping.
- Range
- 5-40 breaths per minute.
- Works when
- Subject is stationary.
- Camera is stable and not handheld.
- Face and chest are visible and well illuminated.
- Does not work when
- Talking.
- Large body motion.
- Unstable camera, including handheld capture.
- Dark clothing.
- Tightly striped patterns on clothing causing image aliasing.
Upper and Lower Breathing Waveforms
Upper chest and lower abdominal breathing waveforms (amplitude in arbitrary units vs. time) with confidence. Confidence is derived from breathing rate confidence and remains 0 until 30 seconds is reached.
See model card for confidence to error mapping.
- Range
- Valid for breathing rates of 5-40 breaths per minute.
- Works when
- Subject is stationary.
- Camera is stable.
- Face and chest are visible and well illuminated.
- Lower abdominal waveform requires waistline visibility.
- Does not work when
- Talking.
- Large body motion.
- Unstable camera, including handheld capture.
- Dark clothing.
- Tightly striped patterns on clothing causing image aliasing.