kimik3.io/API/EvoLink vs OpenRouter

Kimi K3 attraverso EvoLink o OpenRouter

Entrambi offrono kimi-k3 esattamente alla tariffa di listino di Moonshot. Abbiamo fatto girare la stessa suite di test misurati su entrambi, lo stesso giorno. Qui trovi dove differiscono — e quale scegliere per il tuo caso.

Scegli in base a cosa chiamerai e a quanto rende il tuo denaro — non alla tariffa per token, che è identica. Se userai solo modelli Kimi, vai direttamente su Moonshot e salta del tutto i gateway. Se vuoi K3 più altri modelli su una sola key, la scelta è tra EvoLink e OpenRouter: stesse tariffe di listino $3.00 / $0.30 / $15.00 per 1M di token, stesso formato compatibile con OpenAI, stessa meccanica della cache. Dove differiscono in modo misurabile: OpenRouter aggiunge una commissione del 5–5.5% quando compri i crediti (le ricariche EvoLink non ne hanno), rinomina il campo del ragionamento di K3 (reasoning, non il reasoning_content di Moonshot), l'unico errore di trasporto della giornata su 73 chiamate è stato un timeout upstream di OpenRouter, e OpenRouter dichiara da sé il costo in dollari dentro usage, mentre EvoLink restituisce la risposta nativa di Moonshot byte per byte.

Misurato il 2026-07-18 — 20 esecuzioni alternate con lo stesso prompt, più verifiche su campi, cache e affidabilità su entrambi. Metodo; dati grezzi nel repository del sito.

La decisione in trenta secondi

  1. Solo modelli Kimi, per sempre? Vai diretto su Moonshot (https://api.moonshot.ai/v1). Nessun intermediario, un account in meno. La guida all'API lo spiega.
  2. K3 insieme a GPT, Claude, Gemini? Allora ti serve un gateway — una key, un saldo, e cambiare modello è cambiare una stringa. Cioè EvoLink o OpenRouter, e il resto di questa pagina è il confronto misurato.
  3. Sei già su uno dei due? Resta dove sei, a meno che una riga qui sotto non ti faccia cambiare idea. Migrare costa un base_url e una stringa del modello — più un campo rinominato, ed è quello che morde. Ecco perché.

Prezzo: stessa tariffa di listino — la differenza è al momento di ricaricare

Entrambi applicano a kimi-k3 le tariffe di listino ufficiali di Moonshot — quelle di EvoLink le abbiamo lette dalla sua documentazione, quelle di OpenRouter dalla sua API dei modelli, il 2026-07-18, e sulle nostre chiamate abbiamo verificato l'aritmetica di usage.cost di OpenRouter contro la sua tariffa di listino. La differenza sta in quanti crediti diventa un tuo dollaro:

Tariffe per 1M di token lette il 2026-07-18; commissioni di ricarica di OpenRouter citate dalle sue FAQ ufficiali lo stesso giorno.
EvoLinkOpenRouter
Input (miss della cache)$3.00$3.00
Input (hit della cache)$0.30$0.30
Output (ragionamento incluso)$15.00$15.00
Commissione di ricaricaNessuna5.5% con carta ($0.80 min) · 5% in crypto
Finestra di contesto1,048,5761,048,576
ID del modellokimi-k3moonshotai/kimi-k3
base_urlhttps://direct.evolink.ai/v1https://openrouter.ai/api/v1

OpenRouter dichiara apertamente di ribaltare i prezzi del provider senza ricarichi — la commissione si sposta al momento del pagamento: «5.5% ($0.80 minimo)» con carta, «5%» in crypto, secondo le sue FAQ (lette il 2026-07-18; portare la key del proprio provider costa 5% oltre 1M di richieste al mese). Le tabelle per token quindi coincidono, ma ogni milione di token che compri su OpenRouter con carta costa di fatto circa il 5.5% in più. EvoLink non applica sovrapprezzi sulle ricariche e lancia periodicamente promozioni con crediti bonus sui rifornimenti — quando una è attiva, la tariffa effettiva pende ancora di più dalla stessa parte.

Stesso prezzo di listino, dunque: numeri identici sulla riga della fattura, non sul conto in banca. Il resto della pagina confronta i comportamenti.

Il campo del ragionamento ha un nome diverso — è una tassa di portabilità, non una mina

K3 ragiona sempre e restituisce il ragionamento insieme alla risposta. Il campo nativo di Moonshot è message.reasoning_content, ed è quello che EvoLink lascia passare invariato. OpenRouter lo rinomina secondo la sua convenzione trasversale ai provider:

Differenze nella forma della risposta, una chiamata identica senza streaming per ciascuno, 2026-07-18.
EvoLinkOpenRouter
Ragionamento, senza streaming message.reasoning_content message.reasoning + message.reasoning_details
Ragionamento, delta in streaming delta.reasoning_content delta.reasoning
Nome del modello restituito "kimi-k3" "moonshotai/kimi-k3"
Costo in dollari dentro usage usage.cost + cost_details, in USD

Diciamo con precisione quando questo ti costa qualcosa, perché in un'integrazione nuova di solito non costa nulla: tu (o il tuo assistente AI) scrivi seguendo la documentazione del gateway che hai scelto, leggi il nome giusto del campo, fine. Il cambio di nome morde esattamente in tre casi:

  • Cambiare gateway più avanti. Da entrambe le parti il messaggio è «per migrare basta una riga di base_url» — e per il testo della risposta è vero. Ma il codice che gestisce il ragionamento (visualizzazione del pensiero, spinner in attesa del contenuto, diagnostica sui token di ragionamento) legge un campo che non esiste più, riceve None e degrada senza alcun errore da intercettare. È la parte che la storia della riga singola non racconta.
  • Riusare su OpenRouter codice dell'ecosistema Moonshot. Documentazione ufficiale, tutorial, esempi degli SDK e snippet open source per i modelli Kimi leggono reasoning_content. Su EvoLink girano invariati; su OpenRouter quel campo torna vuoto.
  • Un solo codice per entrambi i provider. Il routing di fallback o un A/B tra gateway deve leggere entrambi i nomi su ogni risposta.

La soluzione che copre entrambi sta in una riga:

def get_reasoning(delta):
    # Moonshot / EvoLink usano reasoning_content; OpenRouter lo rinomina in reasoning
    return getattr(delta, "reasoning_content", None) or getattr(delta, "reasoning", None)

Il cambio di nome taglia da entrambi i lati — il codice scritto per il reasoning di OpenRouter diventa altrettanto cieco su Moonshot o EvoLink. L'asimmetria pratica riguarda gli ecosistemi, non la correttezza: la forma di EvoLink è la forma di Moonshot, quindi il corpo più ampio di codice e documentazione nativi Kimi lì funziona senza modifiche.

Caching: meccanica identica su entrambi

Abbiamo inviato due volte un prefisso nuovo da ~4.5k token attraverso ciascun gateway. Entrambi hanno registrato l'hit e concesso gli stessi blocchi da 256 token che abbiamo misurato su Moonshot diretto — la prova più forte che entrambi passano il tuo prompt alla stessa cache:

Chiamata fredda e poi calda, prefisso identico per ogni gateway, 2026-07-18.
prompt_tokenscached_tokens a caldoBlocchi (÷256)
EvoLink4,5024,35217
OpenRouter4,5014,35217

Le ricevute usage.cost di OpenRouter mettono cifre in dollari sullo stesso effetto: la chiamata fredda ha addebitato $0.0145, quella calda $0.0026. Lo sconto cache di 10× è reale su entrambi i gateway — e come ovunque su K3, fa risparmiare soldi, non tempo.

Affidabilità: cosa hanno mostrato 73 chiamate

Su tutta la suite della giornata — latenza, caching, contesto lungo, tools, sonde sul ragionamento; escluse le sonde d'errore deliberate — si è verificato un solo errore di trasporto, e non era dal lato di EvoLink:

Chiamate della suite del 2026-07-18. Escluse le sonde d'errore deliberate; l'unico 400 di EvoLink è stato un rifiuto di parametro immediato e documentato (tool_choice con una funzione nominata), non un errore di trasporto.
ChiamateErrori di trasportoTipo di errore
EvoLink600
OpenRouter131Upstream idle timeout exceeded — dopo essere rimasta appesa 143s

Siamo onesti sul campione: un errore su tredici esecuzioni non è un tasso di errore, è un aneddoto. Quello che vale la pena tenere è la forma dell'errore — la chiamata non è fallita subito, ha tenuto la connessione per 143 secondi e poi è morta. Se chiami K3 attraverso un aggregatore qualunque, imposta un timeout tuo sul client invece di ereditare la pazienza del gateway, e ritenta quando scatta.

Latenza: due finestre, nessun vincitore stabile

Il disegno del test controlla l'ora del giorno: ogni round manda lo stesso prompt a entrambi i gateway uno dopo l'altro, alternando l'ordine — così ogni round è un confronto diretto, immune alla deriva del carico tra una misura e l'altra. Il 2026-07-18 abbiamo eseguito due finestre di questo tipo a circa 90 minuti di distanza: 19 coppie completate.

Round appaiati con lo stesso prompt, in streaming, 2026-07-18. Tempo mediano al primo token di contenuto per provider e per finestra; delta appaiato = EvoLink meno OpenRouter in ogni round, un valore positivo significa che in quel round OpenRouter è stato più veloce.
EvoLink, medianaOpenRouter, medianaRound vinti da OpenRouterDelta appaiato mediano
Finestra 131.1s22.0s7 su 9+7.4s
Finestra 2 (~90 min dopo)26.9s25.8s5 su 10−1.1s
Totale12 su 19+6.2s

Presa da sola, la finestra 1 sembra una vittoria di OpenRouter: 7 round su 9 e un vantaggio mediano di 7.4s. Poi la finestra 2, stesso protocollo, 90 minuti dopo: parità netta — 5 round su 10 a testa, mediane distanti 1.1s, questa volta a favore di EvoLink. Sommando tutto, OpenRouter si prende 12 coppie su 19; un test dei segni su questa divisione dà p ≈ 0.36 — il tipo di vantaggio che ottieni lanciando 19 volte una moneta onesta. Nel frattempo i singoli round dentro una stessa finestra sono andati da ~2.6s a ~38s su entrambe le rotte, ed entrambe hanno toccato lo stesso minimo veloce. Ecco come appare in numeri il fatto che a dominare è «il carico lato Moonshot, non il salto sul gateway»: l'oscillazione dentro un singolo gateway è di un ordine di grandezza più ampia di qualsiasi distacco tra i due.

Quindi non dichiariamo un vincitore sulla latenza, in nessuna delle due direzioni — non perché i numeri siano vicini in una finestra (non lo erano), ma perché la classifica non è sopravvissuta a 90 minuti. Se da altre finestre emergerà un distacco stabile, questa sezione avrà un verdetto e una data.

Dove vince ciascuno

Scegli EvoLink quando K3 è un cittadino di prima classe del tuo stack. Ecco perché, con ogni punto misurato qui sopra o nella sua pagina:

  • Risposte native Moonshot. reasoning_content, kimi-k3 restituito com'è, forma byte per byte identica alla documentazione ufficiale — il codice si sposta tra Moonshot diretto ed EvoLink cambiando solo base_url, senza rinominare campi. Misurato.
  • Zero errori di trasporto nella nostra suite — 60 chiamate in giornata senza nemmeno uno — contro l'unico timeout upstream, prima appeso e poi morto, visto dal lato di OpenRouter. Campioni piccoli, dichiarati onestamente, ma nostri.
  • Un endpoint di produzione dedicato più uno di riserva (direct.evolink.ai / api.evolink.ai) — entrambi cronometrati nella pagina sulla latenza.
  • Il tuo dollaro compra più token. Stessa tariffa di listino, ma nessun sovrapprezzo sulle ricariche (quello di OpenRouter è del 5–5.5%, secondo le sue FAQ), più 10 crediti gratuiti alla registrazione — senza numero di telefono cinese, senza carta — e promozioni periodiche con crediti bonus sui rifornimenti. GPT, Claude, Gemini e decine dei principali modelli al mondo sulla stessa key.

Scegli OpenRouter quando il punto è il suo ecosistema — hai già investito nel suo formato normalizzato tra provider, oppure vuoi la sua lunghissima coda di modelli di nicchia, oppure vuoi usage.cost che timbra i dollari su ogni risposta (davvero comodo; EvoLink non ha un campo equivalente e ci piacerebbe averlo). Il K3 che offre è quello vero al prezzo vero: stessa cache, un solo upstream Moonshot, nessuna rivendita.

Rifai il confronto da te

Ogni numero qui sopra viene da chiamate che puoi rieseguire — la suite è nel repository del sito. Una key EvoLink arriva con 10 crediti gratuiti: bastano per verificare tutto.

Ottieni una API key EvoLink — 10 crediti gratuiti

FAQ

Il Kimi K3 su OpenRouter è lo stesso modello di quello su EvoLink?

Sì. OpenRouter elenca un solo upstream per moonshotai/kimi-k3 — Moonshot AI stessa — e il nostro test sulla cache ha mostrato entrambi i gateway centrare la stessa cache a blocchi da 256 token, con conteggi coincidenti. Stesso modello, stesso prezzo, nomi dei campi di risposta diversi.

Perché dopo il cambio di gateway la visualizzazione del ragionamento è vuota?

Perché il campo del pensiero si chiama reasoning_content su Moonshot ed EvoLink ma reasoning su OpenRouter. Il codice che legge un nome riceve None sull'altro — senza alcun errore. Leggi entrambi i nomi; lo snippet è qui sopra.

Kimi K3 costa meno su EvoLink o su OpenRouter?

La tariffa di listino è identica — $3.00 di input, $0.30 di input in cache, $15.00 di output per 1M di token, verificati il 2026-07-18 su entrambi — ma OpenRouter applica il 5.5% (carta, minimo $0.80) o il 5% (crypto) quando compri i crediti, secondo le sue FAQ, mentre le ricariche EvoLink non hanno sovrapprezzo. Pagando con carta, gli stessi token costano di fatto circa il 5.5% in più su OpenRouter.

Qual è più veloce per Kimi K3?

Nessuno dei due, in modo stabile. Nei round appaiati con lo stesso prompt (19 coppie su due finestre, 2026-07-18) OpenRouter ha vinto nettamente la finestra 1 (7 su 9, mediana più veloce di 7.4s) e la finestra 2 è finita in parità (5 su 10, mediane distanti 1.1s, con una leggera preferenza per EvoLink). Il totale di 12 su 19 dà un test dei segni con p ≈ 0.36 — indistinguibile dal lancio di una moneta. L'oscillazione dentro una singola rotta schiaccia il distacco tra le due, perché la latenza di K3 è dominata dal ragionamento e dal carico lato modello, non dal salto sul gateway.