# SPDX-FileCopyrightText: 2024-2026 Patryk Ciechański
# SPDX-License-Identifier: Apache-2.0

"""Reviewed OpenRouter OpenAI-family fallback profiles."""

from __future__ import annotations

from .types import ModelCapabilityProfile

OPENROUTER_OPENAI_PROFILES: tuple[ModelCapabilityProfile, ...] = (
    ModelCapabilityProfile(
        model_id="anthropic/claude-opus-4.6-fast",
        provider="openrouter",
        family="anthropic_claude",
        context_length=1000000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
            "verbosity",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-opus-4.6-fast",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-4-26b-a4b-it:free",
        provider="openrouter",
        family="google_gemma",
        context_length=262144,
        max_completion_tokens=32768,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-4-26b-a4b-it:free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-4-26b-a4b-it",
        provider="openrouter",
        family="google_gemma",
        context_length=262144,
        max_completion_tokens=262144,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-4-26b-a4b-it",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-4-31b-it:free",
        provider="openrouter",
        family="google_gemma",
        context_length=262144,
        max_completion_tokens=32768,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-4-31b-it:free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-4-31b-it",
        provider="openrouter",
        family="google_gemma",
        context_length=262144,
        max_completion_tokens=131072,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-4-31b-it",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.6-plus",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=1000000,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.6-plus",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="z-ai/glm-5v-turbo",
        provider="openrouter",
        family="z-ai_glm",
        context_length=202752,
        max_completion_tokens=131072,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/z-ai/glm-5v-turbo",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="x-ai/grok-4.20-multi-agent",
        provider="openrouter",
        family="x-ai_grok",
        context_length=2000000,
        max_completion_tokens=None,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "logprobs",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/x-ai/grok-4.20-multi-agent",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="x-ai/grok-4.20",
        provider="openrouter",
        family="x-ai_grok",
        context_length=2000000,
        max_completion_tokens=None,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "logprobs",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/x-ai/grok-4.20",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/lyria-3-pro-preview",
        provider="openrouter",
        family="google_lyria",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("image", "text"),
        output_modalities=("audio", "text"),
        supported_parameters=("max_tokens", "response_format", "seed", "temperature", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/lyria-3-pro-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/lyria-3-clip-preview",
        provider="openrouter",
        family="google_lyria",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("image", "text"),
        output_modalities=("audio", "text"),
        supported_parameters=("max_tokens", "response_format", "seed", "temperature", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/lyria-3-clip-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="rekaai/reka-edge",
        provider="openrouter",
        family="rekaai_reka",
        context_length=16384,
        max_completion_tokens=16384,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/rekaai/reka-edge",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="xiaomi/mimo-v2-omni",
        provider="openrouter",
        family="xiaomi_mimo",
        context_length=262144,
        max_completion_tokens=65536,
        input_modalities=("audio", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/xiaomi/mimo-v2-omni",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.4-nano",
        provider="openrouter",
        family="openai_gpt_5_4",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.4-nano",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.4-mini",
        provider="openrouter",
        family="openai_gpt_5_4",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.4-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/mistral-small-2603",
        provider="openrouter",
        family="mistralai_mistral",
        context_length=262144,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/mistral-small-2603",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="bytedance-seed/seed-2.0-lite",
        provider="openrouter",
        family="bytedance-seed_seed",
        context_length=262144,
        max_completion_tokens=131072,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/bytedance-seed/seed-2.0-lite",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-9b",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=256000,
        max_completion_tokens=32768,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-9b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.4-pro",
        provider="openrouter",
        family="openai_gpt_5_4",
        context_length=1050000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.4-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.4",
        provider="openrouter",
        family="openai_gpt_5_4",
        context_length=1050000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.4",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.3-chat",
        provider="openrouter",
        family="openai_gpt_5_3",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_completion_tokens",
            "max_tokens",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.3-chat",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-3.1-flash-lite-preview",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-3.1-flash-lite-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="bytedance-seed/seed-2.0-mini",
        provider="openrouter",
        family="bytedance-seed_seed",
        context_length=262144,
        max_completion_tokens=131072,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/bytedance-seed/seed-2.0-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-3.1-flash-image-preview",
        provider="openrouter",
        family="google_gemini",
        context_length=65536,
        max_completion_tokens=65536,
        input_modalities=("image", "text"),
        output_modalities=("image", "text"),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-3.1-flash-image-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-35b-a3b",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=262144,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-35b-a3b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-27b",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=262144,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-27b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-122b-a10b",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=262144,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-122b-a10b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-flash-02-23",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=1000000,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-flash-02-23",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-3.1-pro-preview-customtools",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-3.1-pro-preview-customtools",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.3-codex",
        provider="openrouter",
        family="openai_gpt_5_3",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.3-codex",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-3.1-pro-preview",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-3.1-pro-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-sonnet-4.6",
        provider="openrouter",
        family="anthropic_claude",
        context_length=1000000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
            "verbosity",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-sonnet-4.6",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-plus-02-15",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=1000000,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-plus-02-15",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3.5-397b-a17b",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=262144,
        max_completion_tokens=65536,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3.5-397b-a17b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-opus-4.6",
        provider="openrouter",
        family="anthropic_claude",
        context_length=1000000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
            "verbosity",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-opus-4.6",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openrouter/free",
        provider="openrouter",
        family="openrouter_free",
        context_length=200000,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/openrouter/free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="moonshotai/kimi-k2.5",
        provider="openrouter",
        family="moonshotai_kimi",
        context_length=262144,
        max_completion_tokens=65535,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "min_p",
            "parallel_tool_calls",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/moonshotai/kimi-k2.5",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.2-codex",
        provider="openrouter",
        family="openai_gpt_5_2",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.2-codex",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="bytedance-seed/seed-1.6-flash",
        provider="openrouter",
        family="bytedance-seed_seed",
        context_length=262144,
        max_completion_tokens=32768,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/bytedance-seed/seed-1.6-flash",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="bytedance-seed/seed-1.6",
        provider="openrouter",
        family="bytedance-seed_seed",
        context_length=262144,
        max_completion_tokens=32768,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/bytedance-seed/seed-1.6",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-3-flash-preview",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-3-flash-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.2-chat",
        provider="openrouter",
        family="openai_gpt_5_2",
        context_length=128000,
        max_completion_tokens=32000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_completion_tokens",
            "max_tokens",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.2-chat",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.2-pro",
        provider="openrouter",
        family="openai_gpt_5_2",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.2-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.2",
        provider="openrouter",
        family="openai_gpt_5_2",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.2",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="z-ai/glm-4.6v",
        provider="openrouter",
        family="z-ai_glm",
        context_length=131072,
        max_completion_tokens=131072,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/z-ai/glm-4.6v",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.1-codex-max",
        provider="openrouter",
        family="openai_gpt_5_1",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.1-codex-max",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="amazon/nova-2-lite-v1",
        provider="openrouter",
        family="amazon_nova",
        context_length=1000000,
        max_completion_tokens=65535,
        input_modalities=("file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/amazon/nova-2-lite-v1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/ministral-14b-2512",
        provider="openrouter",
        family="mistralai_ministral",
        context_length=262144,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/ministral-14b-2512",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/ministral-8b-2512",
        provider="openrouter",
        family="mistralai_ministral",
        context_length=262144,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/ministral-8b-2512",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/ministral-3b-2512",
        provider="openrouter",
        family="mistralai_ministral",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/ministral-3b-2512",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/mistral-large-2512",
        provider="openrouter",
        family="mistralai_mistral",
        context_length=262144,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/mistral-large-2512",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-opus-4.5",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=64000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "verbosity",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-opus-4.5",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-3-pro-image-preview",
        provider="openrouter",
        family="google_gemini",
        context_length=65536,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("image", "text"),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-3-pro-image-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="x-ai/grok-4.1-fast",
        provider="openrouter",
        family="x-ai_grok",
        context_length=2000000,
        max_completion_tokens=30000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "logprobs",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/x-ai/grok-4.1-fast",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.1",
        provider="openrouter",
        family="openai_gpt_5_1",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.1-chat",
        provider="openrouter",
        family="openai_gpt_5_1",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_completion_tokens",
            "max_tokens",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.1-chat",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.1-codex",
        provider="openrouter",
        family="openai_gpt_5_1",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.1-codex",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5.1-codex-mini",
        provider="openrouter",
        family="openai_gpt_5_1",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5.1-codex-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="amazon/nova-premier-v1",
        provider="openrouter",
        family="amazon_nova",
        context_length=1000000,
        max_completion_tokens=32000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "stop", "temperature", "tools", "top_k", "top_p"),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/amazon/nova-premier-v1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="perplexity/sonar-pro-search",
        provider="openrouter",
        family="perplexity_sonar",
        context_length=200000,
        max_completion_tokens=8000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "structured_outputs",
            "temperature",
            "top_k",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/perplexity/sonar-pro-search",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="nvidia/nemotron-nano-12b-v2-vl:free",
        provider="openrouter",
        family="nvidia_nemotron",
        context_length=128000,
        max_completion_tokens=128000,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "seed",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/nvidia/nemotron-nano-12b-v2-vl:free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="nvidia/nemotron-nano-12b-v2-vl",
        provider="openrouter",
        family="nvidia_nemotron",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/nvidia/nemotron-nano-12b-v2-vl",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-32b-instruct",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-32b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-image-mini",
        provider="openrouter",
        family="openai_gpt_5_image",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("image", "text"),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5-image-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-haiku-4.5",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=64000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-haiku-4.5",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-8b-thinking",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-8b-thinking",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-8b-instruct",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-8b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-image",
        provider="openrouter",
        family="openai_gpt_5_image",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("image", "text"),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5-image",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o3-deep-research",
        provider="openrouter",
        family="openai_o3",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o3-deep-research",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o4-mini-deep-research",
        provider="openrouter",
        family="openai_o4",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o4-mini-deep-research",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-flash-image",
        provider="openrouter",
        family="google_gemini",
        context_length=32768,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("image", "text"),
        supported_parameters=(
            "max_tokens",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-flash-image",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-30b-a3b-thinking",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-30b-a3b-thinking",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-30b-a3b-instruct",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-30b-a3b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-pro",
        provider="openrouter",
        family="openai_gpt_5_pro",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-sonnet-4.5",
        provider="openrouter",
        family="anthropic_claude",
        context_length=1000000,
        max_completion_tokens=64000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-sonnet-4.5",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-flash-lite-preview-09-2025",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65535,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-flash-lite-preview-09-2025",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-235b-a22b-thinking",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-235b-a22b-thinking",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen3-vl-235b-a22b-instruct",
        provider="openrouter",
        family="qwen_qwen3",
        context_length=262144,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/qwen/qwen3-vl-235b-a22b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-codex",
        provider="openrouter",
        family="openai_gpt_5_codex",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5-codex",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="x-ai/grok-4-fast",
        provider="openrouter",
        family="x-ai_grok",
        context_length=2000000,
        max_completion_tokens=30000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "logprobs",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/x-ai/grok-4-fast",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/mistral-medium-3.1",
        provider="openrouter",
        family="mistralai_mistral",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/mistral-medium-3.1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="baidu/ernie-4.5-vl-28b-a3b",
        provider="openrouter",
        family="baidu_ernie",
        context_length=30000,
        max_completion_tokens=8000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "seed",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/baidu/ernie-4.5-vl-28b-a3b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="z-ai/glm-4.5v",
        provider="openrouter",
        family="z-ai_glm",
        context_length=65536,
        max_completion_tokens=16384,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "seed",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/z-ai/glm-4.5v",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-chat",
        provider="openrouter",
        family="openai_gpt_5_chat",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "response_format", "seed", "structured_outputs"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5-chat",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5",
        provider="openrouter",
        family="openai_gpt_5",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-mini",
        provider="openrouter",
        family="openai_gpt_5_mini",
        context_length=400000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-5-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-5-nano",
        provider="openrouter",
        family="openai_gpt_5_nano",
        context_length=400000,
        max_completion_tokens=None,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_completion_tokens",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/openai/gpt-5-nano",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-opus-4.1",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=32000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-opus-4.1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="bytedance/ui-tars-1.5-7b",
        provider="openrouter",
        family="bytedance_ui",
        context_length=128000,
        max_completion_tokens=2048,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "presence_penalty",
            "repetition_penalty",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=2048,
        docs_url="https://openrouter.ai/bytedance/ui-tars-1.5-7b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-flash-lite",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65535,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-flash-lite",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="x-ai/grok-4",
        provider="openrouter",
        family="x-ai_grok",
        context_length=256000,
        max_completion_tokens=None,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "logprobs",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/x-ai/grok-4",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="baidu/ernie-4.5-vl-424b-a47b",
        provider="openrouter",
        family="baidu_ernie",
        context_length=123000,
        max_completion_tokens=16000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "repetition_penalty",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/baidu/ernie-4.5-vl-424b-a47b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/mistral-small-3.2-24b-instruct",
        provider="openrouter",
        family="mistralai_mistral",
        context_length=128000,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/mistral-small-3.2-24b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-flash",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65535,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-flash",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-pro",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o3-pro",
        provider="openrouter",
        family="openai_o3",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o3-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-pro-preview",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65536,
        input_modalities=("audio", "file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-pro-preview",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-opus-4",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=32000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-opus-4",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-sonnet-4",
        provider="openrouter",
        family="anthropic_claude",
        context_length=1000000,
        max_completion_tokens=64000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-sonnet-4",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/mistral-medium-3",
        provider="openrouter",
        family="mistralai_mistral",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/mistral-medium-3",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.5-pro-preview-05-06",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=65535,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.5-pro-preview-05-06",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="arcee-ai/spotlight",
        provider="openrouter",
        family="arcee-ai_spotlight",
        context_length=131072,
        max_completion_tokens=65537,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/arcee-ai/spotlight",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="meta-llama/llama-guard-4-12b",
        provider="openrouter",
        family="meta-llama_llama",
        context_length=163840,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/meta-llama/llama-guard-4-12b",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o4-mini-high",
        provider="openrouter",
        family="openai_o4",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o4-mini-high",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o3",
        provider="openrouter",
        family="openai_o3",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o3",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o4-mini",
        provider="openrouter",
        family="openai_o4",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o4-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4.1",
        provider="openrouter",
        family="openai_gpt_4_1",
        context_length=1047576,
        max_completion_tokens=None,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_completion_tokens",
            "max_tokens",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/openai/gpt-4.1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4.1-mini",
        provider="openrouter",
        family="openai_gpt_4_1",
        context_length=1047576,
        max_completion_tokens=32768,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_completion_tokens",
            "max_tokens",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4.1-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4.1-nano",
        provider="openrouter",
        family="openai_gpt_4_1",
        context_length=1047576,
        max_completion_tokens=32768,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_completion_tokens",
            "max_tokens",
            "response_format",
            "seed",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4.1-nano",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="meta-llama/llama-4-maverick",
        provider="openrouter",
        family="meta-llama_llama",
        context_length=1048576,
        max_completion_tokens=16384,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/meta-llama/llama-4-maverick",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="meta-llama/llama-4-scout",
        provider="openrouter",
        family="meta-llama_llama",
        context_length=327680,
        max_completion_tokens=16384,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/meta-llama/llama-4-scout",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen2.5-vl-32b-instruct",
        provider="openrouter",
        family="qwen_qwen2",
        context_length=128000,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/qwen/qwen2.5-vl-32b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o1-pro",
        provider="openrouter",
        family="openai_o1",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o1-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/mistral-small-3.1-24b-instruct",
        provider="openrouter",
        family="mistralai_mistral",
        context_length=128000,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "repetition_penalty",
            "seed",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/mistral-small-3.1-24b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-3-4b-it:free",
        provider="openrouter",
        family="google_gemma",
        context_length=32768,
        max_completion_tokens=8192,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "response_format", "seed", "stop", "temperature", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-3-4b-it:free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-3-4b-it",
        provider="openrouter",
        family="google_gemma",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/google/gemma-3-4b-it",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-3-12b-it:free",
        provider="openrouter",
        family="google_gemma",
        context_length=32768,
        max_completion_tokens=8192,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "seed", "stop", "temperature", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-3-12b-it:free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-3-12b-it",
        provider="openrouter",
        family="google_gemma",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/google/gemma-3-12b-it",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-3-27b-it:free",
        provider="openrouter",
        family="google_gemma",
        context_length=131072,
        max_completion_tokens=8192,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "response_format", "seed", "stop", "temperature", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-3-27b-it:free",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemma-3-27b-it",
        provider="openrouter",
        family="google_gemma",
        context_length=131072,
        max_completion_tokens=16384,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemma-3-27b-it",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="perplexity/sonar-reasoning-pro",
        provider="openrouter",
        family="perplexity_sonar",
        context_length=128000,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "max_tokens",
            "presence_penalty",
            "reasoning",
            "temperature",
            "top_k",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/perplexity/sonar-reasoning-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="perplexity/sonar-pro",
        provider="openrouter",
        family="perplexity_sonar",
        context_length=200000,
        max_completion_tokens=8000,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "temperature",
            "top_k",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/perplexity/sonar-pro",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.0-flash-lite-001",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=8192,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "max_tokens",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.0-flash-lite-001",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-3.7-sonnet",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=128000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-3.7-sonnet",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-3.7-sonnet:thinking",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=64000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "stop",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-3.7-sonnet:thinking",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="google/gemini-2.0-flash-001",
        provider="openrouter",
        family="google_gemini",
        context_length=1048576,
        max_completion_tokens=8192,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("text",),
        supported_parameters=(
            "max_tokens",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/google/gemini-2.0-flash-001",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen-vl-plus",
        provider="openrouter",
        family="qwen_qwen",
        context_length=131072,
        max_completion_tokens=8192,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "presence_penalty", "response_format", "seed", "temperature", "top_p"),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen-vl-plus",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen-vl-max",
        provider="openrouter",
        family="qwen_qwen",
        context_length=131072,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen-vl-max",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="qwen/qwen2.5-vl-72b-instruct",
        provider="openrouter",
        family="qwen_qwen2",
        context_length=32768,
        max_completion_tokens=32768,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "max_tokens",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/qwen/qwen2.5-vl-72b-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="perplexity/sonar",
        provider="openrouter",
        family="perplexity_sonar",
        context_length=127072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "temperature",
            "top_k",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/perplexity/sonar",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="minimax/minimax-01",
        provider="openrouter",
        family="minimax_minimax",
        context_length=1000192,
        max_completion_tokens=1000192,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "temperature", "top_p"),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/minimax/minimax-01",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/o1",
        provider="openrouter",
        family="openai_o1",
        context_length=200000,
        max_completion_tokens=100000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "include_reasoning",
            "max_tokens",
            "reasoning",
            "response_format",
            "seed",
            "structured_outputs",
            "tool_choice",
            "tools",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/o1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="amazon/nova-lite-v1",
        provider="openrouter",
        family="amazon_nova",
        context_length=300000,
        max_completion_tokens=5120,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "stop", "temperature", "tools", "top_k", "top_p"),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/amazon/nova-lite-v1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="amazon/nova-pro-v1",
        provider="openrouter",
        family="amazon_nova",
        context_length=300000,
        max_completion_tokens=5120,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "stop", "temperature", "tools", "top_k", "top_p"),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/amazon/nova-pro-v1",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o-2024-11-20",
        provider="openrouter",
        family="openai_gpt_4o_2024",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o-2024-11-20",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="mistralai/pixtral-large-2411",
        provider="openrouter",
        family="mistralai_pixtral",
        context_length=131072,
        max_completion_tokens=None,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/mistralai/pixtral-large-2411",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-3.5-haiku",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=8192,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "stop", "temperature", "tool_choice", "tools", "top_k", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-3.5-haiku",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="meta-llama/llama-3.2-11b-vision-instruct",
        provider="openrouter",
        family="meta-llama_llama",
        context_length=131072,
        max_completion_tokens=16384,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "temperature",
            "top_k",
            "top_p",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/meta-llama/llama-3.2-11b-vision-instruct",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o-2024-08-06",
        provider="openrouter",
        family="openai_gpt_4o_2024",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_completion_tokens",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o-2024-08-06",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o-mini-2024-07-18",
        provider="openrouter",
        family="openai_gpt_4o_mini",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o-mini-2024-07-18",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o-mini",
        provider="openrouter",
        family="openai_gpt_4o_mini",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_completion_tokens",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o-mini",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o-2024-05-13",
        provider="openrouter",
        family="openai_gpt_4o_2024",
        context_length=128000,
        max_completion_tokens=4096,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_completion_tokens",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o-2024-05-13",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o",
        provider="openrouter",
        family="openai_gpt_4o",
        context_length=128000,
        max_completion_tokens=16384,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_completion_tokens",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4o:extended",
        provider="openrouter",
        family="openai_gpt_4o_extended",
        context_length=128000,
        max_completion_tokens=64000,
        input_modalities=("file", "image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4o:extended",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openai/gpt-4-turbo",
        provider="openrouter",
        family="openai_gpt_4_turbo",
        context_length=128000,
        max_completion_tokens=4096,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=(
            "frequency_penalty",
            "logit_bias",
            "logprobs",
            "max_tokens",
            "presence_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_logprobs",
            "top_p",
        ),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/openai/gpt-4-turbo",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="anthropic/claude-3-haiku",
        provider="openrouter",
        family="anthropic_claude",
        context_length=200000,
        max_completion_tokens=4096,
        input_modalities=("image", "text"),
        output_modalities=("text",),
        supported_parameters=("max_tokens", "stop", "temperature", "tool_choice", "tools", "top_k", "top_p"),
        preferred_contract_profile="google_family_compare",
        preferred_stage_max_tokens=4096,
        docs_url="https://openrouter.ai/anthropic/claude-3-haiku",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
    ModelCapabilityProfile(
        model_id="openrouter/auto",
        provider="openrouter",
        family="openrouter_auto",
        context_length=2000000,
        max_completion_tokens=None,
        input_modalities=("audio", "file", "image", "text", "video"),
        output_modalities=("image", "text"),
        supported_parameters=(
            "frequency_penalty",
            "include_reasoning",
            "logit_bias",
            "logprobs",
            "max_completion_tokens",
            "max_tokens",
            "min_p",
            "presence_penalty",
            "reasoning",
            "reasoning_effort",
            "repetition_penalty",
            "response_format",
            "seed",
            "stop",
            "structured_outputs",
            "temperature",
            "tool_choice",
            "tools",
            "top_k",
            "top_logprobs",
            "top_p",
            "web_search_options",
        ),
        preferred_contract_profile=None,
        preferred_stage_max_tokens=None,
        docs_url="https://openrouter.ai/openrouter/auto",
        last_reviewed="2026-04-13",
        notes="Generated candidate from OpenRouter catalog; review before runtime fallback promotion.",
    ),
)
