photos_model.py•954 B
from pydantic import BaseModel, Field
from typing import Optional, Literal
class Photos(BaseModel):
"""
Model for retrieving photos from Unsplash's curated collection.
Attributes:
page: Page number for pagination
per_page: Number of photos to return per page
order_by: How to sort the returned photos
"""
page: Optional[int] = Field(
default=1,
description="Page number for pagination (starts at 1)",
ge=1,
example=1,
)
per_page: Optional[int] = Field(
default=10,
description="Number of photos to return per page (max: 30)",
ge=1,
le=30,
example=10,
)
order_by: Optional[Literal["latest", "oldest", "popular"]] = Field(
default="latest",
description="How to sort the photos: 'latest' for most recent, 'oldest' for first published, 'popular' for most liked/downloaded",
example="latest",
)