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 호출에서 받은 페이지 토큰입니다.

다음 페이지를 가져오기 위해 하나의 요청에서 반환된 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의 응답입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

Fields
models[] object (Model)

반환된 모델입니다.

nextPageToken string

다음 페이지를 검색하기 위해 pageToken으로 전송할 수 있는 토큰입니다.

이 필드를 생략하면 더 이상 페이지가 없습니다.

JSON 표현
{
  "models": [
    {
      object (Model)
    }
  ],
  "nextPageToken": string
}

REST 리소스: models

리소스: Model

생성형 언어 모델에 관한 정보입니다.

Fields
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개의 토큰 집합을 고려합니다. 이 값은 모델을 호출하는 동안 백엔드에서 사용할 기본값을 지정합니다. 비어 있으면 모델이 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

예측 요청을 실행합니다.

엔드포인트

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

경로 매개변수

model string

필수입니다. 예측에 사용할 모델의 이름입니다. 형식: name=models/{model} models/{model} 형식이 사용됩니다.

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

필드
instances[] value (Value format)

필수입니다. 예측 호출에 입력되는 인스턴스입니다.

parameters value (Value format)

선택사항입니다. 예측 호출을 제어하는 매개변수입니다.

응답 본문

[PredictionService.Predict]의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

Fields
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)

선택사항입니다. 예측 호출을 제어하는 매개변수입니다.

응답 본문

성공한 경우 응답 본문에 Operation의 인스턴스가 포함됩니다.