Request for More Detailed Model Metadata in API Response

Hi team,

I’m currently using the generativelanguage.googleapis.com API to list available models with the endpoint:

GET https://generativelanguage.googleapis.com/v1/models?key=MY_KEY

The response includes helpful basic fields like name, version, displayName, inputTokenLimit, outputTokenLimit, and some generation parameters like temperature, topP, and topK.

However, there is critical information missing that would really improve the developer experience and avoid runtime errors.

For example:

  • There’s no knowledge cutoff field (important for knowing how “up-to-date” a model is).
  • There’s no indication whether a model is a “thinking” model (focused on reasoning) or not.
  • There’s no information about supported input types (text, image, video) or output types.
  • There’s no status field to indicate if a model is active, deprecated, or disabled.

Currently, deprecated models are still being returned in the model list, but trying to use them gives a 404 error like:

{
  "error": {
    "code": 404,
    "message": "Gemini 1.0 Pro Vision has been deprecated on July 12, 2024. Consider switching to a different model, for example gemini-1.5-flash.",
    "status": "NOT_FOUND"
  }
}

There’s no way to detect this programmatically until a request fails — which could be avoided if the metadata included a status field.


How it is today:

{
  "name": "models/gemini-2.0-flash",
  "version": "2.0",
  "displayName": "Gemini 2.0 Flash",
  "description": "Gemini 2.0 Flash",
  "inputTokenLimit": 1048576,
  "outputTokenLimit": 8192,
  "supportedGenerationMethods": [
    "generateContent",
    "countTokens",
    "createCachedContent"
  ],
  "temperature": 1,
  "topP": 0.95,
  "topK": 40,
  "maxTemperature": 2
}

What we would expect (example):

{
  "name": "models/gemini-2.0-flash",
  "version": "2.0",
  "displayName": "Gemini 2.0 Flash",
  "description": "Gemini 2.0 Flash",
  "inputTokenLimit": 1048576,
  "outputTokenLimit": 8192,
  "supportedGenerationMethods": [
    "generateContent",
    "countTokens",
    "createCachedContent"
  ],
  "temperature": 1,
  "topP": 0.95,
  "topK": 40,
  "maxTemperature": 2,

  "knowledgeCutoff": "2024-02-01",
  "thinkingModel": true,
  "supportedInputTypes": ["text", "image"],
  "supportedOutputTypes": ["text"],
  "status": "active"
}

Why this matters:

In my case, I’m developing an n8n integration where users can dynamically select a model to use.
Some workflows require models that accept images (multimodal input), while others need text-only models.

When listing available models through the API, there’s no way to know:

  • If the model accepts images or only text.
  • If the model is still available or already deprecated.

This creates two major problems:

  1. User experience suffers — I cannot correctly filter or validate model choices based on their input capabilities, leading to confusion or failed workflow executions.
  2. Unnecessary runtime errors — A user might select a model that is no longer available (because the list shows deprecated models without warning) or select a model that does not support the required input type.

Hi @Filipe_Caixeta, Thanks for the feedback. will bring this to the team attention. Thank You.

1 Like