Models

O endpoint de modelos permite listar de forma programática os modelos disponíveis e recuperar metadados estendidos, como funcionalidades compatíveis e dimensionamento da janela de contexto. Leia mais no guia de modelos.

Método: models.get

Recebe informações sobre um Model específico, como o número da versão, os limites de tokens, os parâmetros e outros metadados. Consulte o guia de modelos do Gemini para mais informações.

Endpoint

get https://generativelanguage.googleapis.com/v1beta/{name=models/*}

Parâmetros de caminho

name string

Obrigatório. O nome do recurso do modelo.

Esse nome precisa corresponder a um nome de modelo retornado pelo método models.list.

Formato: models/{model}. Ele tem o formato models/{model}.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Exemplo de solicitação

Python

from google import genai

client = genai.Client()
model_info = client.models.get(model="gemini-3.8-flash")
print(model_info)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

modelInfo, err := client.Models.Get(ctx, "gemini-3.8-flash", nil)
if err != nil {
	log.Fatal(err)
}

fmt.Println(modelInfo)

Shell

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash?key=$GEMINI_API_KEYpan>.sh

Método: models.list

Lista os Models disponíveis pela API Gemini.

Endpoint

get https://generativelanguage.googleapis.com/v1beta/models

Parâmetros de consulta

pageSize integer

O número máximo de Models a serem retornados (por página).

Se não for especificado, 50 modelos serão retornados por página. Esse método retorna no máximo 1.000 modelos por página, mesmo que você transmita um pageSize maior.

pageToken string

Um token de página recebido de uma chamada models.list anterior.

Forneça o pageToken retornado por uma solicitação como argumento para a próxima solicitação para recuperar a próxima página.

Ao paginar, todos os outros parâmetros fornecidos para models.list precisam corresponder à chamada que forneceu o token da página.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Exemplo de solicitação

Python

from google import genai

client = genai.Client()

print("List of models that support generateContent:\n")
for m in client.models.list():
  for action in m.supported_actions:
    if action == "generateContent":
      print(m.name)

print("List of models that support embedContent:\n")
for m in client.models.list():
  for action in m.supported_actions:
    if action == "embedContent":
      print(m.name)

Go

ctx := context.Background()
client, err := genai.NewClient(ctx, &genai.ClientConfig{
	APIKey:  os.Getenv("GEMINI_API_KEY"),
	Backend: genai.BackendGeminiAPI,
})
if err != nil {
	log.Fatal(err)
}

// Retrieve the list of models.
models, err := client.Models.List(ctx, &genai.ListModelsConfig{})
if err != nil {
	log.Fatal(err)
}

fmt.Println("List of models that support generateContent:")
for _, m := range models.Items {
	for _, action := range m.SupportedActions {
		if action == "generateContent" {
			fmt.Println(m.Name)
			break
		}
	}
}

fmt.Println("\nList of models that support embedContent:")
for _, m := range models.Items {
	for _, action := range m.SupportedActions {
		if action == "embedContent" {
			fmt.Println(m.Name)
			break
		}
	}
}

Shell

curl https://generativelanguage.googleapis.com/v1beta/models?key=$GEMINI_API_KEYpan>.sh

Corpo da resposta

Resposta de ListModel contendo uma lista paginada de modelos.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Campos

Os modelos retornados.

nextPageToken string

Um token, que pode ser enviado como pageToken para recuperar a próxima página.

Se esse campo for omitido, não haverá mais páginas.

Representação JSON
{
  "models": [
    {
      object (Model)
    }
  ],
  "nextPageToken": string
}

Recurso REST: models

Recurso: modelo

Informações sobre um modelo de linguagem generativa.

Campos
name string

Obrigatório. O nome do recurso do Model. Consulte Variantes de modelo para ver todos os valores permitidos.

Formato: models/{model} com uma convenção de nomenclatura {model} de:

  • "{baseModelId}-{version}"

Exemplos:

  • models/gemini-1.5-flash-001
baseModelId string

Obrigatório. O nome do modelo de base, que é transmitido para a solicitação de geração.

Exemplos:

  • gemini-1.5-flash
version string

Obrigatório. O número da versão do modelo.

Representa a versão principal (1.0 ou 1.5)

displayName string

O nome legível por humanos do modelo. Por exemplo, "Gemini 1.5 Flash".

O nome pode ter até 128 caracteres e conter qualquer caractere UTF-8.

description string

Uma breve descrição do modelo.

inputTokenLimit integer

Número máximo de tokens de entrada permitidos para este modelo.

outputTokenLimit integer

Número máximo de tokens de saída disponíveis para este modelo.

supportedGenerationMethods[] string

Os métodos de geração compatíveis com o modelo.

Os nomes dos métodos de API correspondentes são definidos como strings em PascalCase, como generateMessage e generateContent.

thinking boolean

Se o modelo é compatível com o pensamento.

temperature number

Controla a aleatoriedade da saída.

Os valores podem variar acima de [0.0,maxTemperature], inclusive. Um valor mais alto produz respostas mais variadas, enquanto um valor mais próximo de 0.0 geralmente resulta em respostas menos surpreendentes do modelo. Esse valor especifica o padrão a ser usado pelo back-end ao fazer a chamada para o modelo.

maxTemperature number

A temperatura máxima que esse modelo pode usar.

topP number

Para Amostragem de núcleo.

A amostragem de núcleo considera o menor conjunto de tokens cuja soma de probabilidade é de pelo menos topP. Esse valor especifica o padrão a ser usado pelo back-end ao fazer a chamada para o modelo.

topK integer

Para amostragem Top-k.

A amostragem top-k considera o conjunto de topK tokens mais prováveis. Esse valor especifica o padrão a ser usado pelo back-end ao fazer a chamada para o modelo. Se estiver vazio, indica que o modelo não usa a amostragem top-k e que topK não é permitido como um parâmetro de geração.

Representação JSON
{
  "name": string,
  "baseModelId": string,
  "version": string,
  "displayName": string,
  "description": string,
  "inputTokenLimit": integer,
  "outputTokenLimit": integer,
  "supportedGenerationMethods": [
    string
  ],
  "thinking": boolean,
  "temperature": number,
  "maxTemperature": number,
  "topP": number,
  "topK": integer
}

Método: models.predict

Realiza uma solicitação de previsão.

Endpoint

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:predict

Parâmetros de caminho

model string

Obrigatório. O nome do modelo para previsão. Formato: name=models/{model}. Ele tem o formato models/{model}.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Campos
instances[] value (Value format)

Obrigatório. As instâncias que são inseridas na chamada de previsão.

parameters value (Value format)

Opcional. Os parâmetros que controlam a chamada de previsão.

labels map (key: string, value: string)

Opcional. Rótulos com metadados definidos pelo usuário para a solicitação.

Opcional. Os rótulos precisam seguir os requisitos padrão unificados do Cloud: - As chaves de rótulo precisam começar com uma letra. - As chaves e os valores de rótulo não podem ter mais de 63 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. - Caracteres internacionais são permitidos.

Uso: identificadores de segurança de agregadores: use a chave safety_identifier (por exemplo, {"safety_identifier": "user_session_123"})

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Corpo da resposta

Mensagem de resposta para [PredictionService.Predict].

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Campos
predictions[] value (Value format)

As saídas da chamada de previsão.

Representação JSON
{
  "predictions": [
    value
  ]
}

Método: models.predictLongRunning

Igual a models.predict, mas retorna uma LRO.

Endpoint

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:predictLongRunning

Parâmetros de caminho

model string

Obrigatório. O nome do modelo para previsão. Formato: name=models/{model}.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Campos
instances[] value (Value format)

Obrigatório. As instâncias que são inseridas na chamada de previsão.

parameters value (Value format)

Opcional. Os parâmetros que controlam a chamada de previsão.

webhookConfig.uris[] string

Opcional. Se definidos, esses URIs de webhook serão usados para eventos de webhook em vez dos webhooks registrados.

labels map (key: string, value: string)

Opcional. Rótulos com metadados definidos pelo usuário para a solicitação.

Opcional. Os rótulos precisam seguir os requisitos padrão unificados do Cloud: - As chaves de rótulo precisam começar com uma letra. - As chaves e os valores de rótulo não podem ter mais de 63 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. - Caracteres internacionais são permitidos.

Uso: identificadores de segurança de agregadores: use a chave safety_identifier (por exemplo, {"safety_identifier": "user_session_123"})

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta conterá uma instância de Operation.