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-2.0-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-2.0-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_KEY

レスポンスの本文

成功した場合、レスポンスの本文には Model のインスタンスが含まれます。

メソッド: models.list

Gemini API で使用可能な Model のリストを取得します。

エンドポイント

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

クエリ パラメータ

pageSize integer

返される Models の最大数(ページごと)。

指定しない場合、ページごとに 50 個のモデルが返されます。このメソッドは、pageSize に大きな値を渡した場合でも、ページあたり最大 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_KEY

レスポンスの本文

モデルのページネーション リストを含む ListModel からのレスポンス。

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

フィールド
models[] object (Model)

返されるモデル。

nextPageToken string

次のページを取得するために pageToken として送信できるトークン。

このフィールドを省略すると、それ以上ページは取得されません。

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

REST リソース: モデル

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

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
}