params.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from pydantic import BaseModel
  2. from typing import List, Optional
  3. from enum import IntEnum
  4. class SceneEnum(IntEnum):
  5. """业务场景枚举"""
  6. TOPIC = 0 # 选题
  7. CREATION = 1 # 创作
  8. PRODUCTION = 2 # 制作
  9. class CapabilityEnum(IntEnum):
  10. """能力枚举"""
  11. DECODE = 0 # 解构
  12. PATTERN = 1 # 聚类
  13. class ContentTypeEnum(IntEnum):
  14. """内容类型枚举"""
  15. TEXT = 1 # 文本
  16. IMAGE = 2 # 图片
  17. VIDEO = 3 # 视频
  18. ARTICEL_MEATER = 4 # 文章标题、封面素材
  19. MEATER = 5 # 素材
  20. class ContentParam(BaseModel):
  21. channel_content_id: str # 必传
  22. video_url: Optional[str] = None
  23. images: List[str] = []
  24. body_text: Optional[str] = None
  25. title: Optional[str] = None
  26. channel_account_id: Optional[str] = None
  27. channel_account_name: Optional[str] = None
  28. weight_score: Optional[float] = None # 表现力分数,聚类必传
  29. class DecodeContentParam(BaseModel):
  30. scene: SceneEnum # 业务场景:0选题 1创作 2制作
  31. content_type: ContentTypeEnum # 1 文本 2图片 3 视频 4 文章标题、封面素材 5 素材
  32. content: ContentParam
  33. class PatternContentParam(BaseModel):
  34. scene: SceneEnum # 业务场景:0选题 1创作 2制作
  35. content_type: ContentTypeEnum # 1 文本 2图片 3 视频 4 文章标题、封面素材 5 素材
  36. pattern_name: str # 聚类名称
  37. contents: List[ContentParam]
  38. class TopicSearchParam(BaseModel):
  39. """视频选题检索参数"""
  40. keywords: List[str] # 关键词列表