"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from duckyai.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class IndexMultimodalRequestImageTypedDict(TypedDict):
    r"""Image data that can be provided as either a URL or base64 encoded data, but not both"""

    url: NotRequired[str]
    r"""HTTP(S) URL to an image"""
    base64: NotRequired[str]
    r"""Base64-encoded image bytes. Data-URL prefix allowed."""
    mime_type: NotRequired[str]
    r"""Optional MIME type hint (e.g. image/png)"""


class IndexMultimodalRequestImage(BaseModel):
    r"""Image data that can be provided as either a URL or base64 encoded data, but not both"""

    url: Optional[str] = None
    r"""HTTP(S) URL to an image"""

    base64: Optional[str] = None
    r"""Base64-encoded image bytes. Data-URL prefix allowed."""

    mime_type: Optional[str] = None
    r"""Optional MIME type hint (e.g. image/png)"""
