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)

貝殼

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
		}
	}
}

貝殼

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

這個模型允許的輸入詞元數量上限。

outputTokenLimit integer

這個模型可用的輸出詞元數量上限。

supportedGenerationMethods[] string

模型支援的生成方法。

對應的 API 方法名稱會定義為 Pascal 命名法字串,例如 generateMessage 和 generateContent。

thinking boolean

模型是否支援思考功能。

temperature number

控制輸出內容的隨機程度。

值可以超過 [0.0,maxTemperature] (含)。值越高,回覆越多元;值越接近 0.0,模型回覆通常越不令人意外。這個值會指定後端呼叫模型時使用的預設值。

maxTemperature number

這個模型可使用的最高溫度。

topP number

核心取樣。

核心取樣會考量機率總和至少為 topP 的最小詞元組合。這個值會指定後端呼叫模型時使用的預設值。

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 碼點),且只能包含小寫英文字母、數字、底線和破折號。- 可以使用國際字元。

用法:- 來自集結網站的安全 ID:使用 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

(選用步驟) 設定後,系統會將這些 Webhook URI 用於 Webhook 事件,而非已註冊的 Webhook。

labels map (key: string, value: string)

(選用步驟) 要求的使用者定義中繼資料標籤。

(選用步驟) 標籤必須符合標準統一 Cloud 標籤規定:- 標籤鍵開頭須為英文字母。- 標籤鍵和值的長度不得超過 63 個字元 (Unicode 碼點),且只能包含小寫英文字母、數字、底線和破折號。- 可以使用國際字元。

用法:- 來自集結網站的安全 ID:使用 safety_identifier 鍵 (例如 {"safety_identifier": "user_session_123"})

這個物件中包含 "key": value 組合的清單,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

回應主體

如果成功,回應主體會包含 Operation 的執行個體。