from pydantic import BaseModel, Field
from typing import List, Optional, Union, Dict, Tuple, Literal
class Frame(BaseModel):
shot_idx: int = Field(
description="The index of the shot in the sequence, starting from 0."
)
frame_type: Literal["first", "last"] = Field(
description="The type of the frame, 'first' for the first frame of the shot, 'last' for the last frame of the shot."
)
cam_idx: int = Field(
description="The index of the camera used for this frame, starting from 0."
)
vis_char_idxs: List[int] = Field(
description="A list of indices of characters that are visible in this frame, corresponding to the character list provided in the input."
)