{
  "_README": {
    "description": "Model metadata for Google's Gemini API access.",
    "documentation": "https://github.com/BeehiveInnovations/zen-mcp-server/blob/main/docs/custom_models.md",
    "usage": "Models listed here are exposed directly through the Gemini provider. Aliases are case-insensitive.",
    "field_notes": "Matches providers/shared/model_capabilities.py.",
    "field_descriptions": {
      "model_name": "The model identifier (e.g., 'gemini-2.5-pro', 'gemini-2.0-flash')",
      "aliases": "Array of short names users can type instead of the full model name",
      "context_window": "Total number of tokens the model can process (input + output combined)",
      "max_output_tokens": "Maximum number of tokens the model can generate in a single response",
      "max_thinking_tokens": "Maximum reasoning/thinking tokens the model will allocate when extended thinking is requested",
      "supports_extended_thinking": "Whether the model supports extended reasoning tokens (currently none do via OpenRouter or custom APIs)",
      "supports_json_mode": "Whether the model can guarantee valid JSON output",
      "supports_function_calling": "Whether the model supports function/tool calling",
      "supports_images": "Whether the model can process images/visual input",
      "max_image_size_mb": "Maximum total size in MB for all images combined (capped at 40MB max for custom models)",
      "supports_temperature": "Whether the model accepts temperature parameter in API calls (set to false for O3/O4 reasoning models)",
      "temperature_constraint": "Type of temperature constraint: 'fixed' (fixed value), 'range' (continuous range), 'discrete' (specific values), or omit for default range",
      "use_openai_response_api": "Set to true when the model must use the /responses endpoint (reasoning models like GPT-5 Pro). Leave false/omit for standard chat completions.",
      "default_reasoning_effort": "Default reasoning effort level for models that support it (e.g., 'low', 'medium', 'high'). Omit if not applicable.",
      "description": "Human-readable description of the model",
      "intelligence_score": "1-20 human rating used as the primary signal for auto-mode model ordering",
      "allow_code_generation": "Whether this model can generate and suggest fully working code - complete with functions, files, and detailed implementation instructions - for your AI tool to use right away. Only set this to 'true' for a model more capable than the AI model / CLI you're currently using."
    }
  },
  "models": [
    {
      "model_name": "gemini-3-pro-preview",
      "friendly_name": "Gemini Pro 3.0 Preview",
      "aliases": [
        "pro",
        "gemini3",
        "gemini-pro"
      ],
      "intelligence_score": 18,
      "description": "Deep reasoning + thinking mode (1M context) - Complex problems, architecture, deep analysis",
      "context_window": 1048576,
      "max_output_tokens": 65536,
      "max_thinking_tokens": 32768,
      "supports_extended_thinking": true,
      "supports_system_prompts": true,
      "supports_streaming": true,
      "supports_function_calling": true,
      "supports_json_mode": true,
      "supports_images": true,
      "supports_temperature": true,
      "allow_code_generation": true,
      "max_image_size_mb": 32.0
    },
    {
      "model_name": "gemini-2.5-pro",
      "friendly_name": "Gemini Pro 2.5",
      "aliases": [
        "gemini-pro-2.5"
      ],
      "intelligence_score": 18,
      "description": "Older Model. 1M context - Complex problems, architecture, deep analysis",
      "context_window": 1048576,
      "max_output_tokens": 65536,
      "max_thinking_tokens": 32768,
      "supports_extended_thinking": true,
      "supports_system_prompts": true,
      "supports_streaming": true,
      "supports_function_calling": true,
      "supports_json_mode": true,
      "supports_images": true,
      "supports_temperature": true,
      "allow_code_generation": true,
      "max_image_size_mb": 32.0
    },
    {
      "model_name": "gemini-2.0-flash",
      "friendly_name": "Gemini (Flash 2.0)",
      "aliases": [
        "flash-2.0",
        "flash2"
      ],
      "intelligence_score": 9,
      "description": "Gemini 2.0 Flash (1M context) - Latest fast model with experimental thinking, supports audio/video input",
      "context_window": 1048576,
      "max_output_tokens": 65536,
      "max_thinking_tokens": 24576,
      "supports_extended_thinking": true,
      "supports_system_prompts": true,
      "supports_streaming": true,
      "supports_function_calling": true,
      "supports_json_mode": true,
      "supports_images": true,
      "supports_temperature": true,
      "max_image_size_mb": 20.0
    },
    {
      "model_name": "gemini-2.0-flash-lite",
      "friendly_name": "Gemini (Flash Lite 2.0)",
      "aliases": [
        "flashlite",
        "flash-lite"
      ],
      "intelligence_score": 7,
      "description": "Gemini 2.0 Flash Lite (1M context) - Lightweight fast model, text-only",
      "context_window": 1048576,
      "max_output_tokens": 65536,
      "supports_extended_thinking": false,
      "supports_system_prompts": true,
      "supports_streaming": true,
      "supports_function_calling": true,
      "supports_json_mode": true,
      "supports_images": false,
      "supports_temperature": true
    },
    {
      "model_name": "gemini-2.5-flash",
      "friendly_name": "Gemini (Flash 2.5)",
      "aliases": [
        "flash",
        "flash2.5"
      ],
      "intelligence_score": 10,
      "description": "Ultra-fast (1M context) - Quick analysis, simple queries, rapid iterations",
      "context_window": 1048576,
      "max_output_tokens": 65536,
      "max_thinking_tokens": 24576,
      "supports_extended_thinking": true,
      "supports_system_prompts": true,
      "supports_streaming": true,
      "supports_function_calling": true,
      "supports_json_mode": true,
      "supports_images": true,
      "supports_temperature": true,
      "max_image_size_mb": 20.0
    }
  ]
}
