IC-Video-App / schema_script.py
userIdc2024's picture
Upload schema_script.py
517ee73 verified
raw
history blame contribute delete
687 Bytes
from typing import List
from pydantic import BaseModel, ConfigDict, constr
Timestamp = constr(pattern=r'^\d{1,2}:\d{2}$')
RangeTimestamp = constr(pattern=r'^\d{1,2}:\d{2}-\d{1,2}:\d{2}$')
Score010 = constr(pattern=r'^(?:[0-9]|10)/10$')
class ScriptTable(BaseModel):
timestamp: Timestamp
script_voiceover: str
visual_direction: str
psychological_trigger: str
cta_action: str
class ScriptVariations(BaseModel):
variation_name: str
script_table: List[ScriptTable]
class ScriptResponse(BaseModel):
# Accept & ignore any extra fields the model might emit
model_config = ConfigDict(extra="ignore")
script_variations: List[ScriptVariations]