Guide alla migrazioneDa Cloudflare AI Gateway
Lasciare Cloudflare AI Gateway quando nulla ti obbliga
Qui non c'è nessuna acquisizione, nessuna modalità di manutenzione e nessun avviso di deprecazione. AI Gateway è disponibile per tutti, è stato sviluppato attivamente per tutto il 2026 e la sua parte principale è gratuita su un account che hai già: quindi la domanda a cui risponde questa pagina non è come migrare, ma se farlo. Si parte da tre numeri che puoi misurare sul tuo gateway, due dei quali dicono di restare.
Gli account INFRO sono self-service. Il catalogo, la documentazione e il contratto dell'API sono pubblici, il gateway è in produzione e tutto ciò che va oltre la v1 è indicato come "Più avanti". Piani e prova
A che punto siamo
Nulla ti costringe
AI Gateway è disponibile in via generale ed è stato sviluppato attivamente nel corso del 2026: limiti di spesa a giugno, User Insights ad agosto. Il nucleo è gratuito su qualsiasi account Cloudflare. Se una pagina ti dice mai il contrario, verificala sul changelog invece di crederci.
La sovrapposizione è più ampia di prima
Entrambi i prodotti stanno nel percorso della richiesta, prezzano ogni richiesta, attribuiscono la spesa a un utente o a un team, rifiutano una richiesta a un tetto in dollari ed esportano OpenTelemetry. Un anno fa questo confronto era gateway contro piano di controllo. Non lo è più.
Una domanda decide
Se qualcuno deve difendere la cifra del costo davanti a una persona che non l'ha prodotta. Se nessuno deve, il gateway gratuito è lo strumento giusto e questa guida dovrebbe finire qui. Se qualcuno deve, di questo parla il resto della pagina.
Ognuna sta sul tuo gateway o nel tuo calendario, e ognuna produce una risposta invece di una considerazione. Due delle tre chiudono la decisione a favore di Cloudflare, ed è la distribuzione onesta: la maggior parte dei team che leggono questa pagina dovrebbe tenersi ciò che ha.
La percentuale di hit della tua cache
Analisi sul tuo gateway, su un mese che sembrava normale. Cloudflare le riporta per gateway.
Questo è il punto che può chiudere da solo la decisione. INFRO ha anche una cache delle risposte a corrispondenza esatta per i chat completions, ma parte vuota, è disattivata finché non la attivi, ha chiave per progetto e ambiente della chiave e per impostazione predefinita memorizza solo richieste deterministiche (temperature 0 o un seed). Calcola quale quota dei tuoi hit veniva da richieste che rientrano in questo; il resto diventa chiamate al provider dopo un passaggio, fatturate dal tuo provider. Se quella quota è grande, restare è la risposta migliore e nessuna funzione nel resto di questa pagina la supera.
Se Unified Billing è attivo
Le impostazioni del tuo gateway. Se Cloudflare sta acquistando la tua inferenza, è qui che lo dice.
Se è attivo, non hai un problema di configurazione, hai un problema di acquisti. INFRO non acquista mai inferenza, quindi un passaggio significa aprire il tuo account presso ogni provider che usi, il che richiede quanto richiede l'onboarding dei tuoi fornitori. Scoprilo ora e non alla terza settimana.
Quanto spesso qualcuno fuori dall'ingegneria chiede conto del numero
Non una dashboard. L'ultimo trimestre di conversazioni con finanza, acquisti e prezzi.
Se la risposta è mai, il gateway gratuito è lo strumento giusto e questa guida dovrebbe finire qui: non è un'uscita di cortesia, è la raccomandazione corretta. Un piano di controllo si guadagna un abbonamento nel punto in cui una cifra di costo deve essere difesa davanti a qualcuno che non l'ha prodotta, e non prima.
Questa sezione sta sopra le differenze di proposito e, a differenza delle altre guide di questa serie, non ti indirizza a un terzo prodotto. Ti indirizza a quello che usi già.
Questa sezione sta sopra la mappatura di proposito. Cloudflare AI Gateway è un buon prodotto che non costa nulla da gestire e l'esito corretto più comune della lettura di questa pagina è che la chiudi e tieni ciò che hai. Qui non c'è alcuna acquisizione, nessuna modalità di manutenzione e nessun avviso di deprecazione che ti metta fretta: i motivi qui sotto non sono attenuanti prima di una confutazione, sono la risposta ogni volta che uno di essi è vero.
Il passaggio vale la pena quando la cifra del costo ha un pubblico: la finanza che chiede perché la fattura dei modelli è cambiata, un margine rivolto al cliente da mantenere, più team che condividono i provider e non concordano su chi ha speso cosa. È il punto in cui un numero che nessuno ha confrontato con una fattura smette di bastare, ed è l'unica affermazione di questa pagina a cui la documentazione di Cloudflare non risponde già.
Resta dove sei quando
- Il gateway fa il suo lavoro e nessuno fa domande sul numero. Un piano di controllo si guadagna il prezzo quando qualcuno fuori dall'ingegneria deve agire sulla cifra del costo. Se non è successo, non se lo è ancora guadagnato.
- Ti servono guardrail o DLP sul percorso della richiesta. Cloudflare analizza prompt e risposta alla ricerca di contenuti dannosi e può bloccare o segnalare dati sensibili prima che raggiungano un provider. I guardrail di INFRO sono a pattern (PII, segreti, i tuoi termini, solo chat completions); i guardrail per categoria di sicurezza di Cloudflare non hanno equivalente.
- Usi Workers AI, oppure Cloudflare acquista la tua inferenza tramite Unified Billing. INFRO non gestisce inferenza e non ne acquista mai: prima di un passaggio ti servirebbero i tuoi account con ciascun provider, che è un passaggio commerciale e non di configurazione.
- Il tuo routing dipende da rami condizionali o suddivisioni percentuali. Le route di INFRO sono destinazioni per priorità o ponderate sulle tue connessioni; un if/else sul contenuto della richiesta non ha equivalente e dovrebbe passare nella tua applicazione.
- La cache delle risposte regge un carico reale su richieste che INFRO non metterebbe in cache. La cache di INFRO abbina solo richieste chat completion esatte, con chiave per progetto e ambiente della chiave, e per impostazione predefinita solo quelle deterministiche (temperature 0 o un seed); ogni richiesta fuori da questo va di nuovo al tuo provider dopo un passaggio.
- Stare con un solo vendor è il punto. Una sola fattura, un solo insieme di ruoli dell'account, un solo rapporto di supporto è un motivo legittimo per scegliere un gateway di piattaforma, e aggiungere un secondo vendor lo annulla.
Se più di una di queste è vera, chiudi questa pagina. Preferiamo perdere la valutazione che vincerla ed essere la risposta sbagliata sei settimane dopo.
Gli oggetti di Cloudflare a confronto con i nostri, dalla loro documentazione pubblica letta il 20 settembre 2026 e verificati con ciò che il gateway implementa davvero. Cinque righe dicono che noi non abbiamo nulla: sono quelle da leggere per prime.
| Cloudflare AI Gateway | Cosa fa lì | In INFRO |
|---|---|---|
| Gatewaydiverso | Un oggetto con nome sul tuo account Cloudflare. Possiede i log, la cache, i limiti di frequenza e le regole di spesa; un secondo ambiente significa un secondo gateway. | Non c'è alcun oggetto gateway. Un'organizzazione possiede policy e fatturazione; progetti, chiavi e l'ambiente di una chiave ne delimitano l'ambito. Un secondo ambiente è una proprietà della chiave e non un secondo endpoint. |
| `/compat/chat/completions`stessa forma | Chat compatibile con OpenAI sotto https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat, con i modelli indirizzati come provider/model. | Chat compatibile con OpenAI sotto https://api.infro.io/v1, con i modelli indirizzati come vendor/model. Stesso client, stessa forma di richiesta e risposta, compresi streaming, chiamate a strumenti e output strutturati. |
| Percorsi specifici del providerdiverso | Un percorso per provider che inoltra all'API del provider stesso, così ciascuno mantiene la propria forma nativa di richiesta. | Una forma normalizzata per modalità: /chat/completions, /images/generations, /images/edits, /audio/speech, /audio/transcriptions e /videos, che restituisce un job asincrono. Le API native dei provider non vengono inoltrate: una chiamata scritta per la Messages API di Anthropic o per generateContent di Gemini deve passare alla forma compatibile. |
| Chiavi provider archiviatediverso | Chiavi mantenute per gateway con alias, selezionate per richiesta con un header cf-aig-byok-alias e usate prima di Unified Billing quando sono presenti entrambi. | Connessioni mantenute per organizzazione, sigillate, con stato di salute e ultimo errore visibili. Quale serve una richiesta è deciso dall'ambiente della chiave e dalla route, non da un header inviato dal chiamante. |
| Unified Billingniente | Cloudflare acquista l'inferenza dal provider e te la fattura, con una commissione sui crediti acquistati. | Nulla, di proposito. INFRO non acquista mai inferenza e non prende mai una quota della spesa per i modelli; i tuoi provider ti fatturano direttamente alle tue tariffe. Se Cloudflare sta attualmente acquistando la tua, ti servono i tuoi account provider prima che un passaggio sia possibile. |
| `cf-aig-metadata`diverso | Fino a cinque voci di tipo stringa, numero o booleano per richiesta, inviate come header, che compaiono nei log e utilizzabili come dimensione di un limite di spesa. | Un oggetto metadata nel corpo della richiesta, mai inoltrato a monte: user_id, session_id e un numero qualsiasi di chiavi sotto tags, filtrate nel log delle richieste come tag.<key>. Ovunque imposti oggi l'header è una modifica. |
| `cf-aig-custom-cost`diverso | Le tue tariffe negoziate per input, output e cache, inviate per richiesta in un header, che sostituiscono il costo pubblico del modello per quella chiamata. | Tariffe archiviate nella console per modello e, facoltativamente, per provider, applicate a ogni richiesta corrispondente, con usage.price_source nella risposta che indica quale tariffa ha prodotto il numero. Incluso dal piano Team. |
| Limiti di spesastessa forma | Budget in dollari su una finestra mobile o fissa, con ambito per modello, provider o metadati personalizzati, valutati prima di chiamare il provider, con restituzione di 429 al tetto oppure ripiego su un modello più economico. Fino a 20 regole per gateway. | Budget a livello di organizzazione, progetto, membro e chiave, valutati prima di chiamare il provider, con restituzione di 402 budget_exceeded e soglie di avviso che imposti tu. Legati al modello a oggetti e non ai metadati, quindi il tetto di un progetto non dipende dal fatto che il chiamante ricordi un header. |
| Routing dinamicodiverso | Un grafo di route composto in un editor visuale o come JSON: rami condizionali su corpo della richiesta, header o metadati, suddivisioni percentuali, nodi di frequenza e di budget, pubblicato senza deploy. Disponibile sull'endpoint compatibile con OpenAI. | Route con nome con destinazioni per priorità o ponderate sulle tue connessioni, con controllo di salute, con failover prima del primo byte della risposta. Non c'è ramificazione condizionale sul contenuto della richiesta; una route if/else deve passare nella tua applicazione. |
| `cf-aig-max-attempts`diverso | Fino a cinque tentativi con ritardo configurabile e backoff costante, lineare o esponenziale, impostati per richiesta e validi con qualsiasi endpoint di provider. | Tentativi e failover sono policy della route e non header per richiesta, quindi il comportamento si configura una volta nella console e vale per ogni chiamante di quella route. Una richiesta che fallisce su ogni destinazione riporta ogni tentativo nella sua trace. |
| Cachingdiverso | Risposte servite dalla cache di Cloudflare invece che dal provider, per latenza e per costo. | Una cache delle risposte a corrispondenza esatta per i chat completions, disattivata per impostazione predefinita e attivata per organizzazione o progetto, con un campo cache per richiesta nel corpo o header X-INFRO-Cache dove Cloudflare usa header cf-aig-*. Non memorizza altri endpoint ed è con chiave per progetto e ambiente della chiave, quindi nulla è condiviso tra di essi. |
| Guardrail e DLPdiverso | I guardrail valutano prompt e risposta rispetto a categorie di sicurezza; il DLP analizza entrambi alla ricerca di informazioni sensibili e sostituisce la risposta con un 400 oppure segnala il rilevamento in un header cf-aig-dlp. Nessuna delle due pagine delle funzioni dice come sono fatturati, quindi non lo diciamo. | Guardrail a pattern sui chat completions: bloccano, oscurano o segnalano PII, chiavi API e i tuoi termini. Nessun classificatore di categorie di sicurezza. |
| Workers AIniente | I modelli ospitati da Cloudflare, chiamati tramite lo stesso gateway dei provider di terze parti. | Nulla. INFRO non gestisce alcuna inferenza propria: instrada verso account che possiedi presso i provider. Un carico di lavoro su Workers AI qui non ha una destinazione. |
| Logdiverso | Prompt, risposte, token, costo, durata e user agent, entro un limite di archiviazione per gateway. Quando il limite viene raggiunto, i nuovi log non vengono più salvati finché quelli vecchi non vengono eliminati, oppure finché non si attiva l'eliminazione automatica per scartare i più vecchi. | Metadati delle richieste (stato, modello, provider, route, token, latenza, costo stimato) conservati per 7, 14, 30 o 90 giorni a seconda del piano. L'acquisizione di prompt e completamenti è disattivata per impostazione predefinita e ha una finestra propria, più breve. |
| Esportazione OpenTelemetrystessa forma | Span verso il tuo collector secondo le convenzioni semantiche GenAI, con gen_ai.usage.cost e qualsiasi metadato personalizzato come attributi dello span. | Span inviati al tuo collector dal percorso della richiesta, con endpoint e header impostati nella console. Incluso dal piano Team. |
È la nostra lettura della documentazione pubblicata da Cloudflare, non una prova o un benchmark. Il loro prodotto evolve rapidamente (i limiti di spesa sono arrivati a giugno 2026 e User Insights ad agosto), quindi verifica ogni riga che decide qualcosa per te con il loro changelog e non con questa pagina. Ogni fonte e la data in cui l'abbiamo aperta sono elencate in fondo.
Due argomenti per la connessione, e l'id del modello mantiene la sua forma. Il lavoro è negli header: alcuni diventano un campo del corpo, e gli header di retry non hanno proprio un posto dove andare, perché qui i retry sono una policy della route e non qualcosa che invia chi chiama.
Prima · Cloudflare AI Gateway
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.CF_API_TOKEN,
baseURL:
`https://gateway.ai.cloudflare.com/v1/${process.env.CF_ACCOUNT_ID}` +
`/${process.env.CF_GATEWAY_ID}/compat`,
});
const completion = await client.chat.completions.create(
{
model: "anthropic/claude-opus-5",
messages,
},
{
headers: {
"cf-aig-metadata": JSON.stringify({
user_id: "user_8f21",
feature: "summarizer",
}),
"cf-aig-max-attempts": "3",
},
},
);Dopo · INFRO
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.INFRO_API_KEY,
baseURL: "https://api.infro.io/v1",
});
const completion = await client.chat.completions.create({
// The model id keeps its shape: vendor, slash, model.
model: "anthropic/claude-opus-5",
messages,
// Annotations move out of headers and into the body. Recorded on the
// request, never forwarded upstream, and ignored by any OpenAI-compatible
// backend that does not know the field — so the same call still runs
// elsewhere.
metadata: {
user_id: "user_8f21",
tags: { feature: "summarizer" },
},
});
// Retries and failover are not here. They are route policy, set once in the
// console, so cf-aig-max-attempts has nothing to become.L'URL di base e la chiave
https://api.infro.io/v1, con una chiave del gateway INFRO nell'header standard Authorization: Bearer: sono quindi gli argomenti baseURL e apiKey che il tuo client ha già. L'id dell'account e l'id del gateway nell'URL di Cloudflare non hanno equivalente: una chiave INFRO identifica già l'organizzazione, il progetto e l'ambiente a cui appartiene.
L'id del modello non cambia forma
Entrambi indirizzano i modelli come vendor, barra, modello. Gli id vanno comunque verificati: GET /v1/models elenca esattamente ciò che la tua chiave può chiamare, cioè ciò che servono i tuoi account collegati, e un modello che nessuna connessione copre restituisce 503 no_provider_connected indicando il provider da collegare invece di fallire in modo vago.
Gli header spariscono
cf-aig-metadata diventa l'oggetto metadata nel corpo: user_id, session_id e tutto il resto sotto tags. cf-aig-max-attempts, cf-aig-retry-delay e cf-aig-backoff non hanno un corrispondente, perché tentativi e failover si configurano sulla route e non si inviano per richiesta. cf-aig-custom-cost passa una volta sola nella console e cf-aig-byok-alias è sostituito dall'ambiente della chiave.
Il passaggio non deve essere un cambio netto. Entrambi i gateway sono normali endpoint HTTPS a cui un client compatibile con OpenAI può puntare, quindi un servizio può girare qui mentre tutto il resto resta dov'è, e i due log delle richieste possono essere letti fianco a fianco per una settimana. È anche il modo per verificare la parte di questa pagina di cui dovresti fidarti meno, cioè se i due prodotti concordano sul costo di una richiesta, e vale la pena farlo prima della decisione e non dopo.
Quattro cose, e l'elenco è volutamente breve. Limiti di spesa, attribuzione per identità, prezzi personalizzati ed export OpenTelemetry ci sono anche in Cloudflare: questo è ciò che resta tolta la sovrapposizione.
- La stima viene verificata con la fatturazione del provider stesso
- La documentazione sui limiti di spesa di Cloudflare dice che il monitoraggio dei costi è una stima best-effort basata sui conteggi dei token e sui prezzi dei modelli e che per gli importi di fatturazione esatti bisogna consultare la dashboard del provider. È una descrizione accurata di ciò che un gateway sa da solo e la cifra per richiesta di INFRO è una stima alle stesse condizioni. Ciò che differisce è il passo successivo: un passaggio giornaliero legge le API dei costi di OpenAI e Anthropic con una credenziale admin separata che concedi deliberatamente, archivia la cifra riportata accanto alla stima e segnala lo scostamento. Due provider, nel piano Business: un provider senza adapter non mostra alcuno scostamento invece di uno scostamento pari a zero, l'endpoint di Anthropic esclude il Priority Tier, e Bedrock, Vertex e Azure tengono i loro costi nella fatturazione del cloud circostante.
- Le tue tariffe negoziate stanno nel piano di controllo, non in un header
- Entrambi i prodotti possono prezzare in base alle tariffe che i tuoi contratti prevedono davvero. Su Cloudflare viaggiano per richiesta in
cf-aig-custom-cost, il che significa che ogni servizio che chiama un modello conserva una copia delle tue condizioni commerciali e una rinegoziazione è un deploy su tutti. Qui vengono inserite una sola volta, per modello e facoltativamente per provider, da chi possiede il contratto, eusage.price_sourcesu ogni richiesta indica se il numero proviene dalla tua tariffa, dalla tua tariffa per quel provider o da quella pubblicata dal vendor. Incluso dal piano Team. - L'unità è un'organizzazione e non un gateway
- Un gateway Cloudflare è configurato da chi detiene il ruolo dell'account Cloudflare e l'identità per richiesta arriva come metadati personalizzati o da Access. INFRO ha organizzazioni, progetti, ambienti e chiavi con il proprio ambito, cinque ruoli, allowlist dei modelli a livello di organizzazione, progetto e chiave e un log di audit di chi ha cambiato quale policy e quando, tutto nel piano di ingresso. Conta nel punto in cui più team condividono i provider e la domanda diventa quale team può chiamare questo modello e chi lo ha approvato. SSO di directory e SCIM sono inclusi dal piano Business.
- Un rendering lungo è un job, non una richiesta tenuta aperta
- La generazione di video si invia con
POST /v1/videose restituisce un job che leggi conGET /v1/jobs/{id}o ricevi su un webhook firmato, e il contenuto finito viene ospitato di nuovo dietro un URL firmato a scadenza, così sopravvive alla finestra di conservazione del provider. È misurato e attribuito esattamente come un chat completion, ed è la parte che conta per un prodotto ricco di contenuti multimediali: la spesa più difficile da vedere è di solito quella che non ha la forma di un token.
Cosa non si porta con sé
Non c'è un importatore, e l'ultima voce di questo elenco è quella che decide i tempi. Leggila prima di impegnarti su una data.
- I tuoi log. Non esiste un importatore e non è previsto. Esporta tutto ciò che ti serve dal gateway prima di smettere di inviargli traffico, e ricorda che il suo log è un limite di archiviazione e non una finestra temporale, quindi ciò che c'è potrebbe essere già più breve di quanto pensi.
- Risposte in cache. Le voci della cache di un altro prodotto non si spostano; la cache di INFRO parte vuota e si riempie con il tuo traffico, e abbina solo richieste esatte, mai simili.
- Policy di guardrail per categoria di sicurezza. Non c'è dove atterrare: i guardrail di INFRO abbinano pattern (PII, segreti e i tuoi termini) e non classificano nulla.
- Modelli Workers AI. INFRO instrada verso account provider che possiedi e non gestisce alcuna inferenza, quindi un carico di lavoro sui modelli di Cloudflare non ha una destinazione.
- Grafi di route dinamiche. Le destinazioni per priorità e ponderate trasferiscono una catena di fallback, ma i rami condizionali e le suddivisioni percentuali no: vanno ricostruiti nella tua applicazione o abbandonati.
- Unified Billing. Se Cloudflare sta acquistando oggi la tua inferenza, ti servono prima i tuoi account con ciascun provider. È un passaggio commerciale con i suoi tempi, non una modifica di configurazione, ed è l'unica cosa di questo elenco che può bloccare un passaggio per settimane.
Se il dato sui costi ha un pubblico
È il caso per cui questo prodotto è costruito, ed è l'unico in questa pagina a cui la documentazione di Cloudflare non risponde già. Il contratto dell'API è pubblicato per intero, comprese le parti che non esistono ancora, così puoi decidere prima di scrivere qualsiasi cosa. Oppure raccontaci cosa usi: se la risposta è che dovresti restare sul gateway che hai, è la risposta che riceverai.
Fonti
Ogni affermazione su Cloudflare in questa pagina proviene da una di queste fonti, con la data in cui l'abbiamo letta. Nulla è dedotto da una prova, un benchmark o una conversazione, e dove una pagina non chiariva qualcosa, la guida lo dice invece di tirare a indovinare.
- Cloudflare AI Gateway — Pricingletto il 20 set 2026
- Cloudflare AI Gateway — Spend limitsletto il 20 set 2026
- Cloudflare AI Gateway — Unified Billingletto il 20 set 2026
- Cloudflare AI Gateway — Dynamic routingletto il 20 set 2026
- Cloudflare AI Gateway — Bring your own keysletto il 20 set 2026
- Cloudflare AI Gateway — Custom costsletto il 20 set 2026
- Cloudflare AI Gateway — Request handlingletto il 20 set 2026
- Cloudflare AI Gateway — Loggingletto il 20 set 2026
- Cloudflare AI Gateway — Custom metadataletto il 20 set 2026
- Cloudflare AI Gateway — User Insightsletto il 20 set 2026
- Cloudflare AI Gateway — OpenTelemetry integrationletto il 20 set 2026
- Cloudflare AI Gateway — OpenAI-compatible chat completionsletto il 20 set 2026
- Cloudflare AI Gateway — Supported providersletto il 20 set 2026
- Cloudflare AI Gateway — Guardrailsletto il 20 set 2026
- Cloudflare AI Gateway — Data loss preventionletto il 20 set 2026
- Cloudflare changelog — Control AI costs with spend limitsletto il 20 set 2026
- Cloudflare changelog — User Insightsletto il 20 set 2026