Skip to main content

Models and licensing

deepface.dev only exposes models and detectors that have been reviewed for the managed service. Agents and integrations should rely on GET /capabilities for the current allowlist instead of hard-coding assumptions.

Approved backbone models

  • Facenet
  • Facenet512
  • OpenFace
  • Dlib
  • SFace
The current production default model is Facenet. The API allowlist is still authoritative through GET /capabilities, but if you need a stable baseline for smoke tests and synthetics, assume Facenet first and then confirm the live capabilities response.

Excluded models

VGG-Face

VGG-Face remains excluded. Its released weights are restricted to non-commercial research use and are not available on deepface.dev.

ArcFace via InsightFace weights

ArcFace models derived from InsightFace weights may require a separate commercial license. Do not assume those weights are cleared for commercial use without explicit legal review.

Detector guidance

The active detector allowlist is exposed through GET /capabilities. Start with the default detector unless you have measured a better fit for your input distribution. The current production default detector is opencv. deepface.dev also pre-bakes and pre-warms retinaface to reduce startup risk during cold recovery, but that warmup choice is operational only and does not change the default detector reported by GET /capabilities. When opencv cannot extract a face, the managed service may retry retinaface before returning no_face_detected. That fallback remains inside the approved detector allowlist and does not expand the commercial model surface.

Attribute analysis

Attribute analysis is intentionally absent from the managed API. The upstream attribute stack depends on VGG-Face-based components that are not approved for commercial use in this service.

Operational notes

Readiness and warmup are now first-class service concerns. GET /readiness reports whether the managed runtime has finished warming the approved model and detector stack. This route exists for health checks and incident diagnosis; it does not expand the commercial model surface beyond what GET /capabilities already exposes.