models.py 622 B

12345678910111213141516171819202122232425262728
  1. from pydantic import BaseModel
  2. from typing import List, Optional
  3. # --- 基础字段 (共用) ---
  4. class CardBase(BaseModel):
  5. time: str
  6. card_name_cn: Optional[str] = None
  7. card_name_en: Optional[str] = None
  8. series: Optional[str] = None
  9. rarity_score: Optional[int] = None
  10. rarity_desc: Optional[str] = None
  11. # --- 接口输入模型 ---
  12. class CardInfoInput(CardBase):
  13. pass
  14. # --- 接口输出模型 ---
  15. class CardInfoOutput(CardBase):
  16. frame_image_path: Optional[str] = None
  17. # --- 接口2 请求体 ---
  18. class VideoFrameRequest(BaseModel):
  19. video_path: str
  20. cards: List[CardInfoInput]