CountTokens API는 요청을 Gemini API에 전송하기 전에 입력 토큰 수를 계산합니다.
CountTokens API를 사용하면 요청이 모델 컨텍스트 윈도우를 초과하지 않게 하고 청구 가능한 문자 또는 토큰을 기준으로 잠재 비용을 예측할 수 있습니다.
CountTokens API는 Gemini API 추론 요청과 동일한 contents 파라미터를 사용할 수 있습니다.
지원되는 모델
- Gemini 3 Pro (프리뷰)
- Gemini 3 Pro Image (프리뷰)
- Gemini 2.5 Pro
- Gemini 2.5 Flash (프리뷰)
- Gemini 2.5 Flash-Lite (프리뷰)
- Gemini 2.5 Flash Image
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- 이미지 생성을 지원하는 Gemini 2.0 Flash (프리뷰)
- Gemini 2.0 Flash
- Gemini 2.0 Flash-Lite
매개변수 목록
이 클래스는 role과 parts라는 두 가지 기본 속성으로 구성됩니다. role 속성은 콘텐츠를 생성하는 개별 사용자를 나타내고 parts 속성에는 여러 요소가 포함되며 각 요소는 메시지 내 데이터 세그먼트를 나타냅니다.
| 매개변수 | |
|---|---|
|
선택사항: 메시지를 만드는 항목의 ID입니다. 문자열을 다음 중 하나로 설정합니다.
멀티턴이 아닌 대화의 경우 이 필드를 비워 두거나 설정하지 않을 수 있습니다. |
|
단일 메시지를 구성하는 순서가 지정된 부분의 목록입니다. 부분마다 IANA MIME 유형이 다를 수 있습니다. |
Part
멀티 파트 Content 메시지의 일부인 미디어를 포함하는 데이터 유형입니다.
| 매개변수 | |
|---|---|
|
선택사항: 텍스트 프롬프트 또는 코드 스니펫입니다. |
|
선택사항: 원시 바이트의 인라인 데이터입니다. |
|
(선택사항) 파일에 저장된 데이터입니다. |
Blob
콘텐츠 blob. 가능하다면 원시 바이트가 아닌 텍스트로 보내세요.
| 매개변수 | |
|---|---|
|
데이터의 IANA MIME 유형입니다. |
|
원시 바이트입니다. |
FileData
URI 기반 데이터.
| 매개변수 | |
|---|---|
|
데이터의 IANA MIME 유형입니다. |
|
데이터를 저장하는 파일에 대한 Cloud Storage URI입니다. |
system_instruction
이 필드는 사용자가 제공한 system_instructions용입니다. contents와 동일하지만 콘텐츠 유형에 대한 지원이 제한됩니다.
| 매개변수 | |
|---|---|
|
데이터의 IANA MIME 유형입니다. 이 필드는 내부적으로 무시됩니다. |
|
텍스트 전용. 사용자가 모델에 전달하려는 안내입니다. |
FunctionDeclaration
모델에서 JSON 입력을 생성할 수 있는 함수를 나타내는 OpenAPI 3.0 사양에서 정의된 함수 선언의 구조화된 표현입니다.
| 매개변수 | |
|---|---|
|
호출하려는 함수의 이름입니다. |
|
선택사항: 함수 설명 및 용도입니다. |
|
선택사항: 함수 파라미터를 OpenAPI JSON 스키마 객체 형식인 OpenAPI 3.0 사양으로 설명합니다. |
|
선택사항: 함수의 출력을 OpenAPI JSON 스키마 객체 형식인 OpenAPI 3.0 사양으로 설명합니다. |
예시
텍스트 프롬프트에서 토큰 수 가져오기
이 예시에서는 단일 텍스트 프롬프트의 토큰을 집계합니다.
REST
Vertex AI API를 사용하여 프롬프트에 대해 토큰 수 및 청구 가능한 문자 수를 가져오려면POST 요청을 게시자 모델 엔드포인트에 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다. 사용 가능한 옵션은 다음과 같습니다.
클릭하여 사용 가능한 리전의 일부 목록 펼치기
us-central1us-west4northamerica-northeast1us-east4us-west1asia-northeast3asia-southeast1asia-northeast1
- PROJECT_ID: 프로젝트 ID입니다.
- MODEL_ID: 사용할 멀티모달 모델의 모델 ID입니다.
- ROLE: 콘텐츠와 연결된 대화의 역할입니다. 싱글턴 사용 사례에서도 역할을 지정해야 합니다.
허용되는 값은 다음과 같습니다.
USER: 전송한 콘텐츠를 지정합니다.
- TEXT: 프롬프트에 포함할 텍스트 안내입니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
JSON 요청 본문:
{
"contents": [{
"role": "ROLE",
"parts": [{
"text": "TEXT"
}]
}]
}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 수신됩니다.
Python
설치
pip install --upgrade google-genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Go를 설치하거나 업데이트하는 방법을 알아보세요.
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
설치
npm install @google/genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Java를 설치하거나 업데이트하는 방법을 알아보세요.
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
미디어 프롬프트에서 토큰 수 가져오기
이 예시에서는 다양한 미디어 유형을 사용하는 프롬프트의 토큰을 집계합니다.
REST
Vertex AI API를 사용하여 프롬프트에 대해 토큰 수 및 청구 가능한 문자 수를 가져오려면POST 요청을 게시자 모델 엔드포인트에 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다. 사용 가능한 옵션은 다음과 같습니다.
클릭하여 사용 가능한 리전의 일부 목록 펼치기
us-central1us-west4northamerica-northeast1us-east4us-west1asia-northeast3asia-southeast1asia-northeast1
- PROJECT_ID: .
- MODEL_ID: 사용할 멀티모달 모델의 모델 ID입니다.
- ROLE: 콘텐츠와 연결된 대화의 역할입니다. 싱글턴 사용 사례에서도 역할을 지정해야 합니다.
허용되는 값은 다음과 같습니다.
USER: 전송한 콘텐츠를 지정합니다.
- TEXT: 프롬프트에 포함할 텍스트 안내입니다.
- FILE_URI: 프롬프트에 포함할 파일의 URI 또는 URL입니다. 허용되는 값은 다음과 같습니다.
- Cloud Storage 버킷 URI: 객체는 공개적으로 읽을 수 있거나 요청을 보내는 동일한 Google Cloud 프로젝트에 있어야 합니다.
gemini-2.0-flash및gemini-2.0-flash-lite의 경우 크기 제한은 2GB입니다. - HTTP URL: 파일 URL은 공개적으로 읽을 수 있어야 합니다. 요청당 동영상 파일 하나, 오디오 파일 하나, 이미지 파일 최대 10개를 지정할 수 있습니다. 오디오 파일, 동영상 파일, 문서는 15MB를 초과할 수 없습니다.
- YouTube 동영상 URL: YouTube 동영상은 Google Cloud 콘솔에 로그인하는 데 사용된 계정이 소유한 것이거나 공개된 동영상이어야 합니다. 요청당 하나의 YouTube 동영상 URL만 지원됩니다.
fileURI를 지정할 때는 파일의 미디어 유형(mimeType)도 지정해야 합니다. VPC 서비스 제어가 사용 설정된 경우fileURI의 미디어 파일 URL을 지정할 수 없습니다. - Cloud Storage 버킷 URI: 객체는 공개적으로 읽을 수 있거나 요청을 보내는 동일한 Google Cloud 프로젝트에 있어야 합니다.
- MIME_TYPE:
data또는fileUri필드에 지정된 파일의 미디어 유형입니다. 허용되는 값은 다음과 같습니다.클릭하여 MIME 유형 펼치기
application/pdfaudio/mpegaudio/mp3audio/wavimage/pngimage/jpegimage/webptext/plainvideo/movvideo/mpegvideo/mp4video/mpgvideo/avivideo/wmvvideo/mpegpsvideo/flv
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens
JSON 요청 본문:
{
"contents": [{
"role": "ROLE",
"parts": [
{
"file_data": {
"file_uri": "FILE_URI",
"mime_type": "MIME_TYPE"
}
},
{
"text": "TEXT
}
]
}]
}
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens"
PowerShell
요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:countTokens" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 수신됩니다.
Python
설치
pip install --upgrade google-genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Go
Go를 설치하거나 업데이트하는 방법을 알아보세요.
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Node.js
설치
npm install @google/genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
Java
Java를 설치하거나 업데이트하는 방법을 알아보세요.
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 생성형 AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
다음 단계
- Gemini API 자세히 알아보기