---
title: Claude su Google Cloud
url: https://platform.claude.com/docs/it/build-with-claude/claude-on-vertex-ai
description: I modelli Claude di Anthropic sono disponibili tramite [Google Cloud's Agent Platform](https://cloud.google.com/vertex-ai).
---

L'API per accedere a Claude su Google Cloud's Agent Platform è quasi identica alla [Messages API](https://platform.claude.com/docs/it/api/messages/create), con due differenze chiave nel formato della richiesta:

* Su Agent Platform, `model` non viene passato nel corpo della richiesta. Viene invece specificato nell'URL dell'endpoint di Google Cloud.
* Su Agent Platform, `anthropic_version` viene passato nel corpo della richiesta (anziché come header) e deve essere impostato sul valore `vertex-2023-10-16`.

Agent Platform è supportato anche dai [client SDK](https://platform.claude.com/docs/it/cli-sdks-libraries/overview) ufficiali di Anthropic. Questa guida ti accompagna nell'effettuare una richiesta a Claude su Agent Platform utilizzando uno dei client SDK di Anthropic.

Nota che questa guida presuppone che tu disponga già di un progetto Google Cloud in grado di utilizzare Agent Platform. Consulta [Modelli Anthropic Claude su Agent Platform](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude) per maggiori informazioni sulla configurazione richiesta e una procedura guidata completa.

## Installa un SDK per accedere ad Agent Platform

Per prima cosa, installa l'[SDK client](https://platform.claude.com/docs/it/cli-sdks-libraries/overview) di Anthropic per il linguaggio che preferisci.

<Tabs>
  <Tab title="Python">
    ```bash
    pip install -U "anthropic[vertex]"
    ```
  </Tab>

  <Tab title="TypeScript">
    ```bash
    npm install @anthropic-ai/vertex-sdk
    ```
  </Tab>

  <Tab title="C#">
    ```bash
    dotnet add package Anthropic.Vertex
    ```
  </Tab>

  <Tab title="Go">
    ```bash
    go get github.com/anthropics/anthropic-sdk-go
    ```
  </Tab>

  <Tab title="Java">
    <CodeGroup exclude="shell, python, typescript, csharp, go, php, ruby">
      ```groovy Gradle
      implementation("com.anthropic:anthropic-java:2.73.0")
      implementation("com.anthropic:anthropic-java-vertex:2.73.0")
      ```

      ```xml Maven
      <dependency>
          <groupId>com.anthropic</groupId>
          <artifactId>anthropic-java</artifactId>
          <version>2.73.0</version>
      </dependency>
      <dependency>
          <groupId>com.anthropic</groupId>
          <artifactId>anthropic-java-vertex</artifactId>
          <version>2.73.0</version>
      </dependency>
      ```

      ```java Java
      import com.anthropic.client.AnthropicClient;
      import com.anthropic.client.okhttp.AnthropicOkHttpClient;
      import com.anthropic.models.messages.Message;
      import com.anthropic.models.messages.MessageCreateParams;
      import com.anthropic.models.messages.Model;
      import com.anthropic.vertex.backends.VertexBackend;
      import com.google.auth.oauth2.GoogleCredentials;

      void main() throws Exception {
          AnthropicClient client = AnthropicOkHttpClient.builder()
              .backend(
                  VertexBackend.builder()
                      .googleCredentials(GoogleCredentials.getApplicationDefault())
                      .region("global")
                      .project("MY_PROJECT_ID")
                      .build()
              )
              .build();

          MessageCreateParams params = MessageCreateParams.builder()
              .model(Model.CLAUDE_OPUS_5_5)
              .maxTokens(1024L)
              .addUserMessage("What is the capital of France?")
              .build();

          Message response = client.messages().create(params);
          response.content().stream()
              .flatMap(block -> block.text().stream())
              .forEach(textBlock -> IO.println(textBlock.text()));
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="PHP">
    ```bash
    composer require anthropic-ai/sdk google/auth
    ```
  </Tab>

  <Tab title="Ruby">
    ```bash
    # Gemfile
    gem "anthropic"
    gem "googleauth"
    ```
  </Tab>
</Tabs>

## Accesso ad Agent Platform

### Disponibilità dei modelli

Nota che la disponibilità dei modelli Anthropic varia in base alla regione. Cerca "Claude" nel [Model Garden](https://cloud.google.com/model-garden) oppure vai a [Modelli Anthropic Claude](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude) per le informazioni più aggiornate.

#### ID dei modelli API

I termini del ciclo di vita (Deprecated, Retired) sono definiti in [Deprecazioni dei modelli](https://platform.claude.com/docs/it/about-claude/model-deprecations). Le date del ciclo di vita sulle piattaforme gestite dai partner sono stabilite dal partner e possono differire dal calendario della Claude API. Per la data di ritiro attuale di qualsiasi modello su Agent Platform, consulta la [documentazione di Google Cloud per i modelli Claude su Agent Platform](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude).

| Model                                                                                                 | Agent Platform API model ID  |
| :---------------------------------------------------------------------------------------------------- | :--------------------------- |
| Claude Fable 5.1                                                                                      | `claude-fable-5-1`           |
| Claude Mythos 5.1 ([limited availability](https://support.claude.com/en/articles/14604842))           | `claude-mythos-5-1`          |
| Claude Fable 5                                                                                        | `claude-fable-5`             |
| Claude Mythos 5 ([limited availability](https://support.claude.com/en/articles/14604842))             | `claude-mythos-5`            |
| Claude Opus 5.5                                                                                       | `claude-opus-5-5`            |
| Claude Opus 5                                                                                         | `claude-opus-5`              |
| Claude Opus 4.8                                                                                       | `claude-opus-4-8`            |
| Claude Opus 4.7                                                                                       | `claude-opus-4-7`            |
| Claude Opus 4.6                                                                                       | `claude-opus-4-6`            |
| Claude Opus 4.5                                                                                       | `claude-opus-4-5@20251101`   |
| Claude Opus 4.1 ([deprecated](https://platform.claude.com/docs/it/about-claude/model-deprecations))   | `claude-opus-4-1@20250805`   |
| Claude Opus 4 ([deprecated](https://platform.claude.com/docs/it/about-claude/model-deprecations))     | `claude-opus-4@20250514`     |
| Claude Sonnet 5.5                                                                                     | `claude-sonnet-5-5`          |
| Claude Sonnet 5                                                                                       | `claude-sonnet-5`            |
| Claude Sonnet 4.6                                                                                     | `claude-sonnet-4-6`          |
| Claude Sonnet 4.5 ([deprecated](https://platform.claude.com/docs/it/about-claude/model-deprecations)) | `claude-sonnet-4-5@20250929` |
| Claude Sonnet 4 ([deprecated](https://platform.claude.com/docs/it/about-claude/model-deprecations))   | `claude-sonnet-4@20250514`   |
| Claude Haiku 5.5                                                                                      | `claude-haiku-5-5`           |
| Claude Haiku 4.5                                                                                      | `claude-haiku-4-5@20251001`  |
| Claude Haiku 3.5 ([deprecated](https://platform.claude.com/docs/it/about-claude/model-deprecations))  | `claude-3-5-haiku@20241022`  |

<Tip>
  Stai passando a un modello Claude più recente? In Claude Code, esegui `/claude-api migrate` per applicare le sostituzioni degli ID dei modelli e le modifiche incompatibili ai parametri in tutta la tua codebase. La skill rileva a quale piattaforma cloud è destinato il tuo codice e adatta i formati degli ID dei modelli e le modifiche alle funzionalità per quella piattaforma. Consulta [Migrazione a un modello Claude più recente](https://platform.claude.com/docs/it/agents-and-tools/agent-skills/claude-api-skill#migrating-to-a-newer-claude-model).
</Tip>

### Invio di richieste

Prima di eseguire le richieste, potrebbe essere necessario eseguire `gcloud auth application-default login` per autenticarti con Google Cloud.

Gli esempi seguenti mostrano come generare testo da Claude su Agent Platform:

<CodeGroup exclude="shell:CLI">
  ```bash cURL
  MODEL_ID=claude-opus-5-5
  PROJECT_ID=MY_PROJECT_ID

  curl https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/publishers/anthropic/models/${MODEL_ID}:rawPredict \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "anthropic_version": "vertex-2023-10-16",
      "messages": [{"role": "user", "content": "Hey Claude!"}],
      "max_tokens": 100
    }'
  ```

  <CodeGroupItem language="CLI">
    La CLI `ant` non supporta Agent Platform.
  </CodeGroupItem>

  ```python Python
  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-5-5",
      max_tokens=100,
      messages=[
          {
              "role": "user",
              "content": "Hey Claude!",
          }
      ],
  )
  print(message)
  ```

  ```typescript TypeScript
  import { AnthropicVertex } from "@anthropic-ai/vertex-sdk";

  const projectId = "MY_PROJECT_ID";
  const region = "global";

  // Segue il flusso standard di `google-auth-library`.
  const client = new AnthropicVertex({
    projectId,
    region
  });

  const result = await client.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 100,
    messages: [
      {
        role: "user",
        content: "Hey Claude!"
      }
    ]
  });
  console.log(JSON.stringify(result, null, 2));
  ```

  ```csharp C#
  using Anthropic.Models.Messages;
  using Anthropic.Vertex;

  var projectId = "MY_PROJECT_ID";
  var region = "global";

  var client = new AnthropicVertexClient(new AnthropicVertexCredentials(region, projectId));

  var parameters = new MessageCreateParams
  {
      Model = Model.ClaudeOpus5_5,
      MaxTokens = 100,
      Messages = [new() { Role = Role.User, Content = "Hey Claude!" }]
  };

  var message = await client.Messages.Create(parameters);
  Console.WriteLine(message);
  ```

  ```go Go
  import (
  	"context"
  	"fmt"

  	"github.com/anthropics/anthropic-sdk-go"
  	"github.com/anthropics/anthropic-sdk-go/vertex"
  )
  // ...
  	// Usa le credenziali predefinite di Google Cloud
  	client := anthropic.NewClient(
  		vertex.WithGoogleAuth(context.Background(), "global", "MY_PROJECT_ID"),
  	)

  	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  		Model:     anthropic.ModelClaudeOpus5_5,
  		MaxTokens: 100,
  		Messages: []anthropic.MessageParam{
  			anthropic.NewUserMessage(anthropic.NewTextBlock("Hey Claude!")),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Printf("%+v\n", message)
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.models.messages.Message;
  import com.anthropic.models.messages.MessageCreateParams;
  import com.anthropic.models.messages.Model;
  import com.anthropic.vertex.backends.VertexBackend;
  import com.google.auth.oauth2.GoogleCredentials;

  void main() throws Exception {
      AnthropicClient client = AnthropicOkHttpClient.builder()
          .backend(
              VertexBackend.builder()
                  .googleCredentials(GoogleCredentials.getApplicationDefault())
                  .region("global")
                  .project("MY_PROJECT_ID")
                  .build()
          )
          .build();

      Message message = client
          .messages()
          .create(
              MessageCreateParams.builder()
                  .model(Model.CLAUDE_OPUS_5_5)
                  .maxTokens(100)
                  .addUserMessage("Hey Claude!")
                  .build()
          );

      IO.println(message);
  }
  ```

  ```php PHP
  <?php

  use Anthropic\Vertex;

  $client = Vertex\Client::fromEnvironment(
      region: 'global',
      projectId: 'MY_PROJECT_ID',
  );

  $message = $client->messages->create(
      maxTokens: 100,
      messages: [
          ['role' => 'user', 'content' => 'Hey Claude!']
      ],
      model: 'claude-opus-5-5',
  );
  $textBlock = array_find($message->content, static fn ($block): bool => $block->type === 'text');
  echo $textBlock->text;
  ```

  ```ruby Ruby
  require "anthropic"

  client = Anthropic::VertexClient.new(
    region: "global",
    project_id: "MY_PROJECT_ID"
  )

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

  puts message.content.find { it.type == :text }.text
  ```
</CodeGroup>

Consulta gli [SDK client](https://platform.claude.com/docs/it/cli-sdks-libraries/overview) e la [documentazione ufficiale di Agent Platform](https://cloud.google.com/vertex-ai/docs) per maggiori dettagli.

Claude è disponibile anche tramite [Amazon Bedrock](https://platform.claude.com/docs/it/build-with-claude/claude-in-amazon-bedrock), [Claude Platform on AWS](https://platform.claude.com/docs/it/build-with-claude/claude-platform-on-aws) e [Microsoft Foundry](https://platform.claude.com/docs/it/build-with-claude/claude-in-microsoft-foundry).

## Conservazione dei dati

La gestione dei dati per questa offerta è regolata da Google Cloud. Per i dettagli, consulta [Agent Platform e zero data retention](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance).

## Registrazione delle attività

Agent Platform fornisce un [servizio di registrazione richiesta-risposta](https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/request-response-logging) che ti consente di registrare i prompt e i completamenti associati al tuo utilizzo.

Anthropic consiglia di registrare la tua attività su base continuativa di almeno 30 giorni per comprendere la tua attività e indagare su eventuali usi impropri.

<Note>
  L'attivazione di questo servizio non concede a Google o ad Anthropic alcun accesso ai tuoi contenuti.
</Note>

## Supporto delle funzionalità

Per l'elenco completo delle funzionalità con la disponibilità su Google Cloud, consulta la [Panoramica delle funzionalità](https://platform.claude.com/docs/it/build-with-claude/overview).

### Funzionalità supportate principali

* [Messages API](https://platform.claude.com/docs/it/api/messages/create)
* [Cache dei prompt](https://platform.claude.com/docs/it/build-with-claude/prompt-caching)
* [Ragionamento](https://platform.claude.com/docs/it/build-with-claude/thinking)
* [Uso degli strumenti](https://platform.claude.com/docs/it/agents-and-tools/tool-use/overview), inclusi lo [strumento Bash](https://platform.claude.com/docs/it/agents-and-tools/tool-use/bash-tool), lo [strumento Browser use](https://platform.claude.com/docs/it/agents-and-tools/tool-use/browser-use-tool), lo [strumento Computer use](https://platform.claude.com/docs/it/agents-and-tools/tool-use/computer-use-tool), lo [strumento Memory](https://platform.claude.com/docs/it/agents-and-tools/tool-use/memory-tool) e lo [strumento Text editor](https://platform.claude.com/docs/it/agents-and-tools/tool-use/text-editor-tool)
* [Strumento Web search](https://platform.claude.com/docs/it/agents-and-tools/tool-use/web-search-tool)
* [Citazioni](https://platform.claude.com/docs/it/build-with-claude/citations)
* [Output strutturati](https://platform.claude.com/docs/it/build-with-claude/structured-outputs)

### Funzionalità non supportate

* Sorgenti di input (sorgenti URL per immagini e documenti, Files API)
* Strumenti lato server (esecuzione di codice, web fetch, advisor)
* Infrastruttura per agenti (Agent Skills, connettore MCP, chiamata programmatica degli strumenti)
* Endpoint API (Message Batches, Models, Admin, Compliance, Usage and Cost)
* Claude Managed Agents
* Fallback lato server (il [parametro `fallbacks`](https://platform.claude.com/docs/it/build-with-claude/refusals-and-fallback#server-side-fallback); usa invece il [pattern di fallback lato client](https://platform.claude.com/docs/it/build-with-claude/refusals-and-fallback#client-side-fallback))

### Finestra di contesto

Claude Fable 5.1, Claude Fable 5, Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 5.5, Claude Sonnet 5, Claude Sonnet 4.6 e Claude Haiku 5.5 dispongono di una ["context window" (finestra di contesto) da 1M di token](https://platform.claude.com/docs/it/build-with-claude/context-windows) su Agent Platform. Gli altri modelli Claude, inclusi Sonnet 4.5 (deprecato) e Sonnet 4 (deprecato), hanno una finestra di contesto da 200k token.

Agent Platform limita i payload delle richieste a 30 MB. Quando invii documenti di grandi dimensioni o molte immagini, potresti raggiungere questo limite prima del limite di token.

## Endpoint globali, multi-regione e regionali

Agent Platform offre tre tipi di endpoint:

* **Endpoint globali:** instradamento dinamico per la massima disponibilità
* **Endpoint multi-regione:** instradamento dinamico all'interno di un'area geografica (ad esempio, gli Stati Uniti o l'Unione Europea) per la "data residency" (residenza dei dati) con alta disponibilità
* **Endpoint regionali:** instradamento dei dati garantito attraverso specifiche regioni geografiche

Gli endpoint regionali e multi-regione prevedono un sovrapprezzo del 10% rispetto agli endpoint globali.

<Note>
  Questo si applica solo a Claude Sonnet 4.5 (deprecato) e ai modelli futuri. I modelli precedenti (Claude Sonnet 4 (deprecato), Opus 4 (deprecato) e precedenti) mantengono le loro strutture di prezzo esistenti.
</Note>

### Quando usare ciascuna opzione

**Endpoint globali (consigliati):**

* Forniscono la massima disponibilità e uptime
* Instradano dinamicamente le richieste verso regioni con capacità disponibile
* Nessun sovrapprezzo
* Ideali per applicazioni in cui la residenza dei dati è flessibile
* Supportano solo traffico pay-as-you-go (il provisioned throughput richiede endpoint regionali)

**Endpoint multi-regione:**

* Instradano dinamicamente le richieste tra regioni all'interno di un'area geografica (attualmente `us` ed `eu`)
* Utili quando hai bisogno della residenza dei dati all'interno di un'ampia area geografica ma desideri una disponibilità maggiore rispetto a una singola regione
* Sovrapprezzo del 10% rispetto agli endpoint globali
* Supportano solo traffico pay-as-you-go (il provisioned throughput richiede endpoint regionali)

**Endpoint regionali:**

* Instradano il traffico attraverso regioni geografiche specifiche
* Necessari per la residenza dei dati in una singola regione, requisiti di conformità rigorosi o provisioned throughput
* Supportano sia pay-as-you-go sia provisioned throughput
* Il sovrapprezzo del 10% riflette i costi di infrastruttura per la capacità regionale dedicata

### Implementazione

**Utilizzo degli endpoint globali (consigliato):**

Imposta il parametro `region` su `"global"` durante l'inizializzazione del client:

<CodeGroup exclude="shell:CLI">
  ```bash cURL
  MODEL_ID=claude-opus-5-5
  PROJECT_ID=MY_PROJECT_ID

  curl https://aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/global/publishers/anthropic/models/${MODEL_ID}:rawPredict \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "anthropic_version": "vertex-2023-10-16",
      "messages": [{"role": "user", "content": "Hey Claude!"}],
      "max_tokens": 100
    }'
  ```

  <CodeGroupItem language="CLI">
    La CLI `ant` non supporta Agent Platform.
  </CodeGroupItem>

  ```python Python
  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-5-5",
      max_tokens=100,
      messages=[
          {
              "role": "user",
              "content": "Hey Claude!",
          }
      ],
  )
  print(message)
  ```

  ```typescript TypeScript
  import { AnthropicVertex } from "@anthropic-ai/vertex-sdk";

  const projectId = "MY_PROJECT_ID";
  const region = "global";

  const client = new AnthropicVertex({
    projectId,
    region
  });

  const result = await client.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 100,
    messages: [
      {
        role: "user",
        content: "Hey Claude!"
      }
    ]
  });
  console.log(JSON.stringify(result, null, 2));
  ```

  ```csharp C#
  using Anthropic.Models.Messages;
  using Anthropic.Vertex;

  var projectId = "MY_PROJECT_ID";
  var region = "global";

  var client = new AnthropicVertexClient(new AnthropicVertexCredentials(region, projectId));

  var parameters = new MessageCreateParams
  {
      Model = Model.ClaudeOpus5_5,
      MaxTokens = 100,
      Messages = [new() { Role = Role.User, Content = "Hey Claude!" }]
  };

  var message = await client.Messages.Create(parameters);
  Console.WriteLine(message);
  ```

  ```go Go
  import (
  	"context"
  	"fmt"

  	"github.com/anthropics/anthropic-sdk-go"
  	"github.com/anthropics/anthropic-sdk-go/vertex"
  )
  // ...
  	// Usa le credenziali predefinite di Google Cloud
  	client := anthropic.NewClient(
  		vertex.WithGoogleAuth(context.Background(), "global", "MY_PROJECT_ID"),
  	)

  	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  		Model:     anthropic.ModelClaudeOpus5_5,
  		MaxTokens: 100,
  		Messages: []anthropic.MessageParam{
  			anthropic.NewUserMessage(anthropic.NewTextBlock("Hey Claude!")),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Printf("%+v\n", message)
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.models.messages.MessageCreateParams;
  import com.anthropic.models.messages.Model;
  import com.anthropic.vertex.backends.VertexBackend;
  import com.google.auth.oauth2.GoogleCredentials;

  void main() throws Exception {
      AnthropicClient client = AnthropicOkHttpClient.builder()
          .backend(
              VertexBackend.builder()
                  .googleCredentials(GoogleCredentials.getApplicationDefault())
                  .region("global")
                  .project("MY_PROJECT_ID")
                  .build()
          )
          .build();

      var message = client
          .messages()
          .create(
              MessageCreateParams.builder()
                  .model(Model.CLAUDE_OPUS_5_5)
                  .maxTokens(100)
                  .addUserMessage("Hey Claude!")
                  .build()
          );

      IO.println(message);
  }
  ```

  ```php PHP
  <?php

  use Anthropic\Vertex;

  $client = Vertex\Client::fromEnvironment(
      region: 'global',
      projectId: 'MY_PROJECT_ID',
  );

  $message = $client->messages->create(
      maxTokens: 100,
      messages: [
          ['role' => 'user', 'content' => 'Hey Claude!']
      ],
      model: 'claude-opus-5-5',
  );

  $textBlock = array_find($message->content, static fn ($block): bool => $block->type === 'text');
  echo $textBlock->text;
  ```

  ```ruby Ruby
  require "anthropic"

  client = Anthropic::VertexClient.new(
    region: "global",
    project_id: "MY_PROJECT_ID"
  )

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

  puts message.content.find { it.type == :text }.text
  ```
</CodeGroup>

**Utilizzo degli endpoint multi-regione:**

Imposta il parametro `region` su un identificatore multi-regione: `"us"` per gli Stati Uniti o `"eu"` per l'Unione Europea. L'SDK instrada le richieste all'endpoint multi-regione corrispondente (`https://aiplatform.us.rep.googleapis.com` o `https://aiplatform.eu.rep.googleapis.com`), che bilancia dinamicamente il traffico tra le regioni all'interno di quell'area geografica.

<CodeGroup exclude="shell:CLI">
  ```bash cURL
  MODEL_ID=claude-opus-5-5
  LOCATION=us # Multi-region identifier: "us" or "eu"
  PROJECT_ID=MY_PROJECT_ID

  curl https://aiplatform.${LOCATION}.rep.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:rawPredict \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "anthropic_version": "vertex-2023-10-16",
      "messages": [{"role": "user", "content": "Hey Claude!"}],
      "max_tokens": 100
    }'
  ```

  <CodeGroupItem language="CLI">
    La CLI `ant` non supporta Agent Platform.
  </CodeGroupItem>

  ```python Python
  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-5-5",
      max_tokens=100,
      messages=[
          {
              "role": "user",
              "content": "Hey Claude!",
          }
      ],
  )
  print(message)
  ```

  ```typescript TypeScript
  import { AnthropicVertex } from "@anthropic-ai/vertex-sdk";

  const projectId = "MY_PROJECT_ID";
  const region = "us"; // Multi-region identifier: "us" or "eu"

  const client = new AnthropicVertex({
    projectId,
    region
  });

  const result = await client.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 100,
    messages: [
      {
        role: "user",
        content: "Hey Claude!"
      }
    ]
  });
  console.log(JSON.stringify(result, null, 2));
  ```

  ```csharp C#
  using Anthropic.Models.Messages;
  using Anthropic.Vertex;

  var projectId = "MY_PROJECT_ID";
  var region = "us"; // Multi-region identifier: "us" or "eu"

  var client = new AnthropicVertexClient(new AnthropicVertexCredentials(region, projectId));

  var parameters = new MessageCreateParams
  {
      Model = Model.ClaudeOpus5_5,
      MaxTokens = 100,
      Messages = [new() { Role = Role.User, Content = "Hey Claude!" }]
  };

  var message = await client.Messages.Create(parameters);
  Console.WriteLine(message);
  ```

  ```go Go
  import (
  	"context"
  	"fmt"

  	"github.com/anthropics/anthropic-sdk-go"
  	"github.com/anthropics/anthropic-sdk-go/vertex"
  )
  // ...
  	// Identificatore multi-regione: "us" o "eu"
  	client := anthropic.NewClient(
  		vertex.WithGoogleAuth(context.Background(), "us", "MY_PROJECT_ID"),
  	)

  	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  		Model:     anthropic.ModelClaudeOpus5_5,
  		MaxTokens: 100,
  		Messages: []anthropic.MessageParam{
  			anthropic.NewUserMessage(anthropic.NewTextBlock("Hey Claude!")),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Printf("%+v\n", message)
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.models.messages.MessageCreateParams;
  import com.anthropic.models.messages.Model;
  import com.anthropic.vertex.backends.VertexBackend;
  import com.google.auth.oauth2.GoogleCredentials;

  void main() throws Exception {
      // Identificatore multi-regione: "us" o "eu"
      AnthropicClient client = AnthropicOkHttpClient.builder()
          .backend(
              VertexBackend.builder()
                  .googleCredentials(GoogleCredentials.getApplicationDefault())
                  .region("us")
                  .project("MY_PROJECT_ID")
                  .build()
          )
          .build();

      var message = client
          .messages()
          .create(
              MessageCreateParams.builder()
                  .model(Model.CLAUDE_OPUS_5_5)
                  .maxTokens(100)
                  .addUserMessage("Hey Claude!")
                  .build()
          );

      IO.println(message);
  }
  ```

  ```php PHP
  <?php

  use Anthropic\Vertex;

  $client = Vertex\Client::fromEnvironment(
      region: 'us', // Multi-region identifier: "us" or "eu"
      projectId: 'MY_PROJECT_ID',
  );

  $message = $client->messages->create(
      maxTokens: 100,
      messages: [
          ['role' => 'user', 'content' => 'Hey Claude!']
      ],
      model: 'claude-opus-5-5',
  );
  $textBlock = array_find($message->content, static fn ($block): bool => $block->type === 'text');
  echo $textBlock->text;
  ```

  ```ruby Ruby
  require "anthropic"

  client = Anthropic::VertexClient.new(
    region: "us", # Multi-region identifier: "us" or "eu"
    project_id: "MY_PROJECT_ID"
  )

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

  puts message.content.find { it.type == :text }.text
  ```
</CodeGroup>

**Utilizzo degli endpoint regionali:**

Specifica una regione specifica come `"us-east5"` o `"europe-west1"`:

<CodeGroup exclude="shell:CLI">
  ```bash cURL
  # Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
  MODEL_ID=claude-sonnet-4-6
  LOCATION=us-east5 # Specify a specific region
  PROJECT_ID=MY_PROJECT_ID

  curl https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:rawPredict \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "anthropic_version": "vertex-2023-10-16",
      "messages": [{"role": "user", "content": "Hey Claude!"}],
      "max_tokens": 100
    }'
  ```

  <CodeGroupItem language="CLI">
    La CLI `ant` non supporta Agent Platform.
  </CodeGroupItem>

  ```python Python
  from anthropic import AnthropicVertex

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

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

  message = client.messages.create(
      # Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
      model="claude-sonnet-4-6",
      max_tokens=100,
      messages=[
          {
              "role": "user",
              "content": "Hey Claude!",
          }
      ],
  )
  print(message)
  ```

  ```typescript TypeScript
  import { AnthropicVertex } from "@anthropic-ai/vertex-sdk";

  const projectId = "MY_PROJECT_ID";
  const region = "us-east5"; // Specify a specific region

  const client = new AnthropicVertex({
    projectId,
    region
  });

  const result = await client.messages.create({
    // Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
    model: "claude-sonnet-4-6",
    max_tokens: 100,
    messages: [
      {
        role: "user",
        content: "Hey Claude!"
      }
    ]
  });
  console.log(JSON.stringify(result, null, 2));
  ```

  ```csharp C#
  using Anthropic.Models.Messages;
  using Anthropic.Vertex;

  var projectId = "MY_PROJECT_ID";
  var region = "us-east5"; // Specify a specific region

  var client = new AnthropicVertexClient(new AnthropicVertexCredentials(region, projectId));

  var parameters = new MessageCreateParams
  {
      // Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
      Model = Model.ClaudeSonnet4_6,
      MaxTokens = 100,
      Messages = [new() { Role = Role.User, Content = "Hey Claude!" }]
  };

  var message = await client.Messages.Create(parameters);
  Console.WriteLine(message);
  ```

  ```go Go
  import (
  	"context"
  	"fmt"

  	"github.com/anthropics/anthropic-sdk-go"
  	"github.com/anthropics/anthropic-sdk-go/vertex"
  )
  // ...
  	// Specifica una regione specifica
  	client := anthropic.NewClient(
  		vertex.WithGoogleAuth(context.Background(), "us-east5", "MY_PROJECT_ID"),
  	)

  	message, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{
  		// Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
  		Model:     anthropic.ModelClaudeSonnet4_6,
  		MaxTokens: 100,
  		Messages: []anthropic.MessageParam{
  			anthropic.NewUserMessage(anthropic.NewTextBlock("Hey Claude!")),
  		},
  	})
  	if err != nil {
  		panic(err)
  	}
  	fmt.Printf("%+v\n", message)
  ```

  ```java Java
  import com.anthropic.client.AnthropicClient;
  import com.anthropic.client.okhttp.AnthropicOkHttpClient;
  import com.anthropic.models.messages.MessageCreateParams;
  import com.anthropic.models.messages.Model;
  import com.anthropic.vertex.backends.VertexBackend;
  import com.google.auth.oauth2.GoogleCredentials;

  void main() throws Exception {
      AnthropicClient client = AnthropicOkHttpClient.builder()
          .backend(
              VertexBackend.builder()
                  .googleCredentials(GoogleCredentials.getApplicationDefault())
                  .region("us-east5") // Specify a specific region
                  .project("MY_PROJECT_ID")
                  .build()
          )
          .build();

      var message = client
          .messages()
          .create(
              MessageCreateParams.builder()
                  // Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
                  .model(Model.CLAUDE_SONNET_4_6)
                  .maxTokens(100)
                  .addUserMessage("Hey Claude!")
                  .build()
          );

      IO.println(message);
  }
  ```

  ```php PHP
  <?php

  use Anthropic\Vertex;

  $client = Vertex\Client::fromEnvironment(
      region: 'us-east5',
      projectId: 'MY_PROJECT_ID',
  );

  $message = $client->messages->create(
      maxTokens: 100,
      messages: [
          ['role' => 'user', 'content' => 'Hey Claude!']
      ],
      // Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
      model: 'claude-sonnet-4-6',
  );
  echo $message->content[0]->text;
  ```

  ```ruby Ruby
  require "anthropic"

  client = Anthropic::VertexClient.new(
    region: "us-east5", # Specify a specific region
    project_id: "MY_PROJECT_ID"
  )

  message = client.messages.create(
    # Gli endpoint regionali specifici supportano Claude Sonnet 4.6 e precedenti; i modelli più recenti usano gli endpoint globali o multi-regione
    model: "claude-sonnet-4-6",
    max_tokens: 100,
    messages: [{role: "user", content: "Hey Claude!"}]
  )

  puts message.content.first.text
  ```
</CodeGroup>

<Note>
  Claude Mythos Preview è un'anteprima di ricerca disponibile per i clienti invitati su Agent Platform. Per ulteriori informazioni, consulta [Project Glasswing](https://anthropic.com/glasswing).
</Note>

## Risorse aggiuntive

* **Prezzi di Agent Platform:** [Prezzi dell'IA generativa su cloud.google.com](https://cloud.google.com/vertex-ai/generative-ai/pricing)
* **Documentazione dei modelli Claude:** [Claude su Agent Platform](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude)
* **Post del blog di Google:** [Endpoint globale per i modelli Claude](https://cloud.google.com/blog/products/ai-machine-learning/global-endpoint-for-claude-models-generally-available-on-vertex-ai)
* **Dettagli sui prezzi di Anthropic:** [Prezzi delle piattaforme cloud](https://platform.claude.com/docs/it/about-claude/pricing#cloud-platform-pricing)
