// Copyright 2025 BioID GmbH. // Definition of messages as used in various BWS 3 APIs. syntax = "proto3"; option java_package = "com.bioid.services"; option csharp_namespace = "BioID.Services"; // Sample containing an image and some optional tags associated with this image sample. message ImageData { // The image. bytes image = 1; // Optional list of tags associated with this image. repeated string tags = 2; } // Calculated properties from a single input image. message ImageProperties { // Rotation of the input image. // If not 0, the coordinates relate to an image rotated clockwise by this amount of degrees. int32 rotated = 1; // List of faces found in the image. repeated Face faces = 2; // An optionally calculated quality assessment score. double quality_score = 3; // List of quality checks and other checks performed. repeated QualityAssessment quality_assessments = 4; // Optional frame number in case the input was a video. int32 frame_number = 5; } // Describes some landmarks of a found face within an image together with some optional scores generated by additional DCNNs. // Important note: It is assumed that the face image is mirrored, i.e. the right eye is on the left side of the image and vice versa! message Face { PointD left_eye = 2; PointD right_eye = 3; double texture_liveness_score = 11; double motion_liveness_score = 12; double movement_direction = 13; } message PointD { double x = 1; double y = 2; } message RectangleD { double x = 1; double y = 2; double width = 3; double height = 4; } // Informational messages collected with BWS jobs during processing of an image to give feedback to users. message QualityAssessment { // The quality check performed. string check = 1; // The outcome of the quality check. A score in the range [0.0, 1.0]. // The higher the value, the better the check was passed. double score = 2; // A text with additional info about this quality assessment. string message = 3; } // Errors collected with BWS jobs. message JobError { // The error-code identifying the reported error message. string error_code = 1; // The error message describing the error. string message = 2; } // Possible returned job status values. enum JobStatus { // The job finished successfully. SUCCEEDED = 0; // The job has been aborted due to one or more errors. FAULTED = 1; // The job has been cancelled. CANCELLED = 2; }