face/app/models.py

41 lines
627 B
Python

"""Pydantic models for request/response schemas."""
from typing import List
from pydantic import BaseModel, HttpUrl
class EmbedRequest(BaseModel):
image_url: HttpUrl
class BBox(BaseModel):
x: int
y: int
w: int
h: int
class FaceEmbedding(BaseModel):
bbox: BBox
score: float
embedding: List[float]
class EmbedAvatarResponse(BaseModel):
embedding: List[float]
bbox: BBox
score: float
class EmbedImageResponse(BaseModel):
faces: List[FaceEmbedding]
class MatchResult(BaseModel):
tag: str
found: bool
score: float | None = None
bbox: BBox | None = None