# generated by datamodel-codegen:
#   filename:  core/assets/image_asset.json
#   timestamp: 2026-02-28T17:39:50+00:00

from __future__ import annotations

from typing import Annotated

from adcp.types.base import AdCPBaseModel
from pydantic import AnyUrl, ConfigDict, Field

from .. import provenance as provenance_1


class ImageAsset(AdCPBaseModel):
    model_config = ConfigDict(
        extra='allow',
    )
    alt_text: Annotated[str | None, Field(description='Alternative text for accessibility')] = None
    format: Annotated[
        str | None, Field(description='Image file format (jpg, png, gif, webp, etc.)')
    ] = None
    height: Annotated[int, Field(description='Height in pixels', ge=1)]
    provenance: Annotated[
        provenance_1.Provenance | None,
        Field(
            description='Provenance metadata for this asset, overrides manifest-level provenance'
        ),
    ] = None
    url: Annotated[AnyUrl, Field(description='URL to the image asset')]
    width: Annotated[int, Field(description='Width in pixels', ge=1)]
