VOOZH about

URL: https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai

⇱ Claude on Vertex AI - Claude API Docs


Vertex AI
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Was this page helpful?

The Vertex API for accessing Claude is nearly identical to the Messages API, with two key differences in request format:

Vertex is also supported by Anthropic's official client SDKs. This guide walks you through making a request to Claude on Vertex AI using one of Anthropic's client SDKs.

Note that this guide assumes you already have a GCP project that is able to use Vertex AI. See Anthropic Claude models on Vertex AI for more information on the setup required and a full walkthrough.

Install an SDK for accessing Vertex AI

First, install Anthropic's client SDK for your language of choice.

Accessing Vertex AI

Model availability

Note that Anthropic model availability varies by region. Search for "Claude" in the Vertex AI Model Garden or go to Anthropic Claude models for the latest information.

API model IDs

Lifecycle terms (Deprecated, Retired) are defined in Model deprecations. Lifecycle dates on partner-operated platforms are set by the partner and can differ from the Claude API schedule. For the current retirement date of any model on Vertex AI, see Google Cloud's documentation for Claude models on Vertex AI.

ModelVertex AI API model ID
Claude Fable 5claude-fable-5
Claude Opus 4.8claude-opus-4-8
Claude Opus 4.7claude-opus-4-7
Claude Opus 4.6claude-opus-4-6
Claude Sonnet 4.6claude-sonnet-4-6
Claude Sonnet 4.5claude-sonnet-4-5@20250929
Claude Sonnet 4
Deprecated.
claude-sonnet-4@20250514
Claude Sonnet 3.7
Retired.
claude-3-7-sonnet@20250219
Claude Opus 4.5claude-opus-4-5@20251101
Claude Opus 4.1
Deprecated.
claude-opus-4-1@20250805
Claude Opus 4
Deprecated.

Upgrading to a newer Claude model? In Claude Code, run /claude-api migrate to apply model ID swaps and breaking parameter changes across your codebase. The skill detects which cloud platform your code targets and adjusts model ID formats and feature changes for that platform. See Migrating to a newer Claude model.

Making requests

Before running requests you may need to run gcloud auth application-default login to authenticate with GCP.

The following examples show how to generate text from Claude on Vertex AI:

See the client SDKs and the official Vertex AI docs for more details.

Claude is also available through Amazon Bedrock, Claude Platform on AWS, and Microsoft Foundry.

Data retention

Data handling for this offering is governed by Google Cloud Vertex AI. For details, see Vertex AI and zero data retention.

Activity logging

Vertex provides a request-response logging service that allows customers to log the prompts and completions associated with your usage.

Anthropic recommends that you log your activity on at least a 30-day rolling basis in order to understand your activity and investigate any potential misuse.

Turning on this service does not give Google or Anthropic any access to your content.

Feature support

For the full feature list with Vertex AI availability, see Features overview.

Supported feature highlights

Features not supported

Context window

Claude Fable 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, and Claude Sonnet 4.6 have a 1M-token context window on Vertex AI. Other Claude models, including Sonnet 4.5 and Sonnet 4 (deprecated), have a 200k-token context window.

Vertex AI limits request payloads to 30 MB. When sending large documents or many images, you may reach this limit before the token limit.

Global, multi-region, and regional endpoints

Vertex AI offers three endpoint types:

Regional and multi-region endpoints include a 10% pricing premium over global endpoints.

This applies to Claude Sonnet 4.5 and future models only. Older models (Claude Sonnet 4 (deprecated), Opus 4 (deprecated), and earlier) maintain their existing pricing structures.

When to use each option

Global endpoints (recommended):

Multi-region endpoints:

Regional endpoints:

Implementation

Using global endpoints (recommended):

Set the region parameter to "global" when initializing the client:

Using multi-region endpoints:

Set the region parameter to a multi-region identifier: "us" for the United States or "eu" for the European Union. The SDK routes requests to the corresponding multi-region endpoint (https://aiplatform.us.rep.googleapis.com or https://aiplatform.eu.rep.googleapis.com), which dynamically balances traffic across regions within that geography.

Using regional endpoints:

Specify a specific region like "us-east1" or "europe-west1":

Claude Mythos Preview is a research preview available to invited customers on Vertex AI. For more information, see Project Glasswing.

Additional resources

claude-opus-4@20250514
Claude Haiku 4.5claude-haiku-4-5@20251001
Claude Haiku 3.5
Deprecated.
claude-3-5-haiku@20241022
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "global"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
 model="claude-opus-4-8",
 max_tokens=100,
 messages=[
 {
 "role": "user",
 "content": "Hey Claude!",
 }
 ],
)
print(message)
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "global"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
 model="claude-opus-4-8",
 max_tokens=100,
 messages=[
 {
 "role": "user",
 "content": "Hey Claude!",
 }
 ],
)
print(message)
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "us" # Multi-region identifier: "us" or "eu"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
 model="claude-opus-4-8",
 max_tokens=100,
 messages=[
 {
 "role": "user",
 "content": "Hey Claude!",
 }
 ],
)
print(message)
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "us-east1" # Specify a specific region

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
 model="claude-opus-4-8",
 max_tokens=100,
 messages=[
 {
 "role": "user",
 "content": "Hey Claude!",
 }
 ],
)
print(message)