Introduction
Saphere Scan also allows physiological measurement computation from pre-recorded video files. This is especially useful for offline analysis or mobile app integrations.
Video Preparation Guidelines
To ensure proper results, submitted video files must meet the following requirements:
Technical Requirements
- File format: .avi, .mp4, .mov, .webp
- Maximum file size: 100 MB
- Minimum duration: 25 seconds (to allow sufficient data for processing)
- Maximum duration processed: Only the first 30 seconds are used
Environmental and Subject Conditions
- Stand upright facing the camera
- Camera aligned at face height
- Keep 40β60 cm distance from the camera
- Torso must be visible (required for respiratory rate computation)
- Ensure even and adequate lighting (avoid extreme brightness or dim light)
- Avoid movement during recording

How to Perform a Video Measurement Using the API
You can extract physiological variables from a video using either a one-step or two-step API call.
Single-Call Video Endpoint
Submit both measurement options and the video file in a single request:
POST https://api.test.saphere.ai/measures/rppg/video
Content-Type: multipart/form-data; boundary=WebAppBoundary
Accept: application/json; version=1
Authorization: Bearer <API_KEY>
--WebAppBoundary
Content-Disposition: form-data; name="video"; filename="YOUR_VIDEO.mp4"
< PATH_TO_YOUR_VIDEO_FILE.mp4
--WebAppBoundary--
--WebAppBoundary
Content-Disposition: form-data; name="userData"
Content-Type: application/json
{
"sex": "F",
"age": 35,
"weight": 58,
"height": 171
}
--WebAppBoundary--This endpoint returns the results after processing the video.
Two-Step API Method
To extract physiological variables from a video, use the following two-step process:
Step 1: Create a Measurement Request
POST https://api.test.saphere.ai/measures
Content-Type: application/json
Accept: application/json
Authorization: Bearer <API_KEY>
{
"userData": {
"sex": "M",
"age": 26,
"weight": 68,
"height": 181
}
}β Response will include a measureId
Step 2: Upload the Video File
POST https://api.test.saphere.ai/measures/<measure_id>/rppg/video
Content-Type: multipart/form-data; boundary=WebAppBoundary
Accept: application/json; version=1
Authorization: Bearer <APIKEY>
--WebAppBoundary
Content-Disposition: form-data; name="video"; filename="YOUR_VIDEO.mp4"
< PATH_TO_YOUR_VIDEO_FILE.mp4
--WebAppBoundary--Once processed, results are returned asynchronously or can be queried.
For complete technical details and validation schemas, see:
- π API reference guide
- π Basic concepts