Documentazione

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.

Model Provider → OpenAI-API-compatible → Add Model
# 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.
API Base URL deve includere /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.
Tre impostazioni sono disattivate per impostazione predefinita e causano i problemi più comuni. 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.
Kunavo non fornisce modelli di embedding, di sintesi vocale o di trascrizione vocale, né modelli di reranking: questa voce del provider copre quindi lo slot LLM di Dify e nient’altro. Una knowledge base indicizzata in modalità High Quality, un URL Rerank Endpoint o un nodo vocale mantengono il provider già configurato; indirizzare qui un nodo LLM non sposta quelle chiamate.
Questa configurazione è stata ricavata dall’elenco dei plugin e dallo schema del provider di Dify alla data indicata di seguito. Kunavo non ha eseguito un workspace Dify sul proprio endpoint: nessun modello aggiunto a un workspace attivo, nessun flusso di lavoro eseguito, nessuno scambio completo di chiamate streaming con strumenti. Una pagina di configurazione pubblicata non è un test. La curl qui sotto è la verifica che puoi fare in dieci secondi; tutto il resto dipende da te e da Dify.
Non hai ancora una chiave? Crea un account Kunavo, genera una chiave (inizia con 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

  1. Crea una chiave su /app/keys e copiala: viene mostrata una sola volta.
  2. 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.
  3. 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.
  4. Compila il modulo come sopra. Type = LLM, Model Name = l’ID Kunavo esatto, API Key = la tua chiave sk-kn-, API Base URL = https://api.kunavo.com/v1, Completion mode = Chat e Model context size come indicato nella tabella qui sotto. Poi imposta Function Call Type e, se ti servono, Structured Output e Vision Support. Salva.
  5. 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.
  6. 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.

Questa è la versione breve. La guida completa, con scelta del modello, costo di una sessione reale e modalità di errore, è in la guida ai costi di Dify.

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 modelloKunavo ingresso / uscitaDove si inserisce in Dify
claude-sonnet-5$1.40 / $7.00il modello di riferimento per i nodi di scrittura e Agent: dimensione del contesto 1000000
claude-opus-5$3.50 / $17.50il 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.50nodi di classificazione, instradamento ed estrazione, dove si concentra il volume delle chiamate: 200000
gpt-5-6-sol$2.00 / $12.00una seconda famiglia con la stessa chiave, come voce di modello distinta: 1050000
gpt-5-6-terra$0.70 / $4.20nodi per documenti lunghi: 1050000
La fatturazione è per token, usando un saldo prepagato senza canone mensile: vedi billing. In presenza di contesto ripetuto, che costituisce la maggior parte di ciò che invia un editor o un client di chat, prompt caching incide sulla spesa più della scelta del modello.

Due cose diverse si chiamano «API di Dify»

Questa pagina tratta una delle due, ma nei risultati di ricerca vengono spesso confuse.

  1. 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.
  2. 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.