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

from __future__ import annotations
from .imagegenerationservertoolconfig import (
    ImageGenerationServerToolConfig,
    ImageGenerationServerToolConfigTypedDict,
)
from openrouter.types import BaseModel
from typing import Literal, Optional
from typing_extensions import NotRequired, TypedDict


ImageGenerationServerToolOpenRouterType = Literal["openrouter:image_generation",]


class ImageGenerationServerToolOpenRouterTypedDict(TypedDict):
    r"""OpenRouter built-in server tool: generates images from text prompts using an image generation model"""

    type: ImageGenerationServerToolOpenRouterType
    parameters: NotRequired[ImageGenerationServerToolConfigTypedDict]
    r"""Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field."""


class ImageGenerationServerToolOpenRouter(BaseModel):
    r"""OpenRouter built-in server tool: generates images from text prompts using an image generation model"""

    type: ImageGenerationServerToolOpenRouterType

    parameters: Optional[ImageGenerationServerToolConfig] = None
    r"""Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field."""
