Models

通过模型端点,您可以通过编程方式列出可用模型,并检索扩展元数据,例如支持的功能和上下文窗口大小。如需了解详情,请参阅模型指南。

方法:models.get

获取有关特定 Model 的信息,例如其版本号、词元限制、参数和其他元数据。如需了解详细的模型信息,请参阅 Gemini 模型指南。

端点

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

路径参数

name string

必需。模型的资源名称。

此名称应与 models.list 方法返回的模型名称一致。

格式:models/{model}。格式为 models/{model}。

请求正文

请求正文必须为空。

示例请求

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

方法:models.list

列出可通过 Gemini API 访问的 Model。

端点

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

查询参数

pageSize integer

要返回的 Models 的数量上限(每页)。

如果未指定,则每页返回 50 个模型。即使您传递了更大的 pageSize,此方法每页最多也只会返回 1000 个模型。

pageToken string

从之前的 models.list 调用中收到的页面令牌。

将一个请求返回的 pageToken 作为下一个请求的参数提供,以检索下一页。

进行分页时,提供给 models.list 的所有其他参数必须与提供页面令牌的调用匹配。

请求正文

请求正文必须为空。

示例请求

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

响应正文

来自 ListModel 的响应,其中包含分页的模型列表。

如果成功,响应正文将包含结构如下的数据:

字段

返回的模型。

nextPageToken string

可作为 pageToken 发送并用于检索下一页的令牌。

如果省略此字段,则表示没有更多页面。

JSON 表示法
{
  "models": [
    {
      object (Model)
    }
  ],
  "nextPageToken": string
}

REST 资源:models

资源:Model

生成式语言模型的相关信息。

字段
name string

必需。Model 的资源名称。如需了解所有允许的值,请参阅模型变体。

格式:models/{model},{model} 命名规范如下:

  • "{baseModelId}-{version}"

示例:

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

必需。基础模型的名称,将其传递给生成请求。

示例:

  • gemini-1.5-flash
version string

必需。模型的版本号。

这表示主要版本(1.0 或 1.5)

displayName string

模型的直观易懂名称。例如“Gemini 1.5 Flash”。

名称不得超过 128 个字符,可以包含任何 UTF-8 字符。

description string

模型的简短说明。

inputTokenLimit integer

此模型允许的输入 token 数量上限。

outputTokenLimit integer

此模型可用的输出 token 数量上限。

supportedGenerationMethods[] string

模型支持的生成方法。

相应的 API 方法名称定义为 Pascal 大小写字符串,例如 generateMessage 和 generateContent。

thinking boolean

模型是否支持思考。

temperature number

控制输出的随机性。

值可以大于或等于 [0.0,maxTemperature]。值越高,生成的回答就越多样化;值越接近 0.0,模型生成的回答通常就越在意料之中。此值指定后端在调用模型时要使用的默认值。

maxTemperature number

此模型可以使用的最高温度。

topP number

对于核采样。

核采样会考虑概率总和至少为 topP 的最小 token 集。此值指定后端在调用模型时要使用的默认值。

topK integer

用于 Top-k 采样。

Top-k 采样会考虑 topK 个最可能的词元。此值指定后端在调用模型时要使用的默认值。如果为空,则表示模型不使用 top-k 采样,并且不允许将 topK 用作生成参数。

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
}

方法:models.predict

执行预测请求。

端点

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

路径参数

model string

必需。用于预测的模型名称。格式:name=models/{model}。格式为 models/{model}。

请求正文

请求正文中包含结构如下的数据:

字段
instances[] value (Value format)

必需。作为预测调用的输入的实例。

parameters value (Value format)

可选。用于控制预测调用的参数。

labels map (key: string, value: string)

可选。请求的带有用户定义元数据的标签。

可选。标签必须遵循标准的统一 Cloud 标签要求:- 标签键必须以字母开头。- 标签键和值不得超过 63 个字符(Unicode 代码点),并且只能包含小写字母、数字字符、下划线和短划线。- 允许使用国际字符。

用法:- 聚合器的安全标识符:使用键 safety_identifier(例如 {"safety_identifier": "user_session_123"})

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

响应正文

[PredictionService.Predict] 的响应消息。

如果成功,响应正文将包含结构如下的数据:

字段
predictions[] value (Value format)

预测调用的输出。

JSON 表示法
{
  "predictions": [
    value
  ]
}

方法:models.predictLongRunning

与 models.predict 相同,但会返回 LRO。

端点

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

路径参数

model string

必需。用于预测的模型名称。格式:name=models/{model}。

请求正文

请求正文中包含结构如下的数据:

字段
instances[] value (Value format)

必需。作为预测调用的输入的实例。

parameters value (Value format)

可选。用于控制预测调用的参数。

webhookConfig.uris[] string

可选。如果设置了这些网络钩子 URI,则系统会将其用于网络钩子事件,而不是已注册的网络钩子。

labels map (key: string, value: string)

可选。请求的带有用户定义元数据的标签。

可选。标签必须遵循标准的统一 Cloud 标签要求:- 标签键必须以字母开头。- 标签键和值不得超过 63 个字符(Unicode 代码点),并且只能包含小写字母、数字字符、下划线和短划线。- 允许使用国际字符。

用法:- 聚合器的安全标识符:使用键 safety_identifier(例如 {"safety_identifier": "user_session_123"})

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

响应正文

如果成功,则响应正文包含一个 Operation 实例。