prewave-vertex-ai

n8n community node for Google Vertex AI: Gemini and Anthropic Claude through a stored Google service account.

Documentation

n8n-nodes-prewave-vertex-ai

An n8n community node that calls Google Gemini and Anthropic Claude
models through Google Cloud Vertex AI, authenticated by a Google
service-account key. One credential, both model families, no separate Gemini or
Anthropic API keys.

Nodes

  • Prewave Vertex (action node): Chat / Generate, Embeddings, and Image
    (Imagen).
    • Google (Gemini): Google Search grounding, code execution, URL context,
      function calling, structured output, multimodal input, thinking, streaming.
    • Anthropic (Claude): Messages format on Vertex (:rawPredict), reasoning
      effort tiers, adaptive thinking, tool use, streaming.
  • Prewave Vertex Chat Model (sub-node): a chat model for the AI Agent node,
    with a Provider toggle for Gemini or Claude.
  • Prewave Vertex Service Accounts (credential): stores the service-account
    JSON key. It is encrypted at rest by n8n and write-only in the UI, so workflow
    builders can use it without reading it back.

Installation

In n8n (Cloud or self-hosted): Settings → Community nodes → Install, then
enter:

n8n-nodes-prewave-vertex-ai

Authentication

  1. In Google Cloud, enable the Vertex AI API on your project.
  2. Create a service account with Vertex AI access (for example the
    roles/aiplatform.user role) and download a JSON key.
  3. In n8n, create a Prewave Vertex Service Accounts credential and paste the
    full JSON key. Optionally set a Project ID (defaults to the key's project) and
    a Location (defaults to global).

At call time the node uses google-auth-library to mint an OAuth access token
scoped to cloud-platform. Tokens are cached in memory and refreshed before
expiry, so calls keep working past the one-hour token lifetime with no manual
action. The same token serves Gemini, Claude, embeddings, and Imagen. The
service-account key is passed to the auth library directly; it is never written
to disk or to an environment variable.

Model selection

The Model field is a resource locator with two modes:

  • From List: pulls the live Vertex publisher model list at edit time,
    filtered by the selected provider, so newly published models appear
    automatically.
  • By ID: free text, so any exact Vertex model id works
    (gemini-2.5-pro, claude-opus-4-8, a dated id, etc.).

A small curated list is used as an offline fallback when the live listing is
unavailable.

Notes

  • Claude on Vertex is regional. Enable the Claude models you need in Vertex
    Model Garden and set the credential Location to a region that serves them
    (for example europe-west1 or us-east5). The model listing works at
    global, but Claude inference may require a regional location.
  • Imagen ids are entered by ID or chosen from the curated list; Vertex does
    not list imagen-* models at the global endpoint.

Local development

npm install
npm run build      # tsc + copy assets (icon, codex json) into dist/
npm run lint

License

MIT

Discussion