Documentazione
Dify
Dify raggiunge un endpoint esterno tramite un unico plugin, OpenAI-API-compatible, e un campo obbligatorio, API Base URL. Compilalo e ogni nodo LLM nei tuoi flussi di lavoro potrà usare gli ID Claude e GPT con un'unica chiave.
Un solo campo obbligatorio — API Base URL, nel modulo Add Model del plugin compatibile con OpenAI API — indirizza ogni nodo LLM di uno spazio di lavoro Dify verso Kunavo.
# Integrations → Model Provider → OpenAI-API-compatible → Add Model
Type LLM
Model Name claude-sonnet-5
Model display name Kunavo · Claude Sonnet 5
API Key sk-kn-...
API Base URL https://api.kunavo.com/v1
model name for API endpoint (leave blank — Model Name is already the id)
Completion mode Chat
Model context size 1000000
Upper bound for max tokens (your own ceiling for one reply)
Function Call Type Tool Call # defaults to no_call
Vision Support Support # only if you will send images
Structured Output Support # defaults to not supported
# Model context size is per model, not per endpoint: 1000000 is
# claude-sonnet-5's. The table below carries the rest./v1. Il plugin dichiara endpoint_url con l'etichetta API Base URL, lo contrassegna come unico campo obbligatorio accanto al nome del modello e gli assegna il segnaposto “Base URL, ad es. https://api.openai.com/v1”: è questa indicazione a chiarire come compilare il modulo. Il README del plugin spiega l'eccezione senza contraddirlo: per i tipi di modello non-LLM, il plugin “aggiunge internamente la versione API”, quindi in quei casi va usata l'origine senza percorso per evitare un doppio /v1/v1. Nessun modello Kunavo appartiene a quei tipi, quindi ti basta il modulo /v1.Function Call Type è impostato su no_call, mentre Structured Output e Vision Support sono impostati su «non supportato». Un modello aggiunto con le impostazioni predefinite risponde perfettamente in un semplice nodo di chat, poi non funziona in un nodo Agent o in un flusso di lavoro che usa strumenti: sembra un problema dell’endpoint, ma non lo è. Impostale quando aggiungi il modello, prima di eseguire qualsiasi altra diagnosi.curl qui sotto è la verifica che puoi fare in dieci secondi; tutto il resto dipende da te e da Dify.sk-kn-) e aggiungi credito da $10: le chiamate vengono pagate con quel saldo e le chiamate non riuscite non vengono addebitate. La dashboard si apre quindi sulla configurazione Dify.Passo dopo passo
- Crea una chiave su
/app/keyse copiala: viene mostrata una sola volta. - In Dify, apri Integrations → Model Provider, vai su Install model providers (o nel Marketplace) e installa OpenAI-API-compatible, pubblicato da
langgenius. La documentazione di Dify specifica che solo il proprietario e gli amministratori del workspace possono gestire i provider. - Fai clic su Add Model nella scheda di quel provider. Il plugin non offre modelli predefiniti: è un provider
customizable-model; quindi ogni ID che vuoi usare richiede una voce separata. - Compila il modulo come sopra. Type =
LLM, Model Name = l’ID Kunavo esatto, API Key = la tua chiavesk-kn-, API Base URL =https://api.kunavo.com/v1, Completion mode =Chate Model context size come indicato nella tabella qui sotto. Poi imposta Function Call Type e, se ti servono, Structured Output e Vision Support. Salva. - Apri un flusso di lavoro e seleziona il modello nel nodo che deve usarlo: Dify assegna i modelli per nodo, non per app, quindi un classificatore e un nodo di scrittura finale possono usare ID e prezzi diversi. Le app e i nodi per cui non selezioni un modello usano Default Models → System Reasoning Model come fallback.
- Esegui un flusso di lavoro con limiti definiti, poi controlla l’addebito nel tuo account Kunavo, non in Dify: vedi la nota sulla visualizzazione dei costi qui sotto.
Verificato rispetto a La pagina del plugin OpenAI-API-compatible di Dify il 21 settembre 2026. Le impostazioni di terze parti cambiano; se il nome di un campo qui non corrisponde più a quello visualizzato, fa fede quella pagina, non questa.
Verifica prima di eseguire il debug del client
Una sola richiesta stabilisce se il problema riguarda l'endpoint, la chiave o il file di configurazione. Se restituisce JSON, lo stesso base URL e la stessa chiave funzionano in Dify.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."Quale model id inserire nel campo
Ogni modello di testo è raggiungibile come model id: l'elenco aggiornato è GET /v1/models e il catalogo con i prezzi è nella pagina dei modelli. Le tariffe sono in USD per 1M di token, input / output.
| ID del modello | Kunavo ingresso / uscita | Dove si inserisce in Dify |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | il modello di riferimento per i nodi di scrittura e Agent: dimensione del contesto 1000000 |
claude-opus-5 | $3.50 / $17.50 | il nodo il cui output viene letto da una persona, o un piano per cui un errore costa caro: 1000000 |
claude-haiku-4-5 | $0.70 / $3.50 | nodi di classificazione, instradamento ed estrazione, dove si concentra il volume delle chiamate: 200000 |
gpt-5-6-sol | $2.00 / $12.00 | una seconda famiglia con la stessa chiave, come voce di modello distinta: 1050000 |
gpt-5-6-terra | $0.70 / $4.20 | nodi per documenti lunghi: 1050000 |
Due cose diverse si chiamano «API di Dify»
Questa pagina tratta una delle due, ma nei risultati di ricerca vengono spesso confuse.
- Aggiungere un modello a Dify: è ciò che fa la procedura di configurazione qui sopra. Dify è il client, Kunavo è l’endpoint e la credenziale che incolli è una chiave
sk-kn-. Da quel momento, ogni nodo LLM di ogni app in quel workspace può richiamare gli ID che hai aggiunto. - Richiamare un’app Dify dal tuo codice: è la Service API che Dify espone per un’app pubblicata, con una propria chiave
app-rilasciata da Dify. Quella chiave è di Dify, non nostra, e non è possibile indirizzarla altrove. Kunavo non interviene in questo flusso.
Possono funzionare contemporaneamente sulla stessa app, e di solito è così: il tuo backend chiama l’app Dify con una chiave Dify e i nodi dell’app chiamano Kunavo con una chiave Kunavo. Due chiavi, due fatture, due punti da controllare quando qualcosa restituisce un errore 401.
Perché Dify non mostra i costi del modello che hai aggiunto
I file dei modelli predefiniti di Dify includono una sezione sui prezzi: tariffe di input e output e un’unità per token. Dify moltiplica i conteggi dei token per queste tariffe e mostra un importo nel log. Lo schema del provider OpenAI-API-compatible non dichiara alcun campo relativo a prezzo, unità o valuta; è stato verificato alla data indicata sopra. Perciò, per un modello aggiunto tramite questo plugin, Dify non ha una tariffa da applicare ai conteggi: l’importo mancante non è uno sconto che hai trovato né un bug che hai causato, è un campo che non esiste. Consulta il dato effettivo nel riepilogo dell’utilizzo Kunavo e considera i conteggi di Dify come conteggi di token.
C’è un’impostazione correlata che conviene lasciare invariata: Include Usage in Stream è attivata per impostazione predefinita e chiede all’endpoint i conteggi dei token di prompt e completamento nell’ultimo blocco dello stream. Disattivandola, perdi anche i conteggi dei token.
Se ospiti Dify autonomamente
Lo stack Docker Compose instrada le richieste in uscita tramite un servizio ssrf_proxy, quindi l’endpoint deve essere raggiungibile dall’interno della rete dei container, non soltanto dal browser sul tuo portatile. Se la configurazione funziona da un punto ma dall’altro va in timeout, di solito il problema è questo: riguarda la rete, non le credenziali. La curl qui sopra, eseguita dall’interno del container, fornisce una risposta diretta.
Domande frequenti
Come si collega a Dify un’API personalizzata compatibile con OpenAI?
Installa il plugin OpenAI-API-compatible, pubblicato da langgenius, da Integrations → Model Provider → Install model providers o dal Marketplace di Dify. Fai clic su Add Model nella relativa scheda e compila il modulo: Type, Model Name, Model display name, API Key, API Base URL, Completion mode e Model context size, oltre agli interruttori delle funzionalità. Questo provider non offre modelli predefiniti: è un provider di modelli personalizzabili, quindi ogni ID modello che vuoi usare richiede una voce distinta, ciascuna con il proprio URL di base e la propria chiave.
L’API Base URL di Dify deve terminare con /v1?
Sì, per un modello di chat. Lo schema del provider del plugin chiama il campo API Base URL, lo contrassegna come obbligatorio e specifica come segnaposto «Base URL, e.g. https://api.openai.com/v1»: la forma documentata è quindi la radice /v1; per Kunavo, https://api.kunavo.com/v1. L’origine senza percorso è documentata solo per i tipi di modello per cui il plugin aggiunge autonomamente la versione dell’API; altrimenti si otterrebbe un percorso /v1/v1 duplicato. Kunavo non offre modelli di quei tipi, quindi va usata la forma /v1. Se manca /v1, si ottiene un errore 404, non un errore di autenticazione.
Perché il mio nodo Agent di Dify non riesce a usare strumenti con il modello che ho aggiunto?
Perché, nei modelli aggiunti tramite il plugin OpenAI-API-compatible, Function Call Type è impostato per impostazione predefinita su no_call, mentre Structured Output, Vision Support, Stream function calling e Thinking Mode Support sono tutti impostati su «non supportato». Dify considera queste impostazioni dichiarazioni, non risultati di verifiche: quindi, anche se il modello supporta la funzionalità, se viene aggiunto con i valori predefiniti un nodo Agent o che usa strumenti continuerà a rifiutarlo. Apri la configurazione del modello e imposta Function Call Type su Tool Call — Function Call è il formato precedente — poi esegui un nuovo test prima di attribuire il problema all’endpoint.
Perché Dify non mostra il prezzo di un modello aggiunto tramite il plugin compatibile?
Perché lo schema del provider di quel plugin non include alcun campo relativo ai prezzi, mentre i file dei modelli predefiniti di Dify li includono. Dify quindi non ha una tariffa per token da applicare ai conteggi e non mostra nulla, anziché fornire una stima. Ricava l’importo effettivo dai registri di utilizzo del provider e considera i numeri di Dify come conteggi di token. Lasciare attiva Include Usage in Stream è ciò che permette di ricevere questi conteggi.
Aggiungere Kunavo a Dify equivale a esporre un’app Dify come API?
No, si tratta di due flussi in direzioni opposte. Aggiungendo Kunavo, Dify diventa il client: i nodi di Dify inviano richieste a un endpoint configurato con una chiave Kunavo. Con la Service API di Dify, il client è il tuo codice: chiama un’app Dify pubblicata con una chiave rilasciata da Dify, e in quel flusso non va usato alcun URL di base nostro. Spesso la stessa app esegue entrambi i flussi contemporaneamente; per questo, in caso di errore 401, conviene innanzitutto risalire alla chiave specifica coinvolta.
Kunavo ha testato questa configurazione in Dify?
No. In data 21 settembre 2026 sono stati verificati i materiali di Dify: l’elenco del plugin nel Marketplace di Dify e lo schema del provider nel repository ufficiale dei plugin Dify. Da lì provengono i nomi dei campi, il loro ordine, gli indicatori di obbligatorietà e i valori predefiniti riportati qui. Nessuno ha aggiunto un modello Kunavo a un workspace Dify attivo ed eseguito un flusso di lavoro tramite esso; non viene quindi fatta alcuna affermazione sullo streaming, sugli scambi completi di chiamate con strumenti o sui cicli Agent di lunga durata in questo client. L’unica verifica che puoi fare separatamente riguarda il funzionamento dell’endpoint e della chiave: puoi eseguirla con il comando curl in questa pagina.