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를 전달하더라도 페이지당 최대 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_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 메서드 이름은 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자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. - 국제 문자는 허용됩니다.

사용: - 애그리게이터의 안전 식별자: 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자 (유니코드 코드 포인트) 이하여야 하며 소문자, 숫자, 밑줄, 대시만 포함할 수 있습니다. - 국제 문자는 허용됩니다.

사용: - 애그리게이터의 안전 식별자: safety_identifier 키를 사용합니다 (예: {"safety_identifier": "user_session_123"}).

"key": value 쌍 목록을 포함하는 객체입니다. 예를 들면 { "name": "wrench", "mass": "1.3kg", "count": "3" }입니다.

응답 본문

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