Il Vercel AI SDK con un base URL personalizzato
Crea il provider con createOpenAICompatible e questo baseURL, e l’AI SDK esegue i modelli Claude, GPT e Grok tramite chat completions con la tua chiave AIGROW.
Hai già un codice? Riscattalo su Accesso API, poi crea una chiave.
JavaScript o TypeScript, un modulo ES
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { generateText } from 'ai';
const aigrow = createOpenAICompatible({
name: 'aigrow',
baseURL: 'https://aigrow.gg/v1',
apiKey: 'ag_your_key_here',
includeUsage: true,
});
const { text } = await generateText({
model: aigrow('claude-opus-5.5'),
prompt: 'Reply with the word ready',
});
console.log(text);Sostituisci ag_your_key_here con una chiave presa da Accesso API.
Dove si trova l'impostazione
- Ogni modello, chat completions
npm install ai @ai-sdk/openai-compatible- Modelli Claude, protocollo Anthropic
npm install ai @ai-sdk/anthropic
Oppure mantieni @ai-sdk/openai e usa openai.chat
openai(...) chiama la Responses API, che l’endpoint non serve. openai.chat(...) chiama le chat completions, quindi crea ogni modello con quest’ultimo.
import { createOpenAI } from '@ai-sdk/openai';
const openai = createOpenAI({
baseURL: 'https://aigrow.gg/v1',
apiKey: 'ag_your_key_here',
});
const model = openai.chat('gpt-6-astra');Claude con il provider Anthropic
Il provider Anthropic aggiunge al suo baseURL solo /messages, quindi qui il baseURL termina con /v1. apiKey viene inviata come x-api-key e authToken come header Bearer; entrambe funzionano con una chiave AIGROW.
import { createAnthropic } from '@ai-sdk/anthropic';
import { generateText } from 'ai';
const anthropic = createAnthropic({
baseURL: 'https://aigrow.gg/v1',
apiKey: 'ag_your_key_here',
});
const { text } = await generateText({
model: anthropic('claude-opus-5.5'),
prompt: 'Reply with the word ready',
});Quale modello usare
Inserisci l'id esattamente come è scritto qui.
- Claude Opus 5.5
claude-opus-5.5 - È l’impostazione predefinita in ogni blocco di questa pagina e il modello Claude più economico qui per token inviato e ricevuto. Contesto: 1.000.000 token.
- Grok 4.7
grok-4.7 - Il prezzo di output più basso qui. Il suo contesto è la metà di quello dei modelli Claude. Contesto: 500.000 token.
- GPT-6 Astra
gpt-6-astra - Per un modello GPT. Costa per token quanto Fable, più di Opus. Contesto: 1.050.000 token.
- Claude Fable 5.1
claude-fable-5.1 - Costa più di Opus per token. Confronta i due sulla classifica di coding prima di passare all’altro. Contesto: 1.000.000 token.
Il listino prezzi riporta ogni id con la sua tariffa in crediti, i prezzi dell'API di Claude riportano i prezzi di listino e la classifica per il coding confronta i modelli su prompt di programmazione.
Verifica che funzioni
Prima la chiave da sola, poi Vercel AI SDK con la chiave.
La chiave
Richiedi l'elenco dei modelli. Serve una chiave valida e non costa nulla.
curl https://aigrow.gg/v1/models -H "Authorization: Bearer ag_your_key_here"{
"object": "list",
"data": [
{ "id": "claude-opus-5.5", "object": "model", ... },
{ "id": "claude-fable-5.1", "object": "model", ... },
{ "id": "gpt-6-astra", "object": "model", ... },
{ "id": "claude-sonnet-5.5", "object": "model", ... },
{ "id": "gpt-6.1-sol", "object": "model", ... },
{ "id": "grok-4.7", "object": "model", ... },
...
],
"has_more": false
}Vercel AI SDK
Salva il blocco come check.mjs, inserisci la tua chiave ed eseguilo con Node.
node check.mjsreadyQuando non funziona
Prima gli errori di Vercel AI SDK, poi le risposte che l'endpoint dà a qualsiasi strumento.
- 404 su /v1/responses
- Il modello proviene da openai(...) in @ai-sdk/openai, che chiama la Responses API. Usa createOpenAICompatible come nel blocco, oppure openai.chat(...).
- 404 con il provider Anthropic
- Al baseURL manca il /v1. Il provider Anthropic aggiunge solo /messages, quindi il suo baseURL è https://aigrow.gg/v1.
- Le richieste vanno ancora a OpenAI
- L’import openai già pronto usa OPENAI_BASE_URL, altrimenti api.openai.com. Crea un tuo provider con il baseURL, come nel blocco.
- Il mio strumento mostra un errore 401 o di autenticazione
- La chiave manca o è stata digitata in modo errato. Copiala di nuovo da Accesso API nella dashboard e assicurati che venga inviata come chiave, non come nome di un modello. Una chiave revocata dà lo stesso errore: creane una nuova e sostituiscila.
- Ricevo un errore 402 o un messaggio sul credito
- Il tuo saldo è esaurito. Apri Accesso API nella dashboard, riscatta un codice o acquista un altro pacchetto e la richiesta successiva andrà a buon fine. Non serve cambiare nient’altro.
- Compare 404 o Unknown model
- Il modello deve essere uno di quelli serviti dall’endpoint, per esempio claude-opus-5.5. Funzionano anche le grafie originali del provider (claude-opus-5-5, anthropic/claude-opus-5.5), ma un id con data o qualsiasi modello fuori dal catalogo viene rifiutato prima che la richiesta sia inoltrata, e non viene addebitato nulla. Con la tua chiave richiedi GET /v1/models per l’elenco aggiornato, oppure leggi gli id nel listino.
- Le richieste vengono rifiutate con errore 429
- La capacità dell’endpoint è condivisa da tutti i clienti: circa 20 richieste al minuto e 4 contemporaneamente. Ogni risposta 429 include un header retry-after, e gli SDK di OpenAI e Anthropic attendono quel tempo e riprovano da soli. In un ciclo scritto da te, attendi i secondi indicati oppure riduci la concorrenza.
- Il modello al momento non è disponibile
- Un 404 che indica che il modello non è al momento disponibile significa che è temporaneamente fuori servizio presso il provider a monte, non che c'è un problema con la tua chiave o il tuo saldo. Riprova tra qualche istante oppure invia la richiesta a un altro modello.
- Ricevo un errore 502 o 503
- Un problema temporaneo a monte o di configurazione, che non viene addebitato sul tuo saldo. Riprova la richiesta; se continua a fallire, scrivici tramite lo store e ce ne occuperemo.
Cosa non funziona tramite AIGROW
openai(...) e openai.responses(...), che chiamano la Responses API. Usa createOpenAICompatible oppure openai.chat(...).
Gli strumenti del provider OpenAI, come openai.tools.webSearch e la ricerca nei file, che richiedono la Responses API. Gli strumenti che definisci con tool() vengono eseguiti nel tuo codice e funzionano con ogni modello.
Ricerca web in tempo reale all’interno del modello. Uno strumento di ricerca web inviato con una richiesta riceve risposta da ciò che il modello già sa, senza risultati in tempo reale. Uno strumento che recupera pagine sulla tua macchina funziona comunque.
Qualsiasi endpoint oltre a questi tre: /v1/messages, /v1/chat/completions e /v1/models. La Responses API, gli embedding e il conteggio dei token rispondono 404.
I campi del router, come models, route, provider e plugins. Vengono scartati, quindi una richiesta va sempre al solo modello che indica.
Quanto costa un mese di Vercel AI SDK
Vercel AI SDK viene fatturato per token alle tariffe in crediti del listino prezzi. Un agente rinvia l'intera conversazione a ogni passaggio, quindi un compito lungo costa più di quanto suggerisca il suo ultimo messaggio; il registro attività su Accesso API mostra quanto è costata ogni richiesta.
Domande su Vercel AI SDK e su un'API personalizzata
- Come imposto un base URL personalizzato nel Vercel AI SDK?
- Crea un provider con createOpenAICompatible da @ai-sdk/openai-compatible, con baseURL impostato su https://aigrow.gg/v1 e apiKey impostata sulla tua chiave, poi passagli un ID modello come claude-opus-5.5.
- Perché @ai-sdk/openai restituisce un errore 404 con un base URL personalizzato?
- Dall’AI SDK 5, openai(...) chiama la Responses API su /v1/responses. L’endpoint serve solo le chat completions, quindi crea il modello con openai.chat(...) oppure usa il provider OpenAI Compatible.
- Il provider Anthropic accetta un baseURL personalizzato?
- Sì. createAnthropic accetta baseURL e il suo valore predefinito è https://api.anthropic.com/v1, quindi per AIGROW diventa https://aigrow.gg/v1. Imposta apiKey o authToken sulla tua chiave.
- streamText e le chiamate agli strumenti funzionano?
- Sì. streamText funziona in streaming con entrambi i provider, e gli strumenti che definisci con tool() vengono inviati come chiamate a funzione eseguite dal tuo codice. includeUsage: true aggiunge il conteggio dei token a un risultato in streaming.
Fonti: Vercel AI SDK OpenAI Compatible provider · Vercel AI SDK OpenAI provider · Vercel AI SDK Anthropic provider. Consultato il 21 ottobre 2026.
Configura un altro strumento
- Claude CodeProtocollo Anthropic
Quattro variabili d’ambiente, nella shell o in settings.json.
- ClineProtocollo OpenAI
Il provider OpenAI Compatible, quattro campi nella schermata delle impostazioni.
- Roo CodeProtocollo OpenAI
Il provider OpenAI Compatible, con gli stessi campi di Cline.
- Kilo CodeProtocollo OpenAI
Un provider personalizzato nella scheda Providers; l’elenco dei modelli si compila da solo.
- ContinueProtocollo OpenAI
Una voce in models nel file config.yaml, con provider openai e un apiBase.
- AiderProtocollo OpenAI
OPENAI_API_BASE e OPENAI_API_KEY, poi openai/ prima dell’id del modello.
- OpenCodeProtocollo OpenAI
Un blocco provider in opencode.json e la chiave tramite /connect.
- ZedProtocolli Anthropic e OpenAI
Un provider compatibile con Anthropic per Claude, uno compatibile con OpenAI per GPT e Grok.
- GooseProtocollo OpenAI
Il provider OpenAI con OPENAI_HOST, oppure un file di provider personalizzato.
- OpenAI Agents SDKProtocollo OpenAI
Il tuo client AsyncOpenAI, passato alle chat completions, con il tracing disattivato.
- LangChainProtocolli Anthropic e OpenAI
ChatOpenAI con base_url per ogni modello, oppure ChatAnthropic per Claude.
La guida all'API comprende gli SDK, curl, gli endpoint e i limiti di frequenza.
Incolla il blocco e Vercel AI SDK funziona con il tuo credito.
Acquista un pacchetto di credito, riscatta il codice ricevuto via email su Accesso API, crea una chiave e inseriscila al posto di ag_your_key_here.