Models

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 の最大数(ページごと)。

指定しない場合、1 ページあたり 50 個のモデルが返されます。このメソッドは、より大きな pageSize を渡した場合でも、1 ページあたり最大 1, 000 個のモデルを返します。

pageToken string

前回の models.list 呼び出しから受け取ったページトークン。

1 つのリクエストで返された 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 からのレスポンス。Model のページ分けされたリストが含まれます。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

フィールド

返されるモデル。

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 メソッド名は、generateMessage や generateContent などのパスカルケースの文字列として定義されます。

thinking boolean

モデルが思考をサポートしているかどうか。

temperature number

出力のランダム性を制御します。

値の範囲は [0.0,maxTemperature] です(両端を含む)。値が大きいほど、より多様なレスポンスが生成されます。一方、0.0 に近い値では、通常、モデルからのレスポンスの意外性が低くなります。この値は、モデルの呼び出し時にバックエンドで使用されるデフォルト値を指定します。

maxTemperature number

このモデルで使用できる最大温度。

topP number

核サンプリングの場合。

Nucleus サンプリングでは、確率の合計が topP 以上の最小のトークンセットが考慮されます。この値は、モデルの呼び出し時にバックエンドで使用されるデフォルト値を指定します。

topK integer

Top-K サンプリング。

Top-K サンプリングでは、最も確率の高い topK 個のトークンのセットが考慮されます。この値は、モデルの呼び出し時にバックエンドで使用されるデフォルト値を指定します。空の場合、モデルはトップ 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

予測リクエストを実行します。

エンドポイント

post 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 を返します。

エンドポイント

post 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 ではなく、これらの Webhook URI が Webhook イベントに使用されます。

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 のインスタンスが含まれます。