Поправить схему данных
В коде встречается такой код:
caption: str = Field(None, max_length=1024)
Дефолтное значение не является строкой, как заявлено.
PS. Было бы здорово по всем схемам в коде проставить сразу в Config настройку validate_all=True.