"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations from .capabilitydescriptor import CapabilityDescriptor, CapabilityDescriptorTypedDict from .imagepricingentry import ImagePricingEntry, ImagePricingEntryTypedDict from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL from pydantic import model_serializer from typing import Dict, List from typing_extensions import TypedDict class ImageEndpointTypedDict(TypedDict): r"""An endpoint that serves a given image model.""" allowed_passthrough_parameters: List[str] r"""Provider-specific options accepted under provider.options[provider_slug].""" pricing: List[ImagePricingEntryTypedDict] r"""Billable pricing lines for this endpoint.""" provider_name: str r"""Provider display name""" provider_slug: str r"""Provider slug""" provider_tag: Nullable[str] r"""Provider tag for request-side selection""" supported_parameters: Dict[str, CapabilityDescriptorTypedDict] supports_streaming: bool r"""Whether this endpoint supports native SSE streaming (`stream: true` in the request).""" class ImageEndpoint(BaseModel): r"""An endpoint that serves a given image model.""" allowed_passthrough_parameters: List[str] r"""Provider-specific options accepted under provider.options[provider_slug].""" pricing: List[ImagePricingEntry] r"""Billable pricing lines for this endpoint.""" provider_name: str r"""Provider display name""" provider_slug: str r"""Provider slug""" provider_tag: Nullable[str] r"""Provider tag for request-side selection""" supported_parameters: Dict[str, CapabilityDescriptor] supports_streaming: bool r"""Whether this endpoint supports native SSE streaming (`stream: true` in the request).""" @model_serializer(mode="wrap") def serialize_model(self, handler): serialized = handler(self) m = {} for n, f in type(self).model_fields.items(): k = f.alias or n val = serialized.get(k, serialized.get(n)) if val != UNSET_SENTINEL: m[k] = val return m