models.py 644 B

123456789101112131415161718192021222324252627282930
  1. from pydantic import BaseModel
  2. from typing import List, Optional
  3. class PointCoords(BaseModel):
  4. x: int
  5. y: int
  6. class BoxCoords(BaseModel):
  7. x1: int
  8. y1: int
  9. x2: int
  10. y2: int
  11. class SegmentationRequest(BaseModel):
  12. image_url: Optional[str] = None
  13. points: List[list[int,int]] = []
  14. labels: List[int] = []
  15. # type:int = 0 #0-sam1 1-sam2 2-sam3
  16. class SegmentationWithBoxRequest(BaseModel):
  17. image_url: Optional[str] = None
  18. box: BoxCoords
  19. multimask_output: bool = True
  20. class SegmentationResponse(BaseModel):
  21. success: bool
  22. results: List[dict]
  23. processing_time: float
  24. total_masks: int