@azure-rest/ai-vision-face 1.0.0-alpha.20241030.1 → 1.0.0-alpha.20241031.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +21 -0
  3. package/dist/browser/clientDefinitions.d.ts +401 -380
  4. package/dist/browser/clientDefinitions.d.ts.map +1 -1
  5. package/dist/browser/clientDefinitions.js.map +1 -1
  6. package/dist/browser/faceClient.d.ts +3 -1
  7. package/dist/browser/faceClient.d.ts.map +1 -1
  8. package/dist/browser/faceClient.js +4 -3
  9. package/dist/browser/faceClient.js.map +1 -1
  10. package/dist/browser/isUnexpected.d.ts +34 -32
  11. package/dist/browser/isUnexpected.d.ts.map +1 -1
  12. package/dist/browser/isUnexpected.js +30 -29
  13. package/dist/browser/isUnexpected.js.map +1 -1
  14. package/dist/browser/models.d.ts +92 -12
  15. package/dist/browser/models.d.ts.map +1 -1
  16. package/dist/browser/models.js.map +1 -1
  17. package/dist/browser/outputModels.d.ts +253 -161
  18. package/dist/browser/outputModels.d.ts.map +1 -1
  19. package/dist/browser/outputModels.js.map +1 -1
  20. package/dist/browser/parameters.d.ts +326 -297
  21. package/dist/browser/parameters.d.ts.map +1 -1
  22. package/dist/browser/parameters.js.map +1 -1
  23. package/dist/browser/pollingHelper.d.ts +5 -4
  24. package/dist/browser/pollingHelper.d.ts.map +1 -1
  25. package/dist/browser/pollingHelper.js +3 -3
  26. package/dist/browser/pollingHelper.js.map +1 -1
  27. package/dist/browser/responses.d.ts +573 -539
  28. package/dist/browser/responses.d.ts.map +1 -1
  29. package/dist/browser/responses.js.map +1 -1
  30. package/dist/commonjs/clientDefinitions.d.ts +401 -380
  31. package/dist/commonjs/clientDefinitions.d.ts.map +1 -1
  32. package/dist/commonjs/clientDefinitions.js.map +1 -1
  33. package/dist/commonjs/faceClient.d.ts +3 -1
  34. package/dist/commonjs/faceClient.d.ts.map +1 -1
  35. package/dist/commonjs/faceClient.js +4 -3
  36. package/dist/commonjs/faceClient.js.map +1 -1
  37. package/dist/commonjs/isUnexpected.d.ts +34 -32
  38. package/dist/commonjs/isUnexpected.d.ts.map +1 -1
  39. package/dist/commonjs/isUnexpected.js +30 -29
  40. package/dist/commonjs/isUnexpected.js.map +1 -1
  41. package/dist/commonjs/models.d.ts +92 -12
  42. package/dist/commonjs/models.d.ts.map +1 -1
  43. package/dist/commonjs/models.js.map +1 -1
  44. package/dist/commonjs/outputModels.d.ts +253 -161
  45. package/dist/commonjs/outputModels.d.ts.map +1 -1
  46. package/dist/commonjs/outputModels.js.map +1 -1
  47. package/dist/commonjs/parameters.d.ts +326 -297
  48. package/dist/commonjs/parameters.d.ts.map +1 -1
  49. package/dist/commonjs/parameters.js.map +1 -1
  50. package/dist/commonjs/pollingHelper.d.ts +5 -4
  51. package/dist/commonjs/pollingHelper.d.ts.map +1 -1
  52. package/dist/commonjs/pollingHelper.js +3 -3
  53. package/dist/commonjs/pollingHelper.js.map +1 -1
  54. package/dist/commonjs/responses.d.ts +573 -539
  55. package/dist/commonjs/responses.d.ts.map +1 -1
  56. package/dist/commonjs/responses.js.map +1 -1
  57. package/dist/esm/clientDefinitions.d.ts +401 -380
  58. package/dist/esm/clientDefinitions.d.ts.map +1 -1
  59. package/dist/esm/clientDefinitions.js.map +1 -1
  60. package/dist/esm/faceClient.d.ts +3 -1
  61. package/dist/esm/faceClient.d.ts.map +1 -1
  62. package/dist/esm/faceClient.js +4 -3
  63. package/dist/esm/faceClient.js.map +1 -1
  64. package/dist/esm/isUnexpected.d.ts +34 -32
  65. package/dist/esm/isUnexpected.d.ts.map +1 -1
  66. package/dist/esm/isUnexpected.js +30 -29
  67. package/dist/esm/isUnexpected.js.map +1 -1
  68. package/dist/esm/models.d.ts +92 -12
  69. package/dist/esm/models.d.ts.map +1 -1
  70. package/dist/esm/models.js.map +1 -1
  71. package/dist/esm/outputModels.d.ts +253 -161
  72. package/dist/esm/outputModels.d.ts.map +1 -1
  73. package/dist/esm/outputModels.js.map +1 -1
  74. package/dist/esm/parameters.d.ts +326 -297
  75. package/dist/esm/parameters.d.ts.map +1 -1
  76. package/dist/esm/parameters.js.map +1 -1
  77. package/dist/esm/pollingHelper.d.ts +5 -4
  78. package/dist/esm/pollingHelper.d.ts.map +1 -1
  79. package/dist/esm/pollingHelper.js +3 -3
  80. package/dist/esm/pollingHelper.js.map +1 -1
  81. package/dist/esm/responses.d.ts +573 -539
  82. package/dist/esm/responses.d.ts.map +1 -1
  83. package/dist/esm/responses.js.map +1 -1
  84. package/dist/react-native/clientDefinitions.d.ts +401 -380
  85. package/dist/react-native/clientDefinitions.d.ts.map +1 -1
  86. package/dist/react-native/clientDefinitions.js.map +1 -1
  87. package/dist/react-native/faceClient.d.ts +3 -1
  88. package/dist/react-native/faceClient.d.ts.map +1 -1
  89. package/dist/react-native/faceClient.js +4 -3
  90. package/dist/react-native/faceClient.js.map +1 -1
  91. package/dist/react-native/isUnexpected.d.ts +34 -32
  92. package/dist/react-native/isUnexpected.d.ts.map +1 -1
  93. package/dist/react-native/isUnexpected.js +30 -29
  94. package/dist/react-native/isUnexpected.js.map +1 -1
  95. package/dist/react-native/models.d.ts +92 -12
  96. package/dist/react-native/models.d.ts.map +1 -1
  97. package/dist/react-native/models.js.map +1 -1
  98. package/dist/react-native/outputModels.d.ts +253 -161
  99. package/dist/react-native/outputModels.d.ts.map +1 -1
  100. package/dist/react-native/outputModels.js.map +1 -1
  101. package/dist/react-native/parameters.d.ts +326 -297
  102. package/dist/react-native/parameters.d.ts.map +1 -1
  103. package/dist/react-native/parameters.js.map +1 -1
  104. package/dist/react-native/pollingHelper.d.ts +5 -4
  105. package/dist/react-native/pollingHelper.d.ts.map +1 -1
  106. package/dist/react-native/pollingHelper.js +3 -3
  107. package/dist/react-native/pollingHelper.js.map +1 -1
  108. package/dist/react-native/responses.d.ts +573 -539
  109. package/dist/react-native/responses.d.ts.map +1 -1
  110. package/dist/react-native/responses.js.map +1 -1
  111. package/package.json +39 -33
  112. package/review/ai-vision-face.api.md +375 -296
@@ -1,5 +1,5 @@
1
- import type { GetOperationResultParameters, DetectFromUrlParameters, DetectParameters, FindSimilarParameters, FindSimilarFromFaceListParameters, FindSimilarFromLargeFaceListParameters, IdentifyFromPersonGroupParameters, IdentifyFromLargePersonGroupParameters, IdentifyFromPersonDirectoryParameters, IdentifyFromDynamicPersonGroupParameters, VerifyFaceToFaceParameters, VerifyFromPersonGroupParameters, VerifyFromLargePersonGroupParameters, VerifyFromPersonDirectoryParameters, GroupParameters, CreateLivenessSessionParameters, GetLivenessSessionsParameters, DeleteLivenessSessionParameters, GetLivenessSessionResultParameters, GetLivenessSessionAuditEntriesParameters, CreateLivenessWithVerifySessionWithVerifyImageParameters, CreateLivenessWithVerifySessionParameters, GetLivenessWithVerifySessionsParameters, DeleteLivenessWithVerifySessionParameters, GetLivenessWithVerifySessionResultParameters, GetLivenessWithVerifySessionAuditEntriesParameters, CreateFaceListParameters, DeleteFaceListParameters, GetFaceListParameters, UpdateFaceListParameters, GetFaceListsParameters, AddFaceListFaceFromUrlParameters, AddFaceListFaceParameters, DeleteFaceListFaceParameters, CreateLargeFaceListParameters, DeleteLargeFaceListParameters, GetLargeFaceListParameters, UpdateLargeFaceListParameters, GetLargeFaceListsParameters, GetLargeFaceListTrainingStatusParameters, TrainLargeFaceListParameters, AddLargeFaceListFaceFromUrlParameters, AddLargeFaceListFaceParameters, GetLargeFaceListFacesParameters, DeleteLargeFaceListFaceParameters, GetLargeFaceListFaceParameters, UpdateLargeFaceListFaceParameters, CreatePersonParameters, GetPersonsParameters, DeletePersonParameters, GetPersonParameters, UpdatePersonParameters, GetDynamicPersonGroupReferencesParameters, AddPersonFaceParameters, AddPersonFaceFromUrlParameters, GetPersonFacesParameters, DeletePersonFaceParameters, GetPersonFaceParameters, UpdatePersonFaceParameters, CreateDynamicPersonGroupWithPersonParameters, CreateDynamicPersonGroupParameters, DeleteDynamicPersonGroupParameters, GetDynamicPersonGroupParameters, UpdateDynamicPersonGroupWithPersonChangesParameters, UpdateDynamicPersonGroupParameters, GetDynamicPersonGroupsParameters, GetDynamicPersonGroupPersonsParameters, CreatePersonGroupParameters, DeletePersonGroupParameters, GetPersonGroupParameters, UpdatePersonGroupParameters, GetPersonGroupsParameters, GetPersonGroupTrainingStatusParameters, TrainPersonGroupParameters, CreatePersonGroupPersonParameters, GetPersonGroupPersonsParameters, DeletePersonGroupPersonParameters, GetPersonGroupPersonParameters, UpdatePersonGroupPersonParameters, AddPersonGroupPersonFaceFromUrlParameters, AddPersonGroupPersonFaceParameters, DeletePersonGroupPersonFaceParameters, GetPersonGroupPersonFaceParameters, UpdatePersonGroupPersonFaceParameters, CreateLargePersonGroupParameters, DeleteLargePersonGroupParameters, GetLargePersonGroupParameters, UpdateLargePersonGroupParameters, GetLargePersonGroupsParameters, GetLargePersonGroupTrainingStatusParameters, TrainLargePersonGroupParameters, CreateLargePersonGroupPersonParameters, GetLargePersonGroupPersonsParameters, DeleteLargePersonGroupPersonParameters, GetLargePersonGroupPersonParameters, UpdateLargePersonGroupPersonParameters, AddLargePersonGroupPersonFaceFromUrlParameters, AddLargePersonGroupPersonFaceParameters, DeleteLargePersonGroupPersonFaceParameters, GetLargePersonGroupPersonFaceParameters, UpdateLargePersonGroupPersonFaceParameters } from "./parameters.js";
2
- import type { GetOperationResult200Response, GetOperationResultDefaultResponse, DetectFromUrl200Response, DetectFromUrlDefaultResponse, Detect200Response, DetectDefaultResponse, FindSimilar200Response, FindSimilarDefaultResponse, FindSimilarFromFaceList200Response, FindSimilarFromFaceListDefaultResponse, FindSimilarFromLargeFaceList200Response, FindSimilarFromLargeFaceListDefaultResponse, IdentifyFromPersonGroup200Response, IdentifyFromPersonGroupDefaultResponse, IdentifyFromLargePersonGroup200Response, IdentifyFromLargePersonGroupDefaultResponse, IdentifyFromPersonDirectory200Response, IdentifyFromPersonDirectoryDefaultResponse, IdentifyFromDynamicPersonGroup200Response, IdentifyFromDynamicPersonGroupDefaultResponse, VerifyFaceToFace200Response, VerifyFaceToFaceDefaultResponse, VerifyFromPersonGroup200Response, VerifyFromPersonGroupDefaultResponse, VerifyFromLargePersonGroup200Response, VerifyFromLargePersonGroupDefaultResponse, VerifyFromPersonDirectory200Response, VerifyFromPersonDirectoryDefaultResponse, Group200Response, GroupDefaultResponse, CreateLivenessSession200Response, CreateLivenessSessionDefaultResponse, GetLivenessSessions200Response, GetLivenessSessionsDefaultResponse, DeleteLivenessSession200Response, DeleteLivenessSessionDefaultResponse, GetLivenessSessionResult200Response, GetLivenessSessionResultDefaultResponse, GetLivenessSessionAuditEntries200Response, GetLivenessSessionAuditEntriesDefaultResponse, CreateLivenessWithVerifySessionWithVerifyImage200Response, CreateLivenessWithVerifySessionWithVerifyImageDefaultResponse, CreateLivenessWithVerifySession200Response, CreateLivenessWithVerifySessionDefaultResponse, GetLivenessWithVerifySessions200Response, GetLivenessWithVerifySessionsDefaultResponse, DeleteLivenessWithVerifySession200Response, DeleteLivenessWithVerifySessionDefaultResponse, GetLivenessWithVerifySessionResult200Response, GetLivenessWithVerifySessionResultDefaultResponse, GetLivenessWithVerifySessionAuditEntries200Response, GetLivenessWithVerifySessionAuditEntriesDefaultResponse, CreateFaceList200Response, CreateFaceListDefaultResponse, DeleteFaceList200Response, DeleteFaceListDefaultResponse, GetFaceList200Response, GetFaceListDefaultResponse, UpdateFaceList200Response, UpdateFaceListDefaultResponse, GetFaceLists200Response, GetFaceListsDefaultResponse, AddFaceListFaceFromUrl200Response, AddFaceListFaceFromUrlDefaultResponse, AddFaceListFace200Response, AddFaceListFaceDefaultResponse, DeleteFaceListFace200Response, DeleteFaceListFaceDefaultResponse, CreateLargeFaceList200Response, CreateLargeFaceListDefaultResponse, DeleteLargeFaceList200Response, DeleteLargeFaceListDefaultResponse, GetLargeFaceList200Response, GetLargeFaceListDefaultResponse, UpdateLargeFaceList200Response, UpdateLargeFaceListDefaultResponse, GetLargeFaceLists200Response, GetLargeFaceListsDefaultResponse, GetLargeFaceListTrainingStatus200Response, GetLargeFaceListTrainingStatusDefaultResponse, TrainLargeFaceList202Response, TrainLargeFaceListDefaultResponse, AddLargeFaceListFaceFromUrl200Response, AddLargeFaceListFaceFromUrlDefaultResponse, AddLargeFaceListFace200Response, AddLargeFaceListFaceDefaultResponse, GetLargeFaceListFaces200Response, GetLargeFaceListFacesDefaultResponse, DeleteLargeFaceListFace200Response, DeleteLargeFaceListFaceDefaultResponse, GetLargeFaceListFace200Response, GetLargeFaceListFaceDefaultResponse, UpdateLargeFaceListFace200Response, UpdateLargeFaceListFaceDefaultResponse, CreatePerson202Response, CreatePersonDefaultResponse, GetPersons200Response, GetPersonsDefaultResponse, DeletePerson202Response, DeletePersonDefaultResponse, GetPerson200Response, GetPersonDefaultResponse, UpdatePerson200Response, UpdatePersonDefaultResponse, GetDynamicPersonGroupReferences200Response, GetDynamicPersonGroupReferencesDefaultResponse, AddPersonFace202Response, AddPersonFaceDefaultResponse, AddPersonFaceFromUrl202Response, AddPersonFaceFromUrlDefaultResponse, GetPersonFaces200Response, GetPersonFacesDefaultResponse, DeletePersonFace202Response, DeletePersonFaceDefaultResponse, GetPersonFace200Response, GetPersonFaceDefaultResponse, UpdatePersonFace200Response, UpdatePersonFaceDefaultResponse, CreateDynamicPersonGroupWithPerson202Response, CreateDynamicPersonGroupWithPersonDefaultResponse, CreateDynamicPersonGroup200Response, CreateDynamicPersonGroupDefaultResponse, DeleteDynamicPersonGroup202Response, DeleteDynamicPersonGroupDefaultResponse, GetDynamicPersonGroup200Response, GetDynamicPersonGroupDefaultResponse, UpdateDynamicPersonGroupWithPersonChanges202Response, UpdateDynamicPersonGroupWithPersonChangesDefaultResponse, UpdateDynamicPersonGroup200Response, UpdateDynamicPersonGroupDefaultResponse, GetDynamicPersonGroups200Response, GetDynamicPersonGroupsDefaultResponse, GetDynamicPersonGroupPersons200Response, GetDynamicPersonGroupPersonsDefaultResponse, CreatePersonGroup200Response, CreatePersonGroupDefaultResponse, DeletePersonGroup200Response, DeletePersonGroupDefaultResponse, GetPersonGroup200Response, GetPersonGroupDefaultResponse, UpdatePersonGroup200Response, UpdatePersonGroupDefaultResponse, GetPersonGroups200Response, GetPersonGroupsDefaultResponse, GetPersonGroupTrainingStatus200Response, GetPersonGroupTrainingStatusDefaultResponse, TrainPersonGroup202Response, TrainPersonGroupDefaultResponse, CreatePersonGroupPerson200Response, CreatePersonGroupPersonDefaultResponse, GetPersonGroupPersons200Response, GetPersonGroupPersonsDefaultResponse, DeletePersonGroupPerson200Response, DeletePersonGroupPersonDefaultResponse, GetPersonGroupPerson200Response, GetPersonGroupPersonDefaultResponse, UpdatePersonGroupPerson200Response, UpdatePersonGroupPersonDefaultResponse, AddPersonGroupPersonFaceFromUrl200Response, AddPersonGroupPersonFaceFromUrlDefaultResponse, AddPersonGroupPersonFace200Response, AddPersonGroupPersonFaceDefaultResponse, DeletePersonGroupPersonFace200Response, DeletePersonGroupPersonFaceDefaultResponse, GetPersonGroupPersonFace200Response, GetPersonGroupPersonFaceDefaultResponse, UpdatePersonGroupPersonFace200Response, UpdatePersonGroupPersonFaceDefaultResponse, CreateLargePersonGroup200Response, CreateLargePersonGroupDefaultResponse, DeleteLargePersonGroup200Response, DeleteLargePersonGroupDefaultResponse, GetLargePersonGroup200Response, GetLargePersonGroupDefaultResponse, UpdateLargePersonGroup200Response, UpdateLargePersonGroupDefaultResponse, GetLargePersonGroups200Response, GetLargePersonGroupsDefaultResponse, GetLargePersonGroupTrainingStatus200Response, GetLargePersonGroupTrainingStatusDefaultResponse, TrainLargePersonGroup202Response, TrainLargePersonGroupDefaultResponse, CreateLargePersonGroupPerson200Response, CreateLargePersonGroupPersonDefaultResponse, GetLargePersonGroupPersons200Response, GetLargePersonGroupPersonsDefaultResponse, DeleteLargePersonGroupPerson200Response, DeleteLargePersonGroupPersonDefaultResponse, GetLargePersonGroupPerson200Response, GetLargePersonGroupPersonDefaultResponse, UpdateLargePersonGroupPerson200Response, UpdateLargePersonGroupPersonDefaultResponse, AddLargePersonGroupPersonFaceFromUrl200Response, AddLargePersonGroupPersonFaceFromUrlDefaultResponse, AddLargePersonGroupPersonFace200Response, AddLargePersonGroupPersonFaceDefaultResponse, DeleteLargePersonGroupPersonFace200Response, DeleteLargePersonGroupPersonFaceDefaultResponse, GetLargePersonGroupPersonFace200Response, GetLargePersonGroupPersonFaceDefaultResponse, UpdateLargePersonGroupPersonFace200Response, UpdateLargePersonGroupPersonFaceDefaultResponse } from "./responses.js";
1
+ import type { GetOperationResultParameters, DetectFromUrlParameters, DetectParameters, DetectFromSessionImageIdParameters, FindSimilarParameters, FindSimilarFromFaceListParameters, FindSimilarFromLargeFaceListParameters, IdentifyFromPersonGroupParameters, IdentifyFromLargePersonGroupParameters, IdentifyFromPersonDirectoryParameters, IdentifyFromDynamicPersonGroupParameters, VerifyFaceToFaceParameters, VerifyFromPersonGroupParameters, VerifyFromLargePersonGroupParameters, VerifyFromPersonDirectoryParameters, GroupParameters, CreateFaceListParameters, DeleteFaceListParameters, GetFaceListParameters, UpdateFaceListParameters, GetFaceListsParameters, AddFaceListFaceFromUrlParameters, AddFaceListFaceParameters, DeleteFaceListFaceParameters, CreateLargeFaceListParameters, DeleteLargeFaceListParameters, GetLargeFaceListParameters, UpdateLargeFaceListParameters, GetLargeFaceListsParameters, GetLargeFaceListTrainingStatusParameters, TrainLargeFaceListParameters, AddLargeFaceListFaceFromUrlParameters, AddLargeFaceListFaceParameters, GetLargeFaceListFacesParameters, DeleteLargeFaceListFaceParameters, GetLargeFaceListFaceParameters, UpdateLargeFaceListFaceParameters, CreatePersonGroupParameters, DeletePersonGroupParameters, GetPersonGroupParameters, UpdatePersonGroupParameters, GetPersonGroupsParameters, GetPersonGroupTrainingStatusParameters, TrainPersonGroupParameters, CreatePersonGroupPersonParameters, GetPersonGroupPersonsParameters, DeletePersonGroupPersonParameters, GetPersonGroupPersonParameters, UpdatePersonGroupPersonParameters, AddPersonGroupPersonFaceFromUrlParameters, AddPersonGroupPersonFaceParameters, DeletePersonGroupPersonFaceParameters, GetPersonGroupPersonFaceParameters, UpdatePersonGroupPersonFaceParameters, CreateLargePersonGroupParameters, DeleteLargePersonGroupParameters, GetLargePersonGroupParameters, UpdateLargePersonGroupParameters, GetLargePersonGroupsParameters, GetLargePersonGroupTrainingStatusParameters, TrainLargePersonGroupParameters, CreateLargePersonGroupPersonParameters, GetLargePersonGroupPersonsParameters, DeleteLargePersonGroupPersonParameters, GetLargePersonGroupPersonParameters, UpdateLargePersonGroupPersonParameters, AddLargePersonGroupPersonFaceFromUrlParameters, AddLargePersonGroupPersonFaceParameters, DeleteLargePersonGroupPersonFaceParameters, GetLargePersonGroupPersonFaceParameters, UpdateLargePersonGroupPersonFaceParameters, CreateLivenessSessionParameters, GetLivenessSessionsParameters, DeleteLivenessSessionParameters, GetLivenessSessionResultParameters, GetLivenessSessionAuditEntriesParameters, CreateLivenessWithVerifySessionWithVerifyImageParameters, CreateLivenessWithVerifySessionParameters, GetLivenessWithVerifySessionsParameters, DeleteLivenessWithVerifySessionParameters, GetLivenessWithVerifySessionResultParameters, GetLivenessWithVerifySessionAuditEntriesParameters, GetSessionImageParameters, CreatePersonParameters, GetPersonsParameters, DeletePersonParameters, GetPersonParameters, UpdatePersonParameters, GetDynamicPersonGroupReferencesParameters, AddPersonFaceParameters, AddPersonFaceFromUrlParameters, GetPersonFacesParameters, DeletePersonFaceParameters, GetPersonFaceParameters, UpdatePersonFaceParameters, CreateDynamicPersonGroupWithPersonParameters, CreateDynamicPersonGroupParameters, DeleteDynamicPersonGroupParameters, GetDynamicPersonGroupParameters, UpdateDynamicPersonGroupWithPersonChangesParameters, UpdateDynamicPersonGroupParameters, GetDynamicPersonGroupsParameters, GetDynamicPersonGroupPersonsParameters } from "./parameters.js";
2
+ import type { GetOperationResult200Response, GetOperationResultDefaultResponse, DetectFromUrl200Response, DetectFromUrlDefaultResponse, Detect200Response, DetectDefaultResponse, DetectFromSessionImageId200Response, DetectFromSessionImageIdDefaultResponse, FindSimilar200Response, FindSimilarDefaultResponse, FindSimilarFromFaceList200Response, FindSimilarFromFaceListDefaultResponse, FindSimilarFromLargeFaceList200Response, FindSimilarFromLargeFaceListDefaultResponse, IdentifyFromPersonGroup200Response, IdentifyFromPersonGroupDefaultResponse, IdentifyFromLargePersonGroup200Response, IdentifyFromLargePersonGroupDefaultResponse, IdentifyFromPersonDirectory200Response, IdentifyFromPersonDirectoryDefaultResponse, IdentifyFromDynamicPersonGroup200Response, IdentifyFromDynamicPersonGroupDefaultResponse, VerifyFaceToFace200Response, VerifyFaceToFaceDefaultResponse, VerifyFromPersonGroup200Response, VerifyFromPersonGroupDefaultResponse, VerifyFromLargePersonGroup200Response, VerifyFromLargePersonGroupDefaultResponse, VerifyFromPersonDirectory200Response, VerifyFromPersonDirectoryDefaultResponse, Group200Response, GroupDefaultResponse, CreateFaceList200Response, CreateFaceListDefaultResponse, DeleteFaceList200Response, DeleteFaceListDefaultResponse, GetFaceList200Response, GetFaceListDefaultResponse, UpdateFaceList200Response, UpdateFaceListDefaultResponse, GetFaceLists200Response, GetFaceListsDefaultResponse, AddFaceListFaceFromUrl200Response, AddFaceListFaceFromUrlDefaultResponse, AddFaceListFace200Response, AddFaceListFaceDefaultResponse, DeleteFaceListFace200Response, DeleteFaceListFaceDefaultResponse, CreateLargeFaceList200Response, CreateLargeFaceListDefaultResponse, DeleteLargeFaceList200Response, DeleteLargeFaceListDefaultResponse, GetLargeFaceList200Response, GetLargeFaceListDefaultResponse, UpdateLargeFaceList200Response, UpdateLargeFaceListDefaultResponse, GetLargeFaceLists200Response, GetLargeFaceListsDefaultResponse, GetLargeFaceListTrainingStatus200Response, GetLargeFaceListTrainingStatusDefaultResponse, TrainLargeFaceList202Response, TrainLargeFaceListDefaultResponse, AddLargeFaceListFaceFromUrl200Response, AddLargeFaceListFaceFromUrlDefaultResponse, AddLargeFaceListFace200Response, AddLargeFaceListFaceDefaultResponse, GetLargeFaceListFaces200Response, GetLargeFaceListFacesDefaultResponse, DeleteLargeFaceListFace200Response, DeleteLargeFaceListFaceDefaultResponse, GetLargeFaceListFace200Response, GetLargeFaceListFaceDefaultResponse, UpdateLargeFaceListFace200Response, UpdateLargeFaceListFaceDefaultResponse, CreatePersonGroup200Response, CreatePersonGroupDefaultResponse, DeletePersonGroup200Response, DeletePersonGroupDefaultResponse, GetPersonGroup200Response, GetPersonGroupDefaultResponse, UpdatePersonGroup200Response, UpdatePersonGroupDefaultResponse, GetPersonGroups200Response, GetPersonGroupsDefaultResponse, GetPersonGroupTrainingStatus200Response, GetPersonGroupTrainingStatusDefaultResponse, TrainPersonGroup202Response, TrainPersonGroupDefaultResponse, CreatePersonGroupPerson200Response, CreatePersonGroupPersonDefaultResponse, GetPersonGroupPersons200Response, GetPersonGroupPersonsDefaultResponse, DeletePersonGroupPerson200Response, DeletePersonGroupPersonDefaultResponse, GetPersonGroupPerson200Response, GetPersonGroupPersonDefaultResponse, UpdatePersonGroupPerson200Response, UpdatePersonGroupPersonDefaultResponse, AddPersonGroupPersonFaceFromUrl200Response, AddPersonGroupPersonFaceFromUrlDefaultResponse, AddPersonGroupPersonFace200Response, AddPersonGroupPersonFaceDefaultResponse, DeletePersonGroupPersonFace200Response, DeletePersonGroupPersonFaceDefaultResponse, GetPersonGroupPersonFace200Response, GetPersonGroupPersonFaceDefaultResponse, UpdatePersonGroupPersonFace200Response, UpdatePersonGroupPersonFaceDefaultResponse, CreateLargePersonGroup200Response, CreateLargePersonGroupDefaultResponse, DeleteLargePersonGroup200Response, DeleteLargePersonGroupDefaultResponse, GetLargePersonGroup200Response, GetLargePersonGroupDefaultResponse, UpdateLargePersonGroup200Response, UpdateLargePersonGroupDefaultResponse, GetLargePersonGroups200Response, GetLargePersonGroupsDefaultResponse, GetLargePersonGroupTrainingStatus200Response, GetLargePersonGroupTrainingStatusDefaultResponse, TrainLargePersonGroup202Response, TrainLargePersonGroupDefaultResponse, CreateLargePersonGroupPerson200Response, CreateLargePersonGroupPersonDefaultResponse, GetLargePersonGroupPersons200Response, GetLargePersonGroupPersonsDefaultResponse, DeleteLargePersonGroupPerson200Response, DeleteLargePersonGroupPersonDefaultResponse, GetLargePersonGroupPerson200Response, GetLargePersonGroupPersonDefaultResponse, UpdateLargePersonGroupPerson200Response, UpdateLargePersonGroupPersonDefaultResponse, AddLargePersonGroupPersonFaceFromUrl200Response, AddLargePersonGroupPersonFaceFromUrlDefaultResponse, AddLargePersonGroupPersonFace200Response, AddLargePersonGroupPersonFaceDefaultResponse, DeleteLargePersonGroupPersonFace200Response, DeleteLargePersonGroupPersonFaceDefaultResponse, GetLargePersonGroupPersonFace200Response, GetLargePersonGroupPersonFaceDefaultResponse, UpdateLargePersonGroupPersonFace200Response, UpdateLargePersonGroupPersonFaceDefaultResponse, CreateLivenessSession200Response, CreateLivenessSessionDefaultResponse, GetLivenessSessions200Response, GetLivenessSessionsDefaultResponse, DeleteLivenessSession200Response, DeleteLivenessSessionDefaultResponse, GetLivenessSessionResult200Response, GetLivenessSessionResultDefaultResponse, GetLivenessSessionAuditEntries200Response, GetLivenessSessionAuditEntriesDefaultResponse, CreateLivenessWithVerifySessionWithVerifyImage200Response, CreateLivenessWithVerifySessionWithVerifyImageDefaultResponse, CreateLivenessWithVerifySession200Response, CreateLivenessWithVerifySessionDefaultResponse, GetLivenessWithVerifySessions200Response, GetLivenessWithVerifySessionsDefaultResponse, DeleteLivenessWithVerifySession200Response, DeleteLivenessWithVerifySessionDefaultResponse, GetLivenessWithVerifySessionResult200Response, GetLivenessWithVerifySessionResultDefaultResponse, GetLivenessWithVerifySessionAuditEntries200Response, GetLivenessWithVerifySessionAuditEntriesDefaultResponse, GetSessionImage200Response, GetSessionImageDefaultResponse, CreatePerson202Response, CreatePersonDefaultResponse, GetPersons200Response, GetPersonsDefaultResponse, DeletePerson202Response, DeletePersonDefaultResponse, GetPerson200Response, GetPersonDefaultResponse, UpdatePerson200Response, UpdatePersonDefaultResponse, GetDynamicPersonGroupReferences200Response, GetDynamicPersonGroupReferencesDefaultResponse, AddPersonFace202Response, AddPersonFaceDefaultResponse, AddPersonFaceFromUrl202Response, AddPersonFaceFromUrlDefaultResponse, GetPersonFaces200Response, GetPersonFacesDefaultResponse, DeletePersonFace202Response, DeletePersonFaceDefaultResponse, GetPersonFace200Response, GetPersonFaceDefaultResponse, UpdatePersonFace200Response, UpdatePersonFaceDefaultResponse, CreateDynamicPersonGroupWithPerson202Response, CreateDynamicPersonGroupWithPersonDefaultResponse, CreateDynamicPersonGroup200Response, CreateDynamicPersonGroupDefaultResponse, DeleteDynamicPersonGroup202Response, DeleteDynamicPersonGroupDefaultResponse, GetDynamicPersonGroup200Response, GetDynamicPersonGroupDefaultResponse, UpdateDynamicPersonGroupWithPersonChanges202Response, UpdateDynamicPersonGroupWithPersonChangesDefaultResponse, UpdateDynamicPersonGroup200Response, UpdateDynamicPersonGroupDefaultResponse, GetDynamicPersonGroups200Response, GetDynamicPersonGroupsDefaultResponse, GetDynamicPersonGroupPersons200Response, GetDynamicPersonGroupPersonsDefaultResponse } from "./responses.js";
3
3
  import type { RecognitionModel } from "./models.js";
4
4
  import type { Client, StreamableMethod } from "@azure-rest/core-client";
5
5
  export interface GetOperationResult {
@@ -9,7 +9,7 @@ export interface GetOperationResult {
9
9
  export interface DetectFromUrl {
10
10
  /**
11
11
  * > [!IMPORTANT]
12
- * > To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.
12
+ * > Microsoft has retired or limited facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. The retired capabilities are emotion and gender. The limited capabilities are age, smile, facial hair, hair and makeup. Email [Azure Face API](mailto:azureface@microsoft.com) if you have a responsible use case that would benefit from the use of any of the limited capabilities. Read more about this decision [here](https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/).
13
13
  *
14
14
  * *
15
15
  * * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in "Identify", "Verify", and "Find Similar". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.
@@ -18,15 +18,13 @@ export interface DetectFromUrl {
18
18
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
19
19
  * * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.
20
20
  * * For optimal results when querying "Identify", "Verify", and "Find Similar" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).
21
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
22
- * * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.
23
- * * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model.
24
- * * Different 'recognitionModel' values are provided. If follow-up operations like "Verify", "Identify", "Find Similar" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.
21
+ * * Different 'detectionModel' values can be provided. The availability of landmarks and supported attributes depends on the detection model specified. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
22
+ * * Different 'recognitionModel' values are provided. If follow-up operations like "Verify", "Identify", "Find Similar" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model).
25
23
  */
26
24
  post(options: DetectFromUrlParameters): StreamableMethod<DetectFromUrl200Response | DetectFromUrlDefaultResponse>;
27
25
  /**
28
26
  * > [!IMPORTANT]
29
- * > To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.
27
+ * > Microsoft has retired or limited facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. The retired capabilities are emotion and gender. The limited capabilities are age, smile, facial hair, hair and makeup. Email [Azure Face API](mailto:azureface@microsoft.com) if you have a responsible use case that would benefit from the use of any of the limited capabilities. Read more about this decision [here](https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/).
30
28
  *
31
29
  * *
32
30
  * * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in "Identify", "Verify", and "Find Similar". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.
@@ -35,12 +33,25 @@ export interface DetectFromUrl {
35
33
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
36
34
  * * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.
37
35
  * * For optimal results when querying "Identify", "Verify", and "Find Similar" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).
38
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
39
- * * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.
40
- * * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model.
41
- * * Different 'recognitionModel' values are provided. If follow-up operations like "Verify", "Identify", "Find Similar" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.
36
+ * * Different 'detectionModel' values can be provided. The availability of landmarks and supported attributes depends on the detection model specified. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
37
+ * * Different 'recognitionModel' values are provided. If follow-up operations like "Verify", "Identify", "Find Similar" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model).
42
38
  */
43
39
  post(options: DetectParameters): StreamableMethod<Detect200Response | DetectDefaultResponse>;
40
+ /**
41
+ * > [!IMPORTANT]
42
+ * > Microsoft has retired or limited facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. The retired capabilities are emotion and gender. The limited capabilities are age, smile, facial hair, hair and makeup. Email [Azure Face API](mailto:azureface@microsoft.com) if you have a responsible use case that would benefit from the use of any of the limited capabilities. Read more about this decision [here](https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/).
43
+ *
44
+ * *
45
+ * * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in "Identify", "Verify", and "Find Similar". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.
46
+ * * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.
47
+ * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
48
+ * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
49
+ * * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.
50
+ * * For optimal results when querying "Identify", "Verify", and "Find Similar" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).
51
+ * * Different 'detectionModel' values can be provided. The availability of landmarks and supported attributes depends on the detection model specified. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
52
+ * * Different 'recognitionModel' values are provided. If follow-up operations like "Verify", "Identify", "Find Similar" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model).
53
+ */
54
+ post(options: DetectFromSessionImageIdParameters): StreamableMethod<DetectFromSessionImageId200Response | DetectFromSessionImageIdDefaultResponse>;
44
55
  }
45
56
  export interface FindSimilar {
46
57
  /**
@@ -50,7 +61,7 @@ export interface FindSimilar {
50
61
  *
51
62
  * The 'recognitionModel' associated with the query faceId should be the same as the 'recognitionModel' used by the target faceId array.
52
63
  */
53
- post(options?: FindSimilarParameters): StreamableMethod<FindSimilar200Response | FindSimilarDefaultResponse>;
64
+ post(options: FindSimilarParameters): StreamableMethod<FindSimilar200Response | FindSimilarDefaultResponse>;
54
65
  /**
55
66
  * Depending on the input the returned similar faces list contains faceIds or persistedFaceIds ranked by similarity.
56
67
  *
@@ -58,7 +69,7 @@ export interface FindSimilar {
58
69
  *
59
70
  * The 'recognitionModel' associated with the query faceId should be the same as the 'recognitionModel' used by the target Face List.
60
71
  */
61
- post(options?: FindSimilarFromFaceListParameters): StreamableMethod<FindSimilarFromFaceList200Response | FindSimilarFromFaceListDefaultResponse>;
72
+ post(options: FindSimilarFromFaceListParameters): StreamableMethod<FindSimilarFromFaceList200Response | FindSimilarFromFaceListDefaultResponse>;
62
73
  /**
63
74
  * Depending on the input the returned similar faces list contains faceIds or persistedFaceIds ranked by similarity.
64
75
  *
@@ -66,7 +77,7 @@ export interface FindSimilar {
66
77
  *
67
78
  * The 'recognitionModel' associated with the query faceId should be the same as the 'recognitionModel' used by the target Large Face List.
68
79
  */
69
- post(options?: FindSimilarFromLargeFaceListParameters): StreamableMethod<FindSimilarFromLargeFaceList200Response | FindSimilarFromLargeFaceListDefaultResponse>;
80
+ post(options: FindSimilarFromLargeFaceListParameters): StreamableMethod<FindSimilarFromLargeFaceList200Response | FindSimilarFromLargeFaceListDefaultResponse>;
70
81
  }
71
82
  export interface IdentifyFromPersonGroup {
72
83
  /**
@@ -81,7 +92,7 @@ export interface IdentifyFromPersonGroup {
81
92
  * > * Try "Find Similar" when you need to find similar faces from a Face List/Large Face List instead of a Person Group.
82
93
  * > * The 'recognitionModel' associated with the query faces' faceIds should be the same as the 'recognitionModel' used by the target Person Group.
83
94
  */
84
- post(options?: IdentifyFromPersonGroupParameters): StreamableMethod<IdentifyFromPersonGroup200Response | IdentifyFromPersonGroupDefaultResponse>;
95
+ post(options: IdentifyFromPersonGroupParameters): StreamableMethod<IdentifyFromPersonGroup200Response | IdentifyFromPersonGroupDefaultResponse>;
85
96
  /**
86
97
  * For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Large Person Group (given by largePersonGroupId), and return candidate person(s) for that face ranked by similarity confidence. The Large Person Group should be trained to make it ready for identification. See more in "Train Large Person Group".
87
98
  * > [!NOTE]
@@ -94,7 +105,7 @@ export interface IdentifyFromPersonGroup {
94
105
  * > * Try "Find Similar" when you need to find similar faces from a Face List/Large Face List instead of a Person Group/Large Person Group.
95
106
  * > * The 'recognitionModel' associated with the query faces' faceIds should be the same as the 'recognitionModel' used by the target Person Group or Large Person Group.
96
107
  */
97
- post(options?: IdentifyFromLargePersonGroupParameters): StreamableMethod<IdentifyFromLargePersonGroup200Response | IdentifyFromLargePersonGroupDefaultResponse>;
108
+ post(options: IdentifyFromLargePersonGroupParameters): StreamableMethod<IdentifyFromLargePersonGroup200Response | IdentifyFromLargePersonGroupDefaultResponse>;
98
109
  /**
99
110
  * For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Person Directory Persons (given by personIds), and return candidate person(s) for that face ranked by similarity confidence.
100
111
  * Passing personIds with an array with one element "*" can perform the operation over entire person directory.
@@ -107,7 +118,7 @@ export interface IdentifyFromPersonGroup {
107
118
  * > * Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array.
108
119
  * > * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces.
109
120
  */
110
- post(options?: IdentifyFromPersonDirectoryParameters): StreamableMethod<IdentifyFromPersonDirectory200Response | IdentifyFromPersonDirectoryDefaultResponse>;
121
+ post(options: IdentifyFromPersonDirectoryParameters): StreamableMethod<IdentifyFromPersonDirectory200Response | IdentifyFromPersonDirectoryDefaultResponse>;
111
122
  /**
112
123
  * For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Dynamic Person Group (given by dynamicPersonGroupId), and return candidate person(s) for that face ranked by similarity confidence.
113
124
  * > [!NOTE]
@@ -119,7 +130,7 @@ export interface IdentifyFromPersonGroup {
119
130
  * > * Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array.
120
131
  * > * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces.
121
132
  */
122
- post(options?: IdentifyFromDynamicPersonGroupParameters): StreamableMethod<IdentifyFromDynamicPersonGroup200Response | IdentifyFromDynamicPersonGroupDefaultResponse>;
133
+ post(options: IdentifyFromDynamicPersonGroupParameters): StreamableMethod<IdentifyFromDynamicPersonGroup200Response | IdentifyFromDynamicPersonGroupDefaultResponse>;
123
134
  }
124
135
  export interface VerifyFaceToFace {
125
136
  /**
@@ -130,7 +141,7 @@ export interface VerifyFaceToFace {
130
141
  * > * For the scenarios that are sensitive to accuracy please make your own judgment.
131
142
  * > * The 'recognitionModel' associated with the both faces should be the same.
132
143
  */
133
- post(options?: VerifyFaceToFaceParameters): StreamableMethod<VerifyFaceToFace200Response | VerifyFaceToFaceDefaultResponse>;
144
+ post(options: VerifyFaceToFaceParameters): StreamableMethod<VerifyFaceToFace200Response | VerifyFaceToFaceDefaultResponse>;
134
145
  /**
135
146
  * > [!NOTE]
136
147
  * >
@@ -139,7 +150,7 @@ export interface VerifyFaceToFace {
139
150
  * > * For the scenarios that are sensitive to accuracy please make your own judgment.
140
151
  * > * The 'recognitionModel' associated with the query face should be the same as the 'recognitionModel' used by the Person Group.
141
152
  */
142
- post(options?: VerifyFromPersonGroupParameters): StreamableMethod<VerifyFromPersonGroup200Response | VerifyFromPersonGroupDefaultResponse>;
153
+ post(options: VerifyFromPersonGroupParameters): StreamableMethod<VerifyFromPersonGroup200Response | VerifyFromPersonGroupDefaultResponse>;
143
154
  /**
144
155
  * > [!NOTE]
145
156
  * >
@@ -148,7 +159,7 @@ export interface VerifyFaceToFace {
148
159
  * > * For the scenarios that are sensitive to accuracy please make your own judgment.
149
160
  * > * The 'recognitionModel' associated with the query face should be the same as the 'recognitionModel' used by the Large Person Group.
150
161
  */
151
- post(options?: VerifyFromLargePersonGroupParameters): StreamableMethod<VerifyFromLargePersonGroup200Response | VerifyFromLargePersonGroupDefaultResponse>;
162
+ post(options: VerifyFromLargePersonGroupParameters): StreamableMethod<VerifyFromLargePersonGroup200Response | VerifyFromLargePersonGroupDefaultResponse>;
152
163
  /**
153
164
  * > [!NOTE]
154
165
  * >
@@ -157,7 +168,7 @@ export interface VerifyFaceToFace {
157
168
  * > * For the scenarios that are sensitive to accuracy please make your own judgment.
158
169
  * > * The Verify operation can only match faces obtained with the same recognition model, that is associated with the query face.
159
170
  */
160
- post(options?: VerifyFromPersonDirectoryParameters): StreamableMethod<VerifyFromPersonDirectory200Response | VerifyFromPersonDirectoryDefaultResponse>;
171
+ post(options: VerifyFromPersonDirectoryParameters): StreamableMethod<VerifyFromPersonDirectory200Response | VerifyFromPersonDirectoryDefaultResponse>;
161
172
  }
162
173
  export interface Group {
163
174
  /**
@@ -168,102 +179,7 @@ export interface Group {
168
179
  * * Group API needs at least 2 candidate faces and 1000 at most. We suggest to try "Verify Face To Face" when you only have 2 candidate faces.
169
180
  * * The 'recognitionModel' associated with the query faces' faceIds should be the same.
170
181
  */
171
- post(options?: GroupParameters): StreamableMethod<Group200Response | GroupDefaultResponse>;
172
- }
173
- export interface CreateLivenessSession {
174
- /**
175
- * A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired.
176
- *
177
- * Permissions includes...
178
- * >
179
- * *
180
- * * Ability to call /detectLiveness/singleModal for up to 3 retries.
181
- * * A token lifetime of 10 minutes.
182
- *
183
- * > [!NOTE]
184
- * > Client access can be revoked by deleting the session using the Delete Liveness Session operation. To retrieve a result, use the Get Liveness Session. To audit the individual requests that a client has made to your resource, use the List Liveness Session Audit Entries.
185
- */
186
- post(options?: CreateLivenessSessionParameters): StreamableMethod<CreateLivenessSession200Response | CreateLivenessSessionDefaultResponse>;
187
- /**
188
- * List sessions from the last sessionId greater than the 'start'.
189
- *
190
- * The result should be ordered by sessionId in ascending order.
191
- */
192
- get(options?: GetLivenessSessionsParameters): StreamableMethod<GetLivenessSessions200Response | GetLivenessSessionsDefaultResponse>;
193
- }
194
- export interface DeleteLivenessSession {
195
- /**
196
- * > [!NOTE]
197
- * > Deleting a session deactivates the Session Auth Token by blocking future API calls made with that Auth Token. While this can be used to remove any access for that token, those requests will still count towards overall resource rate limits. It's best to leverage TokenTTL to limit length of tokens in the case that it is misused.
198
- */
199
- delete(options?: DeleteLivenessSessionParameters): StreamableMethod<DeleteLivenessSession200Response | DeleteLivenessSessionDefaultResponse>;
200
- /** Get session result of detectLiveness/singleModal call. */
201
- get(options?: GetLivenessSessionResultParameters): StreamableMethod<GetLivenessSessionResult200Response | GetLivenessSessionResultDefaultResponse>;
202
- }
203
- export interface GetLivenessSessionAuditEntries {
204
- /** Gets session requests and response body for the session. */
205
- get(options?: GetLivenessSessionAuditEntriesParameters): StreamableMethod<GetLivenessSessionAuditEntries200Response | GetLivenessSessionAuditEntriesDefaultResponse>;
206
- }
207
- export interface CreateLivenessWithVerifySessionWithVerifyImage {
208
- /**
209
- * A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired.
210
- *
211
- * Permissions includes...
212
- * >
213
- * *
214
- * * Ability to call /detectLivenessWithVerify/singleModal for up to 3 retries.
215
- * * A token lifetime of 10 minutes.
216
- *
217
- * > [!NOTE]
218
- * >
219
- * > *
220
- * > * Client access can be revoked by deleting the session using the Delete Liveness With Verify Session operation.
221
- * > * To retrieve a result, use the Get Liveness With Verify Session.
222
- * > * To audit the individual requests that a client has made to your resource, use the List Liveness With Verify Session Audit Entries.
223
- *
224
- * Recommended Option: VerifyImage is provided during session creation.
225
- */
226
- post(options: CreateLivenessWithVerifySessionWithVerifyImageParameters): StreamableMethod<CreateLivenessWithVerifySessionWithVerifyImage200Response | CreateLivenessWithVerifySessionWithVerifyImageDefaultResponse>;
227
- /**
228
- * A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired.
229
- *
230
- * Permissions includes...
231
- * >
232
- * *
233
- * * Ability to call /detectLivenessWithVerify/singleModal for up to 3 retries.
234
- * * A token lifetime of 10 minutes.
235
- *
236
- * > [!NOTE]
237
- * >
238
- * > *
239
- * > * Client access can be revoked by deleting the session using the Delete Liveness With Verify Session operation.
240
- * > * To retrieve a result, use the Get Liveness With Verify Session.
241
- * > * To audit the individual requests that a client has made to your resource, use the List Liveness With Verify Session Audit Entries.
242
- *
243
- * Alternative Option: Client device submits VerifyImage during the /detectLivenessWithVerify/singleModal call.
244
- * > [!NOTE]
245
- * > Extra measures should be taken to validate that the client is sending the expected VerifyImage.
246
- */
247
- post(options?: CreateLivenessWithVerifySessionParameters): StreamableMethod<CreateLivenessWithVerifySession200Response | CreateLivenessWithVerifySessionDefaultResponse>;
248
- /**
249
- * List sessions from the last sessionId greater than the "start".
250
- *
251
- * The result should be ordered by sessionId in ascending order.
252
- */
253
- get(options?: GetLivenessWithVerifySessionsParameters): StreamableMethod<GetLivenessWithVerifySessions200Response | GetLivenessWithVerifySessionsDefaultResponse>;
254
- }
255
- export interface DeleteLivenessWithVerifySession {
256
- /**
257
- * > [!NOTE]
258
- * > Deleting a session deactivates the Session Auth Token by blocking future API calls made with that Auth Token. While this can be used to remove any access for that token, those requests will still count towards overall resource rate limits. It's best to leverage TokenTTL to limit length of tokens in the case that it is misused.
259
- */
260
- delete(options?: DeleteLivenessWithVerifySessionParameters): StreamableMethod<DeleteLivenessWithVerifySession200Response | DeleteLivenessWithVerifySessionDefaultResponse>;
261
- /** Get session result of detectLivenessWithVerify/singleModal call. */
262
- get(options?: GetLivenessWithVerifySessionResultParameters): StreamableMethod<GetLivenessWithVerifySessionResult200Response | GetLivenessWithVerifySessionResultDefaultResponse>;
263
- }
264
- export interface GetLivenessWithVerifySessionAuditEntries {
265
- /** Gets session requests and response body for the session. */
266
- get(options?: GetLivenessWithVerifySessionAuditEntriesParameters): StreamableMethod<GetLivenessWithVerifySessionAuditEntries200Response | GetLivenessWithVerifySessionAuditEntriesDefaultResponse>;
182
+ post(options: GroupParameters): StreamableMethod<Group200Response | GroupDefaultResponse>;
267
183
  }
268
184
  export interface CreateFaceList {
269
185
  /**
@@ -277,13 +193,13 @@ export interface CreateFaceList {
277
193
  *
278
194
  * Please consider Large Face List when the face number is large. It can support up to 1,000,000 faces.
279
195
  */
280
- put(options?: CreateFaceListParameters): StreamableMethod<CreateFaceList200Response | CreateFaceListDefaultResponse>;
196
+ put(options: CreateFaceListParameters): StreamableMethod<CreateFaceList200Response | CreateFaceListDefaultResponse>;
281
197
  /** Delete a specified Face List. */
282
198
  delete(options?: DeleteFaceListParameters): StreamableMethod<DeleteFaceList200Response | DeleteFaceListDefaultResponse>;
283
199
  /** Retrieve a Face List's faceListId, name, userData, recognitionModel and faces in the Face List. */
284
200
  get(options?: GetFaceListParameters): StreamableMethod<GetFaceList200Response | GetFaceListDefaultResponse>;
285
201
  /** Update information of a Face List, including name and userData. */
286
- patch(options?: UpdateFaceListParameters): StreamableMethod<UpdateFaceList200Response | UpdateFaceListDefaultResponse>;
202
+ patch(options: UpdateFaceListParameters): StreamableMethod<UpdateFaceList200Response | UpdateFaceListDefaultResponse>;
287
203
  }
288
204
  export interface GetFaceLists {
289
205
  /**
@@ -298,30 +214,30 @@ export interface AddFaceListFaceFromUrl {
298
214
  * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Face List Face" or "Delete Face List" is called.
299
215
  *
300
216
  * Note that persistedFaceId is different from faceId generated by "Detect".
217
+ *
301
218
  * >
302
219
  * *
303
220
  * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
304
- * * Each person entry can hold up to 248 faces.
305
221
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
306
222
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
307
223
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
308
224
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
309
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
225
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
310
226
  */
311
- post(options?: AddFaceListFaceFromUrlParameters): StreamableMethod<AddFaceListFaceFromUrl200Response | AddFaceListFaceFromUrlDefaultResponse>;
227
+ post(options: AddFaceListFaceFromUrlParameters): StreamableMethod<AddFaceListFaceFromUrl200Response | AddFaceListFaceFromUrlDefaultResponse>;
312
228
  /**
313
229
  * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Face List Face" or "Delete Face List" is called.
314
230
  *
315
231
  * Note that persistedFaceId is different from faceId generated by "Detect".
232
+ *
316
233
  * >
317
234
  * *
318
235
  * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
319
- * * Each person entry can hold up to 248 faces.
320
236
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
321
237
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
322
238
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
323
239
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
324
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
240
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
325
241
  */
326
242
  post(options: AddFaceListFaceParameters): StreamableMethod<AddFaceListFace200Response | AddFaceListFaceDefaultResponse>;
327
243
  }
@@ -343,13 +259,13 @@ export interface CreateLargeFaceList {
343
259
  * > * Free-tier subscription quota: 64 Large Face Lists.
344
260
  * > * S0-tier subscription quota: 1,000,000 Large Face Lists.
345
261
  */
346
- put(options?: CreateLargeFaceListParameters): StreamableMethod<CreateLargeFaceList200Response | CreateLargeFaceListDefaultResponse>;
262
+ put(options: CreateLargeFaceListParameters): StreamableMethod<CreateLargeFaceList200Response | CreateLargeFaceListDefaultResponse>;
347
263
  /** Adding/deleting faces to/from a same Large Face List are processed sequentially and to/from different Large Face Lists are in parallel. */
348
264
  delete(options?: DeleteLargeFaceListParameters): StreamableMethod<DeleteLargeFaceList200Response | DeleteLargeFaceListDefaultResponse>;
349
265
  /** Retrieve a Large Face List's largeFaceListId, name, userData and recognitionModel. */
350
266
  get(options?: GetLargeFaceListParameters): StreamableMethod<GetLargeFaceList200Response | GetLargeFaceListDefaultResponse>;
351
267
  /** Update information of a Large Face List, including name and userData. */
352
- patch(options?: UpdateLargeFaceListParameters): StreamableMethod<UpdateLargeFaceList200Response | UpdateLargeFaceListDefaultResponse>;
268
+ patch(options: UpdateLargeFaceListParameters): StreamableMethod<UpdateLargeFaceList200Response | UpdateLargeFaceListDefaultResponse>;
353
269
  }
354
270
  export interface GetLargeFaceLists {
355
271
  /**
@@ -391,15 +307,15 @@ export interface AddLargeFaceListFaceFromUrl {
391
307
  * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Large Face List Face" or "Delete Large Face List" is called.
392
308
  *
393
309
  * Note that persistedFaceId is different from faceId generated by "Detect".
310
+ *
394
311
  * >
395
312
  * *
396
313
  * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
397
- * * Each person entry can hold up to 248 faces.
398
314
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
399
315
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
400
316
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
401
317
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
402
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
318
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
403
319
  *
404
320
  * > [!NOTE]
405
321
  * >
@@ -407,20 +323,20 @@ export interface AddLargeFaceListFaceFromUrl {
407
323
  * > * Free-tier subscription quota: 1,000 faces per Large Face List.
408
324
  * > * S0-tier subscription quota: 1,000,000 faces per Large Face List.
409
325
  */
410
- post(options?: AddLargeFaceListFaceFromUrlParameters): StreamableMethod<AddLargeFaceListFaceFromUrl200Response | AddLargeFaceListFaceFromUrlDefaultResponse>;
326
+ post(options: AddLargeFaceListFaceFromUrlParameters): StreamableMethod<AddLargeFaceListFaceFromUrl200Response | AddLargeFaceListFaceFromUrlDefaultResponse>;
411
327
  /**
412
328
  * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Large Face List Face" or "Delete Large Face List" is called.
413
329
  *
414
330
  * Note that persistedFaceId is different from faceId generated by "Detect".
331
+ *
415
332
  * >
416
333
  * *
417
334
  * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
418
- * * Each person entry can hold up to 248 faces.
419
335
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
420
336
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
421
337
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
422
338
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
423
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
339
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
424
340
  *
425
341
  * > [!NOTE]
426
342
  * >
@@ -451,13 +367,36 @@ export interface DeleteLargeFaceListFace {
451
367
  /** Retrieve persisted face in Large Face List by largeFaceListId and persistedFaceId. */
452
368
  get(options?: GetLargeFaceListFaceParameters): StreamableMethod<GetLargeFaceListFace200Response | GetLargeFaceListFaceDefaultResponse>;
453
369
  /** Update a specified face's userData field in a Large Face List by its persistedFaceId. */
454
- patch(options?: UpdateLargeFaceListFaceParameters): StreamableMethod<UpdateLargeFaceListFace200Response | UpdateLargeFaceListFaceDefaultResponse>;
370
+ patch(options: UpdateLargeFaceListFaceParameters): StreamableMethod<UpdateLargeFaceListFace200Response | UpdateLargeFaceListFaceDefaultResponse>;
455
371
  }
456
- export interface CreatePerson {
457
- /** Creates a new person in a Person Directory. To add face to this person, please call Person Directory "Add Person Face". */
458
- post(options?: CreatePersonParameters): StreamableMethod<CreatePerson202Response | CreatePersonDefaultResponse>;
372
+ export interface CreatePersonGroup {
459
373
  /**
460
- * Persons are stored in alphabetical order of personId created in Person Directory "Create Person".
374
+ * A Person Group is a container holding the uploaded person data, including face recognition features.
375
+ *
376
+ * After creation, use "Create Person Group Person" to add persons into the group, and then call "Train Person Group" to get this group ready for "Identify From Person Group".
377
+ *
378
+ * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until "Delete Person Group Person" or "Delete Person Group" is called.
379
+ *
380
+ * 'recognitionModel' should be specified to associate with this Person Group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing Person Group will use the recognition model that's already associated with the collection. Existing face feature(s) in a Person Group can't be updated to features extracted by another version of recognition model.
381
+ *
382
+ * > [!NOTE]
383
+ * >
384
+ * > *
385
+ * > * Free-tier subscription quota: 1,000 Person Groups. Each holds up to 1,000 persons.
386
+ * > * S0-tier subscription quota: 1,000,000 Person Groups. Each holds up to 10,000 persons.
387
+ * > * to handle larger scale face identification problem, please consider using Large Person Group.
388
+ */
389
+ put(options: CreatePersonGroupParameters): StreamableMethod<CreatePersonGroup200Response | CreatePersonGroupDefaultResponse>;
390
+ /** Delete an existing Person Group with specified personGroupId. Persisted data in this Person Group will be deleted. */
391
+ delete(options?: DeletePersonGroupParameters): StreamableMethod<DeletePersonGroup200Response | DeletePersonGroupDefaultResponse>;
392
+ /** Retrieve Person Group name, userData and recognitionModel. To get person information under this personGroup, use "Get Person Group Persons". */
393
+ get(options?: GetPersonGroupParameters): StreamableMethod<GetPersonGroup200Response | GetPersonGroupDefaultResponse>;
394
+ /** Update an existing Person Group's name and userData. The properties keep unchanged if they are not in request body. */
395
+ patch(options: UpdatePersonGroupParameters): StreamableMethod<UpdatePersonGroup200Response | UpdatePersonGroupDefaultResponse>;
396
+ }
397
+ export interface GetPersonGroups {
398
+ /**
399
+ * Person Groups are stored in alphabetical order of personGroupId.
461
400
  * >
462
401
  * *
463
402
  * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
@@ -470,19 +409,31 @@ export interface CreatePerson {
470
409
  * > * "start=&top=2" will return "itemId1", "itemId2".
471
410
  * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
472
411
  */
473
- get(options?: GetPersonsParameters): StreamableMethod<GetPersons200Response | GetPersonsDefaultResponse>;
412
+ get(options?: GetPersonGroupsParameters): StreamableMethod<GetPersonGroups200Response | GetPersonGroupsDefaultResponse>;
474
413
  }
475
- export interface DeletePerson {
476
- /** Delete an existing person from Person Directory. The persistedFaceId(s), userData, person name and face feature(s) in the person entry will all be deleted. */
477
- delete(options?: DeletePersonParameters): StreamableMethod<DeletePerson202Response | DeletePersonDefaultResponse>;
478
- /** Retrieve a person's name and userData from Person Directory. */
479
- get(options?: GetPersonParameters): StreamableMethod<GetPerson200Response | GetPersonDefaultResponse>;
480
- /** Update name or userData of a person. */
481
- patch(options?: UpdatePersonParameters): StreamableMethod<UpdatePerson200Response | UpdatePersonDefaultResponse>;
414
+ export interface GetPersonGroupTrainingStatus {
415
+ /** To check Person Group training status completed or still ongoing. Person Group training is an asynchronous operation triggered by "Train Person Group" API. */
416
+ get(options?: GetPersonGroupTrainingStatusParameters): StreamableMethod<GetPersonGroupTrainingStatus200Response | GetPersonGroupTrainingStatusDefaultResponse>;
482
417
  }
483
- export interface GetDynamicPersonGroupReferences {
418
+ export interface TrainPersonGroup {
419
+ /** The training task is an asynchronous task. Training time depends on the number of person entries, and their faces in a Person Group. It could be several seconds to minutes. To check training status, please use "Get Person Group Training Status". */
420
+ post(options?: TrainPersonGroupParameters): StreamableMethod<TrainPersonGroup202Response | TrainPersonGroupDefaultResponse>;
421
+ }
422
+ export interface CreatePersonGroupPerson {
484
423
  /**
485
- * Dynamic Person Groups are stored in alphabetical order of Dynamic Person Group ID created in Person Directory "Create Dynamic Person Group".
424
+ * > [!NOTE]
425
+ * >
426
+ * > *
427
+ * > * Free-tier subscription quota:
428
+ * > * 1,000 persons in all Person Groups.
429
+ * > * S0-tier subscription quota:
430
+ * > * 10,000 persons per Person Group.
431
+ * > * 1,000,000 Person Groups.
432
+ * > * 100,000,000 persons in all Person Groups.
433
+ */
434
+ post(options: CreatePersonGroupPersonParameters): StreamableMethod<CreatePersonGroupPerson200Response | CreatePersonGroupPersonDefaultResponse>;
435
+ /**
436
+ * Persons are stored in alphabetical order of personId created in "Create Person Group Person".
486
437
  * >
487
438
  * *
488
439
  * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
@@ -495,89 +446,85 @@ export interface GetDynamicPersonGroupReferences {
495
446
  * > * "start=&top=2" will return "itemId1", "itemId2".
496
447
  * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
497
448
  */
498
- get(options?: GetDynamicPersonGroupReferencesParameters): StreamableMethod<GetDynamicPersonGroupReferences200Response | GetDynamicPersonGroupReferencesDefaultResponse>;
449
+ get(options?: GetPersonGroupPersonsParameters): StreamableMethod<GetPersonGroupPersons200Response | GetPersonGroupPersonsDefaultResponse>;
499
450
  }
500
- export interface AddPersonFace {
451
+ export interface DeletePersonGroupPerson {
452
+ /** Delete an existing person from a Person Group. The persistedFaceId, userData, person name and face feature(s) in the person entry will all be deleted. */
453
+ delete(options?: DeletePersonGroupPersonParameters): StreamableMethod<DeletePersonGroupPerson200Response | DeletePersonGroupPersonDefaultResponse>;
454
+ /** Retrieve a person's name and userData, and the persisted faceIds representing the registered person face feature(s). */
455
+ get(options?: GetPersonGroupPersonParameters): StreamableMethod<GetPersonGroupPerson200Response | GetPersonGroupPersonDefaultResponse>;
456
+ /** Update name or userData of a person. */
457
+ patch(options: UpdatePersonGroupPersonParameters): StreamableMethod<UpdatePersonGroupPerson200Response | UpdatePersonGroupPersonDefaultResponse>;
458
+ }
459
+ export interface AddPersonGroupPersonFaceFromUrl {
501
460
  /**
502
- * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory "Delete Person Face" or "Delete Person" is called.
461
+ * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Person Group Person Face", "Delete Person Group Person" or "Delete Person Group" is called.
503
462
  *
504
463
  * Note that persistedFaceId is different from faceId generated by "Detect".
464
+ *
505
465
  * >
506
466
  * *
507
- * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
508
467
  * * Each person entry can hold up to 248 faces.
468
+ * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
509
469
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
510
470
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
511
471
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
512
472
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
513
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
514
- * *
515
- * * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.
516
- * * This is a long running operation. Use Response Header "Operation-Location" to determine when the AddFace operation has successfully propagated for future requests to "Identify". For further information about Operation-Locations see "Get Face Operation Status".
473
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
517
474
  */
518
- post(options: AddPersonFaceParameters): StreamableMethod<AddPersonFace202Response | AddPersonFaceDefaultResponse>;
475
+ post(options: AddPersonGroupPersonFaceFromUrlParameters): StreamableMethod<AddPersonGroupPersonFaceFromUrl200Response | AddPersonGroupPersonFaceFromUrlDefaultResponse>;
519
476
  /**
520
- * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory "Delete Person Face" or "Delete Person" is called.
477
+ * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Person Group Person Face", "Delete Person Group Person" or "Delete Person Group" is called.
521
478
  *
522
479
  * Note that persistedFaceId is different from faceId generated by "Detect".
480
+ *
523
481
  * >
524
482
  * *
525
- * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
526
483
  * * Each person entry can hold up to 248 faces.
484
+ * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
527
485
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
528
486
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
529
487
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
530
488
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
531
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
532
- * *
533
- * * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.
534
- * * This is a long running operation. Use Response Header "Operation-Location" to determine when the AddFace operation has successfully propagated for future requests to "Identify". For further information about Operation-Locations see "Get Face Operation Status".
489
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
535
490
  */
536
- post(options?: AddPersonFaceFromUrlParameters): StreamableMethod<AddPersonFaceFromUrl202Response | AddPersonFaceFromUrlDefaultResponse>;
537
- /** Retrieve a person's persistedFaceIds representing the registered person face feature(s). */
538
- get(options?: GetPersonFacesParameters): StreamableMethod<GetPersonFaces200Response | GetPersonFacesDefaultResponse>;
491
+ post(options: AddPersonGroupPersonFaceParameters): StreamableMethod<AddPersonGroupPersonFace200Response | AddPersonGroupPersonFaceDefaultResponse>;
539
492
  }
540
- export interface DeletePersonFace {
493
+ export interface DeletePersonGroupPersonFace {
541
494
  /** Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel. */
542
- delete(options?: DeletePersonFaceParameters): StreamableMethod<DeletePersonFace202Response | DeletePersonFaceDefaultResponse>;
543
- /** Retrieve person face information. The persisted person face is specified by its personId. recognitionModel, and persistedFaceId. */
544
- get(options?: GetPersonFaceParameters): StreamableMethod<GetPersonFace200Response | GetPersonFaceDefaultResponse>;
545
- /** Update a persisted face's userData field of a person. */
546
- patch(options?: UpdatePersonFaceParameters): StreamableMethod<UpdatePersonFace200Response | UpdatePersonFaceDefaultResponse>;
495
+ delete(options?: DeletePersonGroupPersonFaceParameters): StreamableMethod<DeletePersonGroupPersonFace200Response | DeletePersonGroupPersonFaceDefaultResponse>;
496
+ /** Retrieve person face information. The persisted person face is specified by its personGroupId, personId and persistedFaceId. */
497
+ get(options?: GetPersonGroupPersonFaceParameters): StreamableMethod<GetPersonGroupPersonFace200Response | GetPersonGroupPersonFaceDefaultResponse>;
498
+ /** Update a person persisted face's userData field. */
499
+ patch(options: UpdatePersonGroupPersonFaceParameters): StreamableMethod<UpdatePersonGroupPersonFace200Response | UpdatePersonGroupPersonFaceDefaultResponse>;
547
500
  }
548
- export interface CreateDynamicPersonGroupWithPerson {
501
+ export interface CreateLargePersonGroup {
549
502
  /**
550
- * A Dynamic Person Group is a container that references Person Directory "Create Person". After creation, use Person Directory "Update Dynamic Person Group" to add/remove persons to/from the Dynamic Person Group.
551
- *
552
- * Dynamic Person Group and user data will be stored on server until Person Directory "Delete Dynamic Person Group" is called. Use "Identify From Dynamic Person Group" with the dynamicPersonGroupId parameter to identify against persons.
553
- *
554
- * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until Person Directory "Delete Person" or "Delete Person Face" is called.
503
+ * A Large Person Group is a container holding the uploaded person data, including the face recognition features. It can hold up to 1,000,000 entities.
555
504
  *
556
- * 'recognitionModel' does not need to be specified with Dynamic Person Groups. Dynamic Person Groups are references to Person Directory "Create Person" and therefore work with most all 'recognitionModels'. The faceId's provided during "Identify" determine the 'recognitionModel' used.
557
- */
558
- put(options?: CreateDynamicPersonGroupWithPersonParameters): StreamableMethod<CreateDynamicPersonGroupWithPerson202Response | CreateDynamicPersonGroupWithPersonDefaultResponse>;
559
- /**
560
- * A Dynamic Person Group is a container that references Person Directory "Create Person". After creation, use Person Directory "Update Dynamic Person Group" to add/remove persons to/from the Dynamic Person Group.
505
+ * After creation, use "Create Large Person Group Person" to add person into the group, and call "Train Large Person Group" to get this group ready for "Identify From Large Person Group".
561
506
  *
562
- * Dynamic Person Group and user data will be stored on server until Person Directory "Delete Dynamic Person Group" is called. Use "Identify From Dynamic Person Group" with the dynamicPersonGroupId parameter to identify against persons.
507
+ * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until "Delete Large Person Group Person" or "Delete Large Person Group" is called.
563
508
  *
564
- * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until Person Directory "Delete Person" or "Delete Person Face" is called.
509
+ * 'recognitionModel' should be specified to associate with this Large Person Group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing Large Person Group will use the recognition model that's already associated with the collection. Existing face feature(s) in a Large Person Group can't be updated to features extracted by another version of recognition model.
565
510
  *
566
- * 'recognitionModel' does not need to be specified with Dynamic Person Groups. Dynamic Person Groups are references to Person Directory "Create Person" and therefore work with most all 'recognitionModels'. The faceId's provided during "Identify" determine the 'recognitionModel' used.
511
+ * > [!NOTE]
512
+ * >
513
+ * > *
514
+ * > * Free-tier subscription quota: 1,000 Large Person Groups.
515
+ * > * S0-tier subscription quota: 1,000,000 Large Person Groups.
567
516
  */
568
- put(options?: CreateDynamicPersonGroupParameters): StreamableMethod<CreateDynamicPersonGroup200Response | CreateDynamicPersonGroupDefaultResponse>;
569
- /** Deleting this Dynamic Person Group only delete the references to persons data. To delete actual person see Person Directory "Delete Person". */
570
- delete(options?: DeleteDynamicPersonGroupParameters): StreamableMethod<DeleteDynamicPersonGroup202Response | DeleteDynamicPersonGroupDefaultResponse>;
571
- /** This API returns Dynamic Person Group information only, use Person Directory "Get Dynamic Person Group Persons" instead to retrieve person information under the Dynamic Person Group. */
572
- get(options?: GetDynamicPersonGroupParameters): StreamableMethod<GetDynamicPersonGroup200Response | GetDynamicPersonGroupDefaultResponse>;
573
- /** The properties keep unchanged if they are not in request body. */
574
- patch(options?: UpdateDynamicPersonGroupWithPersonChangesParameters): StreamableMethod<UpdateDynamicPersonGroupWithPersonChanges202Response | UpdateDynamicPersonGroupWithPersonChangesDefaultResponse>;
575
- /** The properties keep unchanged if they are not in request body. */
576
- patch(options?: UpdateDynamicPersonGroupParameters): StreamableMethod<UpdateDynamicPersonGroup200Response | UpdateDynamicPersonGroupDefaultResponse>;
517
+ put(options: CreateLargePersonGroupParameters): StreamableMethod<CreateLargePersonGroup200Response | CreateLargePersonGroupDefaultResponse>;
518
+ /** Delete an existing Large Person Group with specified personGroupId. Persisted data in this Large Person Group will be deleted. */
519
+ delete(options?: DeleteLargePersonGroupParameters): StreamableMethod<DeleteLargePersonGroup200Response | DeleteLargePersonGroupDefaultResponse>;
520
+ /** Retrieve the information of a Large Person Group, including its name, userData and recognitionModel. This API returns Large Person Group information only, use "Get Large Person Group Persons" instead to retrieve person information under the Large Person Group. */
521
+ get(options?: GetLargePersonGroupParameters): StreamableMethod<GetLargePersonGroup200Response | GetLargePersonGroupDefaultResponse>;
522
+ /** Update an existing Large Person Group's name and userData. The properties keep unchanged if they are not in request body. */
523
+ patch(options: UpdateLargePersonGroupParameters): StreamableMethod<UpdateLargePersonGroup200Response | UpdateLargePersonGroupDefaultResponse>;
577
524
  }
578
- export interface GetDynamicPersonGroups {
525
+ export interface GetLargePersonGroups {
579
526
  /**
580
- * Dynamic Person Groups are stored in alphabetical order of dynamicPersonGroupId.
527
+ * Large Person Groups are stored in alphabetical order of largePersonGroupId.
581
528
  * >
582
529
  * *
583
530
  * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
@@ -590,90 +537,31 @@ export interface GetDynamicPersonGroups {
590
537
  * > * "start=&top=2" will return "itemId1", "itemId2".
591
538
  * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
592
539
  */
593
- get(options?: GetDynamicPersonGroupsParameters): StreamableMethod<GetDynamicPersonGroups200Response | GetDynamicPersonGroupsDefaultResponse>;
540
+ get(options?: GetLargePersonGroupsParameters): StreamableMethod<GetLargePersonGroups200Response | GetLargePersonGroupsDefaultResponse>;
594
541
  }
595
- export interface GetDynamicPersonGroupPersons {
596
- /**
597
- * Persons are stored in alphabetical order of personId created in Person Directory "Create Person".
598
- * >
599
- * *
600
- * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
601
- * * "top" parameter (int, optional) determines the maximum number of entries to be returned, with a limit of up to 1000 entries per call. To retrieve additional entries beyond this limit, specify "start" with the personId of the last entry returned in the current call.
602
- *
603
- * > [!TIP]
604
- * >
605
- * > * For example, there are total 5 items with their IDs: "itemId1", ..., "itemId5".
606
- * > * "start=&top=" will return all 5 items.
607
- * > * "start=&top=2" will return "itemId1", "itemId2".
608
- * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
609
- */
610
- get(options?: GetDynamicPersonGroupPersonsParameters): StreamableMethod<GetDynamicPersonGroupPersons200Response | GetDynamicPersonGroupPersonsDefaultResponse>;
611
- }
612
- export interface CreatePersonGroup {
613
- /**
614
- * A Person Group is a container holding the uploaded person data, including face recognition features.
615
- *
616
- * After creation, use "Create Person Group Person" to add persons into the group, and then call "Train Person Group" to get this group ready for "Identify From Person Group".
617
- *
618
- * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until "Delete Person Group Person" or "Delete Person Group" is called.
619
- *
620
- * 'recognitionModel' should be specified to associate with this Person Group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing Person Group will use the recognition model that's already associated with the collection. Existing face feature(s) in a Person Group can't be updated to features extracted by another version of recognition model.
621
- *
622
- * > [!NOTE]
623
- * >
624
- * > *
625
- * > * Free-tier subscription quota: 1,000 Person Groups. Each holds up to 1,000 persons.
626
- * > * S0-tier subscription quota: 1,000,000 Person Groups. Each holds up to 10,000 persons.
627
- * > * to handle larger scale face identification problem, please consider using Large Person Group.
628
- */
629
- put(options?: CreatePersonGroupParameters): StreamableMethod<CreatePersonGroup200Response | CreatePersonGroupDefaultResponse>;
630
- /** Delete an existing Person Group with specified personGroupId. Persisted data in this Person Group will be deleted. */
631
- delete(options?: DeletePersonGroupParameters): StreamableMethod<DeletePersonGroup200Response | DeletePersonGroupDefaultResponse>;
632
- /** Retrieve Person Group name, userData and recognitionModel. To get person information under this personGroup, use "Get Person Group Persons". */
633
- get(options?: GetPersonGroupParameters): StreamableMethod<GetPersonGroup200Response | GetPersonGroupDefaultResponse>;
634
- /** Update an existing Person Group's name and userData. The properties keep unchanged if they are not in request body. */
635
- patch(options?: UpdatePersonGroupParameters): StreamableMethod<UpdatePersonGroup200Response | UpdatePersonGroupDefaultResponse>;
636
- }
637
- export interface GetPersonGroups {
638
- /**
639
- * Person Groups are stored in alphabetical order of personGroupId.
640
- * >
641
- * *
642
- * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
643
- * * "top" parameter (int, optional) determines the maximum number of entries to be returned, with a limit of up to 1000 entries per call. To retrieve additional entries beyond this limit, specify "start" with the personId of the last entry returned in the current call.
644
- *
645
- * > [!TIP]
646
- * >
647
- * > * For example, there are total 5 items with their IDs: "itemId1", ..., "itemId5".
648
- * > * "start=&top=" will return all 5 items.
649
- * > * "start=&top=2" will return "itemId1", "itemId2".
650
- * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
651
- */
652
- get(options?: GetPersonGroupsParameters): StreamableMethod<GetPersonGroups200Response | GetPersonGroupsDefaultResponse>;
653
- }
654
- export interface GetPersonGroupTrainingStatus {
655
- /** To check Person Group training status completed or still ongoing. Person Group training is an asynchronous operation triggered by "Train Person Group" API. */
656
- get(options?: GetPersonGroupTrainingStatusParameters): StreamableMethod<GetPersonGroupTrainingStatus200Response | GetPersonGroupTrainingStatusDefaultResponse>;
542
+ export interface GetLargePersonGroupTrainingStatus {
543
+ /** Training time depends on the number of person entries, and their faces in a Large Person Group. It could be in seconds, or up to half an hour for 1,000,000 persons. */
544
+ get(options?: GetLargePersonGroupTrainingStatusParameters): StreamableMethod<GetLargePersonGroupTrainingStatus200Response | GetLargePersonGroupTrainingStatusDefaultResponse>;
657
545
  }
658
- export interface TrainPersonGroup {
659
- /** The training task is an asynchronous task. Training time depends on the number of person entries, and their faces in a Person Group. It could be several seconds to minutes. To check training status, please use "Get Person Group Training Status". */
660
- post(options?: TrainPersonGroupParameters): StreamableMethod<TrainPersonGroup202Response | TrainPersonGroupDefaultResponse>;
546
+ export interface TrainLargePersonGroup {
547
+ /** The training task is an asynchronous task. Training time depends on the number of person entries, and their faces in a Large Person Group. It could be in several seconds, or up to half a hour for 1,000,000 persons. To check training status, please use "Get Large Person Group Training Status". */
548
+ post(options?: TrainLargePersonGroupParameters): StreamableMethod<TrainLargePersonGroup202Response | TrainLargePersonGroupDefaultResponse>;
661
549
  }
662
- export interface CreatePersonGroupPerson {
550
+ export interface CreateLargePersonGroupPerson {
663
551
  /**
664
552
  * > [!NOTE]
665
553
  * >
666
554
  * > *
667
555
  * > * Free-tier subscription quota:
668
- * > * 1,000 persons in all Person Groups.
556
+ * > * 1,000 persons in all Large Person Groups.
669
557
  * > * S0-tier subscription quota:
670
- * > * 10,000 persons per Person Group.
671
- * > * 1,000,000 Person Groups.
672
- * > * 100,000,000 persons in all Person Groups.
558
+ * > * 1,000,000 persons per Large Person Group.
559
+ * > * 1,000,000 Large Person Groups.
560
+ * > * 1,000,000,000 persons in all Large Person Groups.
673
561
  */
674
- post(options?: CreatePersonGroupPersonParameters): StreamableMethod<CreatePersonGroupPerson200Response | CreatePersonGroupPersonDefaultResponse>;
562
+ post(options: CreateLargePersonGroupPersonParameters): StreamableMethod<CreateLargePersonGroupPerson200Response | CreateLargePersonGroupPersonDefaultResponse>;
675
563
  /**
676
- * Persons are stored in alphabetical order of personId created in "Create Person Group Person".
564
+ * Persons are stored in alphabetical order of personId created in "Create Large Person Group Person".
677
565
  * >
678
566
  * *
679
567
  * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
@@ -686,83 +574,162 @@ export interface CreatePersonGroupPerson {
686
574
  * > * "start=&top=2" will return "itemId1", "itemId2".
687
575
  * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
688
576
  */
689
- get(options?: GetPersonGroupPersonsParameters): StreamableMethod<GetPersonGroupPersons200Response | GetPersonGroupPersonsDefaultResponse>;
577
+ get(options?: GetLargePersonGroupPersonsParameters): StreamableMethod<GetLargePersonGroupPersons200Response | GetLargePersonGroupPersonsDefaultResponse>;
690
578
  }
691
- export interface DeletePersonGroupPerson {
692
- /** Delete an existing person from a Person Group. The persistedFaceId, userData, person name and face feature(s) in the person entry will all be deleted. */
693
- delete(options?: DeletePersonGroupPersonParameters): StreamableMethod<DeletePersonGroupPerson200Response | DeletePersonGroupPersonDefaultResponse>;
579
+ export interface DeleteLargePersonGroupPerson {
580
+ /** Delete an existing person from a Large Person Group. The persistedFaceId, userData, person name and face feature(s) in the person entry will all be deleted. */
581
+ delete(options?: DeleteLargePersonGroupPersonParameters): StreamableMethod<DeleteLargePersonGroupPerson200Response | DeleteLargePersonGroupPersonDefaultResponse>;
694
582
  /** Retrieve a person's name and userData, and the persisted faceIds representing the registered person face feature(s). */
695
- get(options?: GetPersonGroupPersonParameters): StreamableMethod<GetPersonGroupPerson200Response | GetPersonGroupPersonDefaultResponse>;
583
+ get(options?: GetLargePersonGroupPersonParameters): StreamableMethod<GetLargePersonGroupPerson200Response | GetLargePersonGroupPersonDefaultResponse>;
696
584
  /** Update name or userData of a person. */
697
- patch(options?: UpdatePersonGroupPersonParameters): StreamableMethod<UpdatePersonGroupPerson200Response | UpdatePersonGroupPersonDefaultResponse>;
585
+ patch(options: UpdateLargePersonGroupPersonParameters): StreamableMethod<UpdateLargePersonGroupPerson200Response | UpdateLargePersonGroupPersonDefaultResponse>;
698
586
  }
699
- export interface AddPersonGroupPersonFaceFromUrl {
587
+ export interface AddLargePersonGroupPersonFaceFromUrl {
700
588
  /**
701
- * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Person Group Person Face", "Delete Person Group Person" or "Delete Person Group" is called.
589
+ * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Large Person Group Person Face", "Delete Large Person Group Person" or "Delete Large Person Group" is called.
702
590
  *
703
591
  * Note that persistedFaceId is different from faceId generated by "Detect".
592
+ *
704
593
  * >
705
594
  * *
706
- * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
707
595
  * * Each person entry can hold up to 248 faces.
596
+ * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
708
597
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
709
598
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
710
599
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
711
600
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
712
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
601
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
713
602
  */
714
- post(options?: AddPersonGroupPersonFaceFromUrlParameters): StreamableMethod<AddPersonGroupPersonFaceFromUrl200Response | AddPersonGroupPersonFaceFromUrlDefaultResponse>;
603
+ post(options: AddLargePersonGroupPersonFaceFromUrlParameters): StreamableMethod<AddLargePersonGroupPersonFaceFromUrl200Response | AddLargePersonGroupPersonFaceFromUrlDefaultResponse>;
715
604
  /**
716
- * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Person Group Person Face", "Delete Person Group Person" or "Delete Person Group" is called.
605
+ * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Large Person Group Person Face", "Delete Large Person Group Person" or "Delete Large Person Group" is called.
717
606
  *
718
607
  * Note that persistedFaceId is different from faceId generated by "Detect".
608
+ *
719
609
  * >
720
610
  * *
721
- * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
722
611
  * * Each person entry can hold up to 248 faces.
612
+ * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
723
613
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
724
614
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
725
615
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
726
616
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
727
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
617
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
728
618
  */
729
- post(options: AddPersonGroupPersonFaceParameters): StreamableMethod<AddPersonGroupPersonFace200Response | AddPersonGroupPersonFaceDefaultResponse>;
619
+ post(options: AddLargePersonGroupPersonFaceParameters): StreamableMethod<AddLargePersonGroupPersonFace200Response | AddLargePersonGroupPersonFaceDefaultResponse>;
730
620
  }
731
- export interface DeletePersonGroupPersonFace {
621
+ export interface DeleteLargePersonGroupPersonFace {
732
622
  /** Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel. */
733
- delete(options?: DeletePersonGroupPersonFaceParameters): StreamableMethod<DeletePersonGroupPersonFace200Response | DeletePersonGroupPersonFaceDefaultResponse>;
734
- /** Retrieve person face information. The persisted person face is specified by its personGroupId, personId and persistedFaceId. */
735
- get(options?: GetPersonGroupPersonFaceParameters): StreamableMethod<GetPersonGroupPersonFace200Response | GetPersonGroupPersonFaceDefaultResponse>;
623
+ delete(options?: DeleteLargePersonGroupPersonFaceParameters): StreamableMethod<DeleteLargePersonGroupPersonFace200Response | DeleteLargePersonGroupPersonFaceDefaultResponse>;
624
+ /** Retrieve person face information. The persisted person face is specified by its largePersonGroupId, personId and persistedFaceId. */
625
+ get(options?: GetLargePersonGroupPersonFaceParameters): StreamableMethod<GetLargePersonGroupPersonFace200Response | GetLargePersonGroupPersonFaceDefaultResponse>;
736
626
  /** Update a person persisted face's userData field. */
737
- patch(options?: UpdatePersonGroupPersonFaceParameters): StreamableMethod<UpdatePersonGroupPersonFace200Response | UpdatePersonGroupPersonFaceDefaultResponse>;
627
+ patch(options: UpdateLargePersonGroupPersonFaceParameters): StreamableMethod<UpdateLargePersonGroupPersonFace200Response | UpdateLargePersonGroupPersonFaceDefaultResponse>;
738
628
  }
739
- export interface CreateLargePersonGroup {
629
+ export interface CreateLivenessSession {
740
630
  /**
741
- * A Large Person Group is a container holding the uploaded person data, including the face recognition features. It can hold up to 1,000,000 entities.
631
+ * A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired.
742
632
  *
743
- * After creation, use "Create Large Person Group Person" to add person into the group, and call "Train Large Person Group" to get this group ready for "Identify From Large Person Group".
633
+ * Permissions includes...
634
+ * >
635
+ * *
636
+ * * Ability to call /detectLiveness/singleModal for up to 3 retries.
637
+ * * A token lifetime of 10 minutes.
744
638
  *
745
- * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until "Delete Large Person Group Person" or "Delete Large Person Group" is called.
639
+ * > [!NOTE]
640
+ * > Client access can be revoked by deleting the session using the Delete Liveness Session operation. To retrieve a result, use the Get Liveness Session. To audit the individual requests that a client has made to your resource, use the List Liveness Session Audit Entries.
641
+ */
642
+ post(options: CreateLivenessSessionParameters): StreamableMethod<CreateLivenessSession200Response | CreateLivenessSessionDefaultResponse>;
643
+ /**
644
+ * List sessions from the last sessionId greater than the 'start'.
746
645
  *
747
- * 'recognitionModel' should be specified to associate with this Large Person Group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing Large Person Group will use the recognition model that's already associated with the collection. Existing face feature(s) in a Large Person Group can't be updated to features extracted by another version of recognition model.
646
+ * The result should be ordered by sessionId in ascending order.
647
+ */
648
+ get(options?: GetLivenessSessionsParameters): StreamableMethod<GetLivenessSessions200Response | GetLivenessSessionsDefaultResponse>;
649
+ }
650
+ export interface DeleteLivenessSession {
651
+ /**
652
+ * > [!NOTE]
653
+ * > Deleting a session deactivates the Session Auth Token by blocking future API calls made with that Auth Token. While this can be used to remove any access for that token, those requests will still count towards overall resource rate limits. It's best to leverage TokenTTL to limit length of tokens in the case that it is misused.
654
+ */
655
+ delete(options?: DeleteLivenessSessionParameters): StreamableMethod<DeleteLivenessSession200Response | DeleteLivenessSessionDefaultResponse>;
656
+ /** Get session result of detectLiveness/singleModal call. */
657
+ get(options?: GetLivenessSessionResultParameters): StreamableMethod<GetLivenessSessionResult200Response | GetLivenessSessionResultDefaultResponse>;
658
+ }
659
+ export interface GetLivenessSessionAuditEntries {
660
+ /** Gets session requests and response body for the session. */
661
+ get(options?: GetLivenessSessionAuditEntriesParameters): StreamableMethod<GetLivenessSessionAuditEntries200Response | GetLivenessSessionAuditEntriesDefaultResponse>;
662
+ }
663
+ export interface CreateLivenessWithVerifySessionWithVerifyImage {
664
+ /**
665
+ * A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired.
666
+ *
667
+ * Permissions includes...
668
+ * >
669
+ * *
670
+ * * Ability to call /detectLivenessWithVerify/singleModal for up to 3 retries.
671
+ * * A token lifetime of 10 minutes.
748
672
  *
749
673
  * > [!NOTE]
750
674
  * >
751
675
  * > *
752
- * > * Free-tier subscription quota: 1,000 Large Person Groups.
753
- * > * S0-tier subscription quota: 1,000,000 Large Person Groups.
676
+ * > * Client access can be revoked by deleting the session using the Delete Liveness With Verify Session operation.
677
+ * > * To retrieve a result, use the Get Liveness With Verify Session.
678
+ * > * To audit the individual requests that a client has made to your resource, use the List Liveness With Verify Session Audit Entries.
679
+ *
680
+ * Recommended Option: VerifyImage is provided during session creation.
754
681
  */
755
- put(options?: CreateLargePersonGroupParameters): StreamableMethod<CreateLargePersonGroup200Response | CreateLargePersonGroupDefaultResponse>;
756
- /** Delete an existing Large Person Group with specified personGroupId. Persisted data in this Large Person Group will be deleted. */
757
- delete(options?: DeleteLargePersonGroupParameters): StreamableMethod<DeleteLargePersonGroup200Response | DeleteLargePersonGroupDefaultResponse>;
758
- /** Retrieve the information of a Large Person Group, including its name, userData and recognitionModel. This API returns Large Person Group information only, use "Get Large Person Group Persons" instead to retrieve person information under the Large Person Group. */
759
- get(options?: GetLargePersonGroupParameters): StreamableMethod<GetLargePersonGroup200Response | GetLargePersonGroupDefaultResponse>;
760
- /** Update an existing Large Person Group's name and userData. The properties keep unchanged if they are not in request body. */
761
- patch(options?: UpdateLargePersonGroupParameters): StreamableMethod<UpdateLargePersonGroup200Response | UpdateLargePersonGroupDefaultResponse>;
682
+ post(options: CreateLivenessWithVerifySessionWithVerifyImageParameters): StreamableMethod<CreateLivenessWithVerifySessionWithVerifyImage200Response | CreateLivenessWithVerifySessionWithVerifyImageDefaultResponse>;
683
+ /**
684
+ * A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired.
685
+ *
686
+ * Permissions includes...
687
+ * >
688
+ * *
689
+ * * Ability to call /detectLivenessWithVerify/singleModal for up to 3 retries.
690
+ * * A token lifetime of 10 minutes.
691
+ *
692
+ * > [!NOTE]
693
+ * >
694
+ * > *
695
+ * > * Client access can be revoked by deleting the session using the Delete Liveness With Verify Session operation.
696
+ * > * To retrieve a result, use the Get Liveness With Verify Session.
697
+ * > * To audit the individual requests that a client has made to your resource, use the List Liveness With Verify Session Audit Entries.
698
+ *
699
+ * Alternative Option: Client device submits VerifyImage during the /detectLivenessWithVerify/singleModal call.
700
+ * > [!NOTE]
701
+ * > Extra measures should be taken to validate that the client is sending the expected VerifyImage.
702
+ */
703
+ post(options: CreateLivenessWithVerifySessionParameters): StreamableMethod<CreateLivenessWithVerifySession200Response | CreateLivenessWithVerifySessionDefaultResponse>;
704
+ /**
705
+ * List sessions from the last sessionId greater than the "start".
706
+ *
707
+ * The result should be ordered by sessionId in ascending order.
708
+ */
709
+ get(options?: GetLivenessWithVerifySessionsParameters): StreamableMethod<GetLivenessWithVerifySessions200Response | GetLivenessWithVerifySessionsDefaultResponse>;
762
710
  }
763
- export interface GetLargePersonGroups {
711
+ export interface DeleteLivenessWithVerifySession {
764
712
  /**
765
- * Large Person Groups are stored in alphabetical order of largePersonGroupId.
713
+ * > [!NOTE]
714
+ * > Deleting a session deactivates the Session Auth Token by blocking future API calls made with that Auth Token. While this can be used to remove any access for that token, those requests will still count towards overall resource rate limits. It's best to leverage TokenTTL to limit length of tokens in the case that it is misused.
715
+ */
716
+ delete(options?: DeleteLivenessWithVerifySessionParameters): StreamableMethod<DeleteLivenessWithVerifySession200Response | DeleteLivenessWithVerifySessionDefaultResponse>;
717
+ /** Get session result of detectLivenessWithVerify/singleModal call. */
718
+ get(options?: GetLivenessWithVerifySessionResultParameters): StreamableMethod<GetLivenessWithVerifySessionResult200Response | GetLivenessWithVerifySessionResultDefaultResponse>;
719
+ }
720
+ export interface GetLivenessWithVerifySessionAuditEntries {
721
+ /** Gets session requests and response body for the session. */
722
+ get(options?: GetLivenessWithVerifySessionAuditEntriesParameters): StreamableMethod<GetLivenessWithVerifySessionAuditEntries200Response | GetLivenessWithVerifySessionAuditEntriesDefaultResponse>;
723
+ }
724
+ export interface GetSessionImage {
725
+ /** Get session image stored during the liveness session. */
726
+ get(options?: GetSessionImageParameters): StreamableMethod<GetSessionImage200Response | GetSessionImageDefaultResponse>;
727
+ }
728
+ export interface CreatePerson {
729
+ /** Creates a new person in a Person Directory. To add face to this person, please call Person Directory "Add Person Face". */
730
+ post(options: CreatePersonParameters): StreamableMethod<CreatePerson202Response | CreatePersonDefaultResponse>;
731
+ /**
732
+ * Persons are stored in alphabetical order of personId created in Person Directory "Create Person".
766
733
  * >
767
734
  * *
768
735
  * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
@@ -775,31 +742,19 @@ export interface GetLargePersonGroups {
775
742
  * > * "start=&top=2" will return "itemId1", "itemId2".
776
743
  * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
777
744
  */
778
- get(options?: GetLargePersonGroupsParameters): StreamableMethod<GetLargePersonGroups200Response | GetLargePersonGroupsDefaultResponse>;
779
- }
780
- export interface GetLargePersonGroupTrainingStatus {
781
- /** Training time depends on the number of person entries, and their faces in a Large Person Group. It could be in seconds, or up to half an hour for 1,000,000 persons. */
782
- get(options?: GetLargePersonGroupTrainingStatusParameters): StreamableMethod<GetLargePersonGroupTrainingStatus200Response | GetLargePersonGroupTrainingStatusDefaultResponse>;
745
+ get(options?: GetPersonsParameters): StreamableMethod<GetPersons200Response | GetPersonsDefaultResponse>;
783
746
  }
784
- export interface TrainLargePersonGroup {
785
- /** The training task is an asynchronous task. Training time depends on the number of person entries, and their faces in a Large Person Group. It could be in several seconds, or up to half a hour for 1,000,000 persons. To check training status, please use "Get Large Person Group Training Status". */
786
- post(options?: TrainLargePersonGroupParameters): StreamableMethod<TrainLargePersonGroup202Response | TrainLargePersonGroupDefaultResponse>;
747
+ export interface DeletePerson {
748
+ /** Delete an existing person from Person Directory. The persistedFaceId(s), userData, person name and face feature(s) in the person entry will all be deleted. */
749
+ delete(options?: DeletePersonParameters): StreamableMethod<DeletePerson202Response | DeletePersonDefaultResponse>;
750
+ /** Retrieve a person's name and userData from Person Directory. */
751
+ get(options?: GetPersonParameters): StreamableMethod<GetPerson200Response | GetPersonDefaultResponse>;
752
+ /** Update name or userData of a person. */
753
+ patch(options: UpdatePersonParameters): StreamableMethod<UpdatePerson200Response | UpdatePersonDefaultResponse>;
787
754
  }
788
- export interface CreateLargePersonGroupPerson {
789
- /**
790
- * > [!NOTE]
791
- * >
792
- * > *
793
- * > * Free-tier subscription quota:
794
- * > * 1,000 persons in all Large Person Groups.
795
- * > * S0-tier subscription quota:
796
- * > * 1,000,000 persons per Large Person Group.
797
- * > * 1,000,000 Large Person Groups.
798
- * > * 1,000,000,000 persons in all Large Person Groups.
799
- */
800
- post(options?: CreateLargePersonGroupPersonParameters): StreamableMethod<CreateLargePersonGroupPerson200Response | CreateLargePersonGroupPersonDefaultResponse>;
755
+ export interface GetDynamicPersonGroupReferences {
801
756
  /**
802
- * Persons are stored in alphabetical order of personId created in "Create Large Person Group Person".
757
+ * Dynamic Person Groups are stored in alphabetical order of Dynamic Person Group ID created in Person Directory "Create Dynamic Person Group".
803
758
  * >
804
759
  * *
805
760
  * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
@@ -812,55 +767,119 @@ export interface CreateLargePersonGroupPerson {
812
767
  * > * "start=&top=2" will return "itemId1", "itemId2".
813
768
  * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
814
769
  */
815
- get(options?: GetLargePersonGroupPersonsParameters): StreamableMethod<GetLargePersonGroupPersons200Response | GetLargePersonGroupPersonsDefaultResponse>;
816
- }
817
- export interface DeleteLargePersonGroupPerson {
818
- /** Delete an existing person from a Large Person Group. The persistedFaceId, userData, person name and face feature(s) in the person entry will all be deleted. */
819
- delete(options?: DeleteLargePersonGroupPersonParameters): StreamableMethod<DeleteLargePersonGroupPerson200Response | DeleteLargePersonGroupPersonDefaultResponse>;
820
- /** Retrieve a person's name and userData, and the persisted faceIds representing the registered person face feature(s). */
821
- get(options?: GetLargePersonGroupPersonParameters): StreamableMethod<GetLargePersonGroupPerson200Response | GetLargePersonGroupPersonDefaultResponse>;
822
- /** Update name or userData of a person. */
823
- patch(options?: UpdateLargePersonGroupPersonParameters): StreamableMethod<UpdateLargePersonGroupPerson200Response | UpdateLargePersonGroupPersonDefaultResponse>;
770
+ get(options?: GetDynamicPersonGroupReferencesParameters): StreamableMethod<GetDynamicPersonGroupReferences200Response | GetDynamicPersonGroupReferencesDefaultResponse>;
824
771
  }
825
- export interface AddLargePersonGroupPersonFaceFromUrl {
772
+ export interface AddPersonFace {
826
773
  /**
827
- * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Large Person Group Person Face", "Delete Large Person Group Person" or "Delete Large Person Group" is called.
774
+ * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory "Delete Person Face" or "Delete Person" is called.
828
775
  *
829
776
  * Note that persistedFaceId is different from faceId generated by "Detect".
777
+ *
830
778
  * >
831
779
  * *
832
- * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
833
780
  * * Each person entry can hold up to 248 faces.
781
+ * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
834
782
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
835
783
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
836
784
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
837
785
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
838
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
786
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
787
+ * * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.
788
+ * * This is a long running operation. Use Response Header "Operation-Location" to determine when the AddFace operation has successfully propagated for future requests to "Identify". For further information about Operation-Locations see "Get Face Operation Status".
839
789
  */
840
- post(options?: AddLargePersonGroupPersonFaceFromUrlParameters): StreamableMethod<AddLargePersonGroupPersonFaceFromUrl200Response | AddLargePersonGroupPersonFaceFromUrlDefaultResponse>;
790
+ post(options: AddPersonFaceParameters): StreamableMethod<AddPersonFace202Response | AddPersonFaceDefaultResponse>;
841
791
  /**
842
- * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until "Delete Large Person Group Person Face", "Delete Large Person Group Person" or "Delete Large Person Group" is called.
792
+ * To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory "Delete Person Face" or "Delete Person" is called.
843
793
  *
844
794
  * Note that persistedFaceId is different from faceId generated by "Detect".
795
+ *
845
796
  * >
846
797
  * *
847
- * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
848
798
  * * Each person entry can hold up to 248 faces.
799
+ * * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
849
800
  * * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.
850
801
  * * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from "Detect", there's no guarantee to detect and add the face successfully.
851
802
  * * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures.
852
803
  * * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.
853
- * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model
804
+ * * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [here](https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model).
805
+ * * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel.
806
+ * * This is a long running operation. Use Response Header "Operation-Location" to determine when the AddFace operation has successfully propagated for future requests to "Identify". For further information about Operation-Locations see "Get Face Operation Status".
854
807
  */
855
- post(options: AddLargePersonGroupPersonFaceParameters): StreamableMethod<AddLargePersonGroupPersonFace200Response | AddLargePersonGroupPersonFaceDefaultResponse>;
808
+ post(options: AddPersonFaceFromUrlParameters): StreamableMethod<AddPersonFaceFromUrl202Response | AddPersonFaceFromUrlDefaultResponse>;
809
+ /** Retrieve a person's persistedFaceIds representing the registered person face feature(s). */
810
+ get(options?: GetPersonFacesParameters): StreamableMethod<GetPersonFaces200Response | GetPersonFacesDefaultResponse>;
856
811
  }
857
- export interface DeleteLargePersonGroupPersonFace {
812
+ export interface DeletePersonFace {
858
813
  /** Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel. */
859
- delete(options?: DeleteLargePersonGroupPersonFaceParameters): StreamableMethod<DeleteLargePersonGroupPersonFace200Response | DeleteLargePersonGroupPersonFaceDefaultResponse>;
860
- /** Retrieve person face information. The persisted person face is specified by its largePersonGroupId, personId and persistedFaceId. */
861
- get(options?: GetLargePersonGroupPersonFaceParameters): StreamableMethod<GetLargePersonGroupPersonFace200Response | GetLargePersonGroupPersonFaceDefaultResponse>;
862
- /** Update a person persisted face's userData field. */
863
- patch(options?: UpdateLargePersonGroupPersonFaceParameters): StreamableMethod<UpdateLargePersonGroupPersonFace200Response | UpdateLargePersonGroupPersonFaceDefaultResponse>;
814
+ delete(options?: DeletePersonFaceParameters): StreamableMethod<DeletePersonFace202Response | DeletePersonFaceDefaultResponse>;
815
+ /** Retrieve person face information. The persisted person face is specified by its personId. recognitionModel, and persistedFaceId. */
816
+ get(options?: GetPersonFaceParameters): StreamableMethod<GetPersonFace200Response | GetPersonFaceDefaultResponse>;
817
+ /** Update a persisted face's userData field of a person. */
818
+ patch(options: UpdatePersonFaceParameters): StreamableMethod<UpdatePersonFace200Response | UpdatePersonFaceDefaultResponse>;
819
+ }
820
+ export interface CreateDynamicPersonGroupWithPerson {
821
+ /**
822
+ * A Dynamic Person Group is a container that references Person Directory "Create Person". After creation, use Person Directory "Update Dynamic Person Group" to add/remove persons to/from the Dynamic Person Group.
823
+ *
824
+ * Dynamic Person Group and user data will be stored on server until Person Directory "Delete Dynamic Person Group" is called. Use "Identify From Dynamic Person Group" with the dynamicPersonGroupId parameter to identify against persons.
825
+ *
826
+ * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until Person Directory "Delete Person" or "Delete Person Face" is called.
827
+ *
828
+ * 'recognitionModel' does not need to be specified with Dynamic Person Groups. Dynamic Person Groups are references to Person Directory "Create Person" and therefore work with most all 'recognitionModels'. The faceId's provided during "Identify" determine the 'recognitionModel' used.
829
+ */
830
+ put(options: CreateDynamicPersonGroupWithPersonParameters): StreamableMethod<CreateDynamicPersonGroupWithPerson202Response | CreateDynamicPersonGroupWithPersonDefaultResponse>;
831
+ /**
832
+ * A Dynamic Person Group is a container that references Person Directory "Create Person". After creation, use Person Directory "Update Dynamic Person Group" to add/remove persons to/from the Dynamic Person Group.
833
+ *
834
+ * Dynamic Person Group and user data will be stored on server until Person Directory "Delete Dynamic Person Group" is called. Use "Identify From Dynamic Person Group" with the dynamicPersonGroupId parameter to identify against persons.
835
+ *
836
+ * No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until Person Directory "Delete Person" or "Delete Person Face" is called.
837
+ *
838
+ * 'recognitionModel' does not need to be specified with Dynamic Person Groups. Dynamic Person Groups are references to Person Directory "Create Person" and therefore work with most all 'recognitionModels'. The faceId's provided during "Identify" determine the 'recognitionModel' used.
839
+ */
840
+ put(options: CreateDynamicPersonGroupParameters): StreamableMethod<CreateDynamicPersonGroup200Response | CreateDynamicPersonGroupDefaultResponse>;
841
+ /** Deleting this Dynamic Person Group only delete the references to persons data. To delete actual person see Person Directory "Delete Person". */
842
+ delete(options?: DeleteDynamicPersonGroupParameters): StreamableMethod<DeleteDynamicPersonGroup202Response | DeleteDynamicPersonGroupDefaultResponse>;
843
+ /** This API returns Dynamic Person Group information only, use Person Directory "Get Dynamic Person Group Persons" instead to retrieve person information under the Dynamic Person Group. */
844
+ get(options?: GetDynamicPersonGroupParameters): StreamableMethod<GetDynamicPersonGroup200Response | GetDynamicPersonGroupDefaultResponse>;
845
+ /** The properties keep unchanged if they are not in request body. */
846
+ patch(options: UpdateDynamicPersonGroupWithPersonChangesParameters): StreamableMethod<UpdateDynamicPersonGroupWithPersonChanges202Response | UpdateDynamicPersonGroupWithPersonChangesDefaultResponse>;
847
+ /** The properties keep unchanged if they are not in request body. */
848
+ patch(options: UpdateDynamicPersonGroupParameters): StreamableMethod<UpdateDynamicPersonGroup200Response | UpdateDynamicPersonGroupDefaultResponse>;
849
+ }
850
+ export interface GetDynamicPersonGroups {
851
+ /**
852
+ * Dynamic Person Groups are stored in alphabetical order of dynamicPersonGroupId.
853
+ * >
854
+ * *
855
+ * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
856
+ * * "top" parameter (int, optional) determines the maximum number of entries to be returned, with a limit of up to 1000 entries per call. To retrieve additional entries beyond this limit, specify "start" with the personId of the last entry returned in the current call.
857
+ *
858
+ * > [!TIP]
859
+ * >
860
+ * > * For example, there are total 5 items with their IDs: "itemId1", ..., "itemId5".
861
+ * > * "start=&top=" will return all 5 items.
862
+ * > * "start=&top=2" will return "itemId1", "itemId2".
863
+ * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
864
+ */
865
+ get(options?: GetDynamicPersonGroupsParameters): StreamableMethod<GetDynamicPersonGroups200Response | GetDynamicPersonGroupsDefaultResponse>;
866
+ }
867
+ export interface GetDynamicPersonGroupPersons {
868
+ /**
869
+ * Persons are stored in alphabetical order of personId created in Person Directory "Create Person".
870
+ * >
871
+ * *
872
+ * * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item.
873
+ * * "top" parameter (int, optional) determines the maximum number of entries to be returned, with a limit of up to 1000 entries per call. To retrieve additional entries beyond this limit, specify "start" with the personId of the last entry returned in the current call.
874
+ *
875
+ * > [!TIP]
876
+ * >
877
+ * > * For example, there are total 5 items with their IDs: "itemId1", ..., "itemId5".
878
+ * > * "start=&top=" will return all 5 items.
879
+ * > * "start=&top=2" will return "itemId1", "itemId2".
880
+ * > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5".
881
+ */
882
+ get(options?: GetDynamicPersonGroupPersonsParameters): StreamableMethod<GetDynamicPersonGroupPersons200Response | GetDynamicPersonGroupPersonsDefaultResponse>;
864
883
  }
865
884
  export interface Routes {
866
885
  /** Resource for '/operations/\{operationId\}' has methods for the following verbs: get */
@@ -875,18 +894,6 @@ export interface Routes {
875
894
  (path: "/verify"): VerifyFaceToFace;
876
895
  /** Resource for '/group' has methods for the following verbs: post */
877
896
  (path: "/group"): Group;
878
- /** Resource for '/detectLiveness/singleModal/sessions' has methods for the following verbs: post, get */
879
- (path: "/detectLiveness/singleModal/sessions"): CreateLivenessSession;
880
- /** Resource for '/detectLiveness/singleModal/sessions/\{sessionId\}' has methods for the following verbs: delete, get */
881
- (path: "/detectLiveness/singleModal/sessions/{sessionId}", sessionId: string): DeleteLivenessSession;
882
- /** Resource for '/detectLiveness/singleModal/sessions/\{sessionId\}/audit' has methods for the following verbs: get */
883
- (path: "/detectLiveness/singleModal/sessions/{sessionId}/audit", sessionId: string): GetLivenessSessionAuditEntries;
884
- /** Resource for '/detectLivenessWithVerify/singleModal/sessions' has methods for the following verbs: post, get */
885
- (path: "/detectLivenessWithVerify/singleModal/sessions"): CreateLivenessWithVerifySessionWithVerifyImage;
886
- /** Resource for '/detectLivenessWithVerify/singleModal/sessions/\{sessionId\}' has methods for the following verbs: delete, get */
887
- (path: "/detectLivenessWithVerify/singleModal/sessions/{sessionId}", sessionId: string): DeleteLivenessWithVerifySession;
888
- /** Resource for '/detectLivenessWithVerify/singleModal/sessions/\{sessionId\}/audit' has methods for the following verbs: get */
889
- (path: "/detectLivenessWithVerify/singleModal/sessions/{sessionId}/audit", sessionId: string): GetLivenessWithVerifySessionAuditEntries;
890
897
  /** Resource for '/facelists/\{faceListId\}' has methods for the following verbs: put, delete, get, patch */
891
898
  (path: "/facelists/{faceListId}", faceListId: string): CreateFaceList;
892
899
  /** Resource for '/facelists' has methods for the following verbs: get */
@@ -907,22 +914,6 @@ export interface Routes {
907
914
  (path: "/largefacelists/{largeFaceListId}/persistedfaces", largeFaceListId: string): AddLargeFaceListFaceFromUrl;
908
915
  /** Resource for '/largefacelists/\{largeFaceListId\}/persistedfaces/\{persistedFaceId\}' has methods for the following verbs: delete, get, patch */
909
916
  (path: "/largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}", largeFaceListId: string, persistedFaceId: string): DeleteLargeFaceListFace;
910
- /** Resource for '/persons' has methods for the following verbs: post, get */
911
- (path: "/persons"): CreatePerson;
912
- /** Resource for '/persons/\{personId\}' has methods for the following verbs: delete, get, patch */
913
- (path: "/persons/{personId}", personId: string): DeletePerson;
914
- /** Resource for '/persons/\{personId\}/dynamicPersonGroupReferences' has methods for the following verbs: get */
915
- (path: "/persons/{personId}/dynamicPersonGroupReferences", personId: string): GetDynamicPersonGroupReferences;
916
- /** Resource for '/persons/\{personId\}/recognitionModels/\{recognitionModel\}/persistedfaces' has methods for the following verbs: post, get */
917
- (path: "/persons/{personId}/recognitionModels/{recognitionModel}/persistedfaces", personId: string, recognitionModel: RecognitionModel): AddPersonFace;
918
- /** Resource for '/persons/\{personId\}/recognitionModels/\{recognitionModel\}/persistedfaces/\{persistedFaceId\}' has methods for the following verbs: delete, get, patch */
919
- (path: "/persons/{personId}/recognitionModels/{recognitionModel}/persistedfaces/{persistedFaceId}", personId: string, recognitionModel: RecognitionModel, persistedFaceId: string): DeletePersonFace;
920
- /** Resource for '/dynamicpersongroups/\{dynamicPersonGroupId\}' has methods for the following verbs: put, delete, get, patch */
921
- (path: "/dynamicpersongroups/{dynamicPersonGroupId}", dynamicPersonGroupId: string): CreateDynamicPersonGroupWithPerson;
922
- /** Resource for '/dynamicpersongroups' has methods for the following verbs: get */
923
- (path: "/dynamicpersongroups"): GetDynamicPersonGroups;
924
- /** Resource for '/dynamicpersongroups/\{dynamicPersonGroupId\}/persons' has methods for the following verbs: get */
925
- (path: "/dynamicpersongroups/{dynamicPersonGroupId}/persons", dynamicPersonGroupId: string): GetDynamicPersonGroupPersons;
926
917
  /** Resource for '/persongroups/\{personGroupId\}' has methods for the following verbs: put, delete, get, patch */
927
918
  (path: "/persongroups/{personGroupId}", personGroupId: string): CreatePersonGroup;
928
919
  /** Resource for '/persongroups' has methods for the following verbs: get */
@@ -955,6 +946,36 @@ export interface Routes {
955
946
  (path: "/largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces", largePersonGroupId: string, personId: string): AddLargePersonGroupPersonFaceFromUrl;
956
947
  /** Resource for '/largepersongroups/\{largePersonGroupId\}/persons/\{personId\}/persistedfaces/\{persistedFaceId\}' has methods for the following verbs: delete, get, patch */
957
948
  (path: "/largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}", largePersonGroupId: string, personId: string, persistedFaceId: string): DeleteLargePersonGroupPersonFace;
949
+ /** Resource for '/detectLiveness/singleModal/sessions' has methods for the following verbs: post, get */
950
+ (path: "/detectLiveness/singleModal/sessions"): CreateLivenessSession;
951
+ /** Resource for '/detectLiveness/singleModal/sessions/\{sessionId\}' has methods for the following verbs: delete, get */
952
+ (path: "/detectLiveness/singleModal/sessions/{sessionId}", sessionId: string): DeleteLivenessSession;
953
+ /** Resource for '/detectLiveness/singleModal/sessions/\{sessionId\}/audit' has methods for the following verbs: get */
954
+ (path: "/detectLiveness/singleModal/sessions/{sessionId}/audit", sessionId: string): GetLivenessSessionAuditEntries;
955
+ /** Resource for '/detectLivenessWithVerify/singleModal/sessions' has methods for the following verbs: post, get */
956
+ (path: "/detectLivenessWithVerify/singleModal/sessions"): CreateLivenessWithVerifySessionWithVerifyImage;
957
+ /** Resource for '/detectLivenessWithVerify/singleModal/sessions/\{sessionId\}' has methods for the following verbs: delete, get */
958
+ (path: "/detectLivenessWithVerify/singleModal/sessions/{sessionId}", sessionId: string): DeleteLivenessWithVerifySession;
959
+ /** Resource for '/detectLivenessWithVerify/singleModal/sessions/\{sessionId\}/audit' has methods for the following verbs: get */
960
+ (path: "/detectLivenessWithVerify/singleModal/sessions/{sessionId}/audit", sessionId: string): GetLivenessWithVerifySessionAuditEntries;
961
+ /** Resource for '/session/sessionImages/\{sessionImageId\}' has methods for the following verbs: get */
962
+ (path: "/session/sessionImages/{sessionImageId}", sessionImageId: string): GetSessionImage;
963
+ /** Resource for '/persons' has methods for the following verbs: post, get */
964
+ (path: "/persons"): CreatePerson;
965
+ /** Resource for '/persons/\{personId\}' has methods for the following verbs: delete, get, patch */
966
+ (path: "/persons/{personId}", personId: string): DeletePerson;
967
+ /** Resource for '/persons/\{personId\}/dynamicPersonGroupReferences' has methods for the following verbs: get */
968
+ (path: "/persons/{personId}/dynamicPersonGroupReferences", personId: string): GetDynamicPersonGroupReferences;
969
+ /** Resource for '/persons/\{personId\}/recognitionModels/\{recognitionModel\}/persistedfaces' has methods for the following verbs: post, get */
970
+ (path: "/persons/{personId}/recognitionModels/{recognitionModel}/persistedfaces", personId: string, recognitionModel: RecognitionModel): AddPersonFace;
971
+ /** Resource for '/persons/\{personId\}/recognitionModels/\{recognitionModel\}/persistedfaces/\{persistedFaceId\}' has methods for the following verbs: delete, get, patch */
972
+ (path: "/persons/{personId}/recognitionModels/{recognitionModel}/persistedfaces/{persistedFaceId}", personId: string, recognitionModel: RecognitionModel, persistedFaceId: string): DeletePersonFace;
973
+ /** Resource for '/dynamicpersongroups/\{dynamicPersonGroupId\}' has methods for the following verbs: put, delete, get, patch */
974
+ (path: "/dynamicpersongroups/{dynamicPersonGroupId}", dynamicPersonGroupId: string): CreateDynamicPersonGroupWithPerson;
975
+ /** Resource for '/dynamicpersongroups' has methods for the following verbs: get */
976
+ (path: "/dynamicpersongroups"): GetDynamicPersonGroups;
977
+ /** Resource for '/dynamicpersongroups/\{dynamicPersonGroupId\}/persons' has methods for the following verbs: get */
978
+ (path: "/dynamicpersongroups/{dynamicPersonGroupId}/persons", dynamicPersonGroupId: string): GetDynamicPersonGroupPersons;
958
979
  }
959
980
  export type FaceClient = Client & {
960
981
  path: Routes;