n8n
Usa i modelli di immagini, video, audio e chat di SpicyAPI nei workflow di n8n. Installa il community node, importa i template HTTP Request, oppure punta la credenziale OpenAI di n8n a SpicyAPI per i nodi AI Agent.
n8n è uno strumento di automazione dei workflow. SpicyAPI gli offre modelli di immagini, video, audio e chat dietro un’unica API e un unico saldo prepagato. Ci sono tre modi per collegarli, e si possono combinare nello stesso workflow:
| Vuoi… | Usa | Funziona su |
|---|---|---|
| Generare immagini, video e audio con un nodo già pronto | Il community node SpicyAPI | n8n self-hosted |
| Generare contenuti multimediali su n8n Cloud, o senza installare nulla | I template HTTP Request | n8n self-hosted e n8n Cloud |
| Usare i modelli di chat nei nodi AI Agent, Basic LLM Chain e altri nodi AI | La credenziale OpenAI integrata di n8n con un nuovo Base URL | n8n self-hosted e n8n Cloud |
Tutti e tre usano lo stesso account, la stessa chiave, gli stessi modelli e gli stessi prezzi. Per i contenuti multimediali, il nodo e i template HTTP Request verificano il prezzo prima dell’invio. Reinviare la stessa richiesta multimediale accettata con il suo Idempotency-Key originale restituisce l’attività esistente.
Per iniziare con le immagini, consulta la guida ai workflow di immagini NSFW con n8n: scelta del modello, modifica con riferimento, primo ritratto ed esempi di costo. I passaggi seguenti collegano il workflow alla tua istanza n8n.
In breve
- Crea una chiave API nella console. Imposta un tetto di spesa giornaliero.
- Self-hosted: in n8n apri Settings > Community Nodes > Install, inserisci
@spicyapi/n8n-nodes-spicyapi, poi aggiungi una credenziale SpicyAPI (spicyapi.ai) API. - n8n Cloud: importa un template dalla cartella degli esempi del nodo e assegna ai suoi nodi HTTP Request una credenziale Bearer Auth.
- Chat nei nodi AI: crea una credenziale OpenAI con Base URL
https://api.spicyapi.ai/v1e la tua chiave SpicyAPI.
Prima di cominciare
- Una chiave API. Creala nella console; inizia con
sk-spicy-. Se non hai ancora un account, vedi Configura il tuo account. - Un saldo. Aggiungi fondi in Billing nella console prima della prima generazione. Workflow n8n, Studio e API usano lo stesso saldo dell’account. Vedi Fatturazione per la liquidazione degli addebiti.
- Una chiave per automazione. I workflow possono girare molto più spesso di quanto una persona faccia clic. Crea una chiave separata per n8n e impostale un tetto di spesa giornaliero o mensile, così un errore in un ciclo ha un limite massimo. Vedi Autenticazione.
- n8n deve poter raggiungere
api.spicyapi.ai. Le chiamate le fa il server di n8n, non il tuo browser.
Opzione 1: il community node SpicyAPI
Il nodo è open source (MIT) su github.com/spicyapi-ai/n8n-nodes-spicyapi ed è pubblicato su npm come @spicyapi/n8n-nodes-spicyapi. Non ha dipendenze a runtime e comunica solo con api.spicyapi.ai.
Solo n8n self-hosted
n8n Cloud può installare solo community node verificati da n8n, e questo non lo è. Su n8n Cloud usa i template HTTP Request qui sotto. Chiamano la stessa API.
Esistono altri pacchetti npm con nomi simili, ma appartengono a servizi non correlati. Questo è il pacchetto chiamato @spicyapi/n8n-nodes-spicyapi, e la sua credenziale si chiama SpicyAPI (spicyapi.ai) API.
Installazione
Installa il pacchetto
In n8n apri Settings > Community Nodes, seleziona Install, inserisci @spicyapi/n8n-nodes-spicyapi, spunta la casella che conferma l’installazione di codice non verificato e conferma. Devi essere il proprietario dell’istanza o un amministratore.
Per la queue mode, o se gestisci i nodi a mano, esegui questo nella cartella dei dati di n8n e riavvia n8n:
cd ~/.n8n/nodes
npm install @spicyapi/n8n-nodes-spicyapiConsulta la guida ai community node di n8n per le opzioni supportate dalla tua configurazione.
Aggiungi la credenziale
Crea una credenziale SpicyAPI (spicyapi.ai) API:
| Campo | Valore |
|---|---|
| API Key | La tua chiave, che inizia con sk-spicy- |
| Base URL | Lascia https://api.spicyapi.ai com’è |
Salvando la credenziale, la chiave viene verificata sul saldo del tuo account.
Aggiungi il nodo a un workflow
Cerca SpicyAPI nel pannello dei nodi, scegli una risorsa e un’operazione, poi scegli la credenziale.
Operazioni
| Risorsa | Operazione | Cosa fa |
|---|---|---|
| Image | Generate | Da testo a immagine, modifica di immagini, upscaling, rimozione dello sfondo e altri modelli di immagini |
| Video | Generate | Da testo a video, da immagine a video e altri modelli video |
| Audio | Generate | Sintesi vocale, musica, trascrizione e altri modelli audio |
| Task | Get | Legge un’attività tramite ID, facoltativamente la attende e ne scarica i file |
| File | Upload | Carica un file binario e restituisce un URI spicy:// da usare come input del modello |
| Model | Get Many | Il catalogo dei modelli con i prezzi, filtrato per modalità e parola chiave |
| Model | Get | Un modello con il suo schema di input e gli esempi |
| Model | Get Quote | Il prezzo esatto di una richiesta, senza eseguirla |
| Account | Get Balance | Saldo disponibile, trattenuto e totale in dollari statunitensi |
| Chat | Message a Model | Un completamento di chat da un modello di testo |
Genera immagini, video e audio
Le tre operazioni Generate condividono gli stessi campi:
- Model. Scegli dall’elenco, che mostra i modelli della risorsa selezionata con il loro prezzo di partenza, oppure inserisci a mano un ID modello. Tutti i modelli e i loro parametri sono elencati su spicyapi.ai/models.
- Prompt. L’input di testo principale del modello. Per i modelli vocali è il testo da pronunciare. Lascialo vuoto per i modelli senza prompt, come gli upscaler.
- Media Inputs. Immagini, video o audio che il modello legge. Scegli il campo (l’elenco mostra gli input file del modello selezionato), poi usa un campo binario del nodo precedente o un URL. I file binari vengono caricati automaticamente su SpicyAPI. Aggiungi più input per lo stesso campo per riempire i campi di tipo elenco, come le immagini di riferimento.
- Model Parameters. Un modulo generato dallo schema del modello selezionato: formato, risoluzione, durata, seed e così via. I campi che lasci vuoti non vengono inviati, quindi il modello usa il proprio valore predefinito.
- Additional Parameters (JSON). Qualsiasi altro campo di input come oggetto JSON. Sovrascrive i campi sopra.
L’output contiene il record dell’attività (taskId, state, cost, settled, output). Con Download Output attivo, come è per impostazione predefinita, i file vengono allegati anche come dati binari in data, data_1 e così via. I link in output.assets[].url scadono dopo circa 20 minuti; le copie binarie no.
I video di grandi dimensioni restano in memoria, a meno che n8n non conservi i dati binari su disco. Su n8n self-hosted, imposta N8N_DEFAULT_BINARY_DATA_MODE=filesystem quando lavori con i video.
Controllo dei costi e nuovi tentativi
- Ogni elemento viene quotato prima. Il nodo chiede un preventivo. Se il preventivo supera Max Cost per Item (USD), che per impostazione predefinita è $2, si ferma con un errore prima che venga creato qualcosa, e non viene addebitato nulla. Imposta il limite a 0 per eliminarlo.
- L’attività viene creata con il prezzo quotato. Se il prezzo cambia tra il preventivo e l’invio, il nodo chiede di nuovo il preventivo, ricontrolla il limite e reinvia.
- I nuovi tentativi non addebitano due volte. Vedi Limiti di costo e nuovi tentativi.
Attività di lunga durata
Vedi Attività video di lunga durata per le opzioni e per quando usare ciascuna.
Opzione 2: template HTTP Request
Due workflow importabili usano solo nodi integrati di n8n, quindi funzionano su n8n self-hosted e su n8n Cloud, senza community node. Si trovano nella cartella degli esempi del repository del nodo.
| File | Cosa fa |
|---|---|
http-request-image.json | Ottiene un preventivo, si ferma se supera un limite di prezzo, crea un’attività, interroga finché non termina e scarica l’immagine come file binario |
http-request-chat.json | Un completamento di chat tramite l’endpoint compatibile con OpenAI |
Importa il workflow
Scarica il file .json. In n8n scegli Workflow menu > Import from File.
Crea una credenziale Bearer Auth
Crea una credenziale Bearer Auth, incolla la tua chiave SpicyAPI come token e selezionala in ogni nodo HTTP Request che chiama api.spicyapi.ai. Il template per le immagini ne ha quattro.
Modifica le impostazioni ed esegui
Apri il nodo Settings. Nel template per le immagini puoi cambiare il modello, il prompt, il formato e il prezzo massimo in dollari statunitensi (maxCostUsd). Sostituisci il modello con un ID del catalogo dei modelli, poi esegui il workflow.
Come è costruito il template per le immagini
Gli stessi passaggi funzionano per qualsiasi modello multimediale, quindi puoi copiare lo schema nel tuo workflow.
| Passaggio | Nodo | Richiesta |
|---|---|---|
| 1 | HTTP Request | POST https://api.spicyapi.ai/api/v1/jobs/quote con model e input restituisce un quoteId e un estimatedCost |
| 2 | If | Si ferma con un errore quando il preventivo supera il tuo limite. Non è stato ancora addebitato nulla |
| 3 | HTTP Request | POST https://api.spicyapi.ai/api/v1/jobs/createTask con il quoteId, expectedCost e un header Idempotency-Key. Il template aggiunge ?wait=50 in modo che i modelli di immagini rapidi rispondano nella stessa richiesta |
| 4 | If, Wait, HTTP Request | Se l’attività è ancora queued o running, attendi 5 secondi e chiama GET https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=…, poi ricontrolla |
| 5 | HTTP Request | Scarica output.assets[0].url come file |
Le forme di richieste e risposte sono descritte in Attività, Preventivi e compatibilità di protocollo e Media. I file che un modello legge, come un’immagine iniziale, possono essere un URL pubblico o un file spicy:// caricato.
Opzione 3: modelli di chat in AI Agent e altri nodi AI
L’endpoint di chat di SpicyAPI è compatibile con OpenAI, quindi i nodi OpenAI di n8n possono usarlo. Per questo non serve il community node, e funziona su n8n Cloud.
Crea una credenziale OpenAI
In n8n crea una nuova credenziale OpenAI. Incolla la tua chiave SpicyAPI come API Key e imposta Base URL su:
https://api.spicyapi.ai/v1Scegli un modello di chat
Aggiungi un OpenAI Chat Model al tuo AI Agent o Basic LLM Chain e seleziona la credenziale. Scegli un modello il cui ID termina con /chat (in questa pagina scritto MODEL_ID_FROM_CATALOG: copia un ID reale dal catalogo in tempo reale (GET /api/v1/models)). L’elenco completo è su GET https://api.spicyapi.ai/v1/models?modality=text.
Da sapere:
- L’elenco dei modelli include modelli di immagini e video. Con un Base URL personalizzato n8n mostra tutto ciò che restituisce
/v1/models, e l’elenco di SpicyAPI comprende tutti i suoi modelli. Scegline uno che termina con/chat, oppure digita l’ID in modalità espressione. I modelli di immagini e video non sono modelli di chat e in un agente falliranno. - Use Responses API. Le versioni recenti del nodo OpenAI Chat Model possono inviare le richieste a
/v1/responsesinvece che a/v1/chat/completions. SpicyAPI supporta/v1/responses, ma nonprevious_response_id. Se una richiesta dell’agente fallisce con Responses API attivo, disattiva Use Responses API nel nodo. - Impostazioni di campionamento. Se imposti un’opzione che il modello non dichiara, come
temperaturesu un modello con ragionamento, SpicyAPI la ignora invece di fallire ed elenca i nomi ignorati nell’header di rispostaX-Spicy-Ignored-Params; un valore fuori dall’intervallo del modello viene cambiato in quello accettato più vicino ed elencato inX-Spicy-Adjusted-Params. Gli altri campi non dichiarati restituiscono comunque400. - Strumenti e output JSON dipendono dal modello. Controlla i
supported_parametersdel modello in/v1/models. - I modelli con ragionamento contano i token di ragionamento in
max_tokens. Con un valore molto piccolo, come 20, un modello con ragionamento può consumare tutto il budget pensando e non restituire alcun testo (upstream_failed: «the output budget was spent on reasoning»). Aumentamax_tokenso abbassareasoning_effort. I valori direasoning_effortcambiano da modello a modello. - Streaming e costi. La chat viene fatturata a token dopo la chiamata. La pagina testo e streaming ha i dettagli, e Ricette di chat ha esempi di richieste.
Limiti di costo e nuovi tentativi
Limiti di spesa
- Usa una chiave separata per n8n con un tetto di spesa giornaliero o mensile nella console, e un elenco di modelli consentiti se il workflow ne richiede solo pochi. Quando un tetto viene raggiunto, la chiamata fallisce con
40202e per essa non viene addebitato nulla. - Per i modelli multimediali, quota prima. Il nodo lo fa per te; i template lo fanno con i nodi Get Quote e If. Il preventivo è il prezzo esatto di quella richiesta, comprese le voci extra come gli addebiti per immagine di riferimento, quindi un controllo del prezzo basato su un preventivo è affidabile, mentre uno basato sulla tabella del catalogo no.
- I normali errori e le attività scadute liberano l’intero importo riservato. Alcuni rifiuti di contenuto vengono addebitati solo quando la pagina del modello lo indica esplicitamente. Leggi
settledecostper l’importo finale; vedi Fatturazione.
Perché un nuovo tentativo non addebita due volte
Ogni chiamata che crea un’attività porta un Idempotency-Key. Se la stessa chiave arriva di nuovo con la stessa richiesta, SpicyAPI restituisce l’attività che ha già creato invece di crearne una seconda, quindi non avviene alcun secondo blocco né addebito. In n8n questo conta perché una richiesta può essere inviata due volte senza che tu faccia nulla: Retry On Fail su un nodo, oppure un timeout in cui la prima richiesta era invece andata a buon fine.
- Il community node costruisce la chiave dall’esecuzione, dal nodo, dall’elemento e dal suo input. Un nuovo tentativo del nodo riusa la stessa chiave. Una nuova esecuzione, un input modificato o un altro passaggio in un ciclo sono lavoro nuovo e ottengono una chiave nuova.
- I template la costruiscono dall’ID dell’esecuzione e dall’indice dell’elemento, per esempio
n8n-<execution id>-<item index>. Se copi lo schema in un ciclo, aggiungi alla chiave il contatore del ciclo, altrimenti ogni passaggio restituirà l’attività del primo. - Non usare un valore casuale che cambia a ogni tentativo, come
$now: farebbe sembrare ogni nuovo tentativo lavoro nuovo.
Altro in Idempotenza.
Attività video di lunga durata
I modelli di immagini e audio di solito terminano in una sola richiesta. Un video può richiedere minuti. Hai tre modi per gestirlo, dal più semplice al più leggero per n8n:
| Approccio | Come | Compromesso |
|---|---|---|
| Attendere dentro il nodo (predefinito) | Il community node interroga con un ritardo crescente finché l’attività termina o passa Max Wait Time | Semplice, ma l’esecuzione resta aperta mentre il video viene renderizzato |
| Invia, poi attendi e controlla | Disattiva Wait for Completion, aggiungi un nodo Wait, poi Task > Get. I template fanno lo stesso con i nodi Wait, Get Task e If in un ciclo | Uno slot di esecuzione viene usato solo per le chiamate brevi |
| Callback | Imposta Callback URL su {{ $execution.resumeUrl }} e fai seguire un nodo Wait impostato per riprendere alla chiamata di un webhook | n8n deve essere raggiungibile tramite HTTPS pubblico. Quando arriva la chiamata, leggi l’attività con Task > Get e non fidarti del corpo del callback |
Se il nodo smette di attendere, l’attività continua su SpicyAPI e viene addebitata se ha successo. Recuperala più tardi con Task > Get; non inviarla di nuovo. Puoi trovarla anche sotto Logs nella console.
I risultati vengono conservati per un tempo limitato e i link di download durano circa 20 minuti. Salva i file nel workflow, per esempio su uno storage cloud, se ti servono più a lungo. Vedi Conservazione e distruzione.
Risoluzione dei problemi
| Cosa vedi | Cosa fare |
|---|---|
Il test della credenziale fallisce o 401 | Copia di nuovo la chiave dalla console. Una chiave revocata smette di funzionare subito. Con la credenziale OpenAI, controlla che il Base URL termini con /v1. |
SpicyAPI non compare nel pannello dei nodi | Probabilmente sei su n8n Cloud, oppure n8n non è stato riavviato dopo un’installazione manuale. Cloud non può installare nodi non verificati; usa i template. |
| Il pulsante Install manca in Community Nodes | I pacchetti della community sono disattivati, oppure non sei il proprietario o un amministratore. Chiedi a chi gestisce l’istanza, oppure installa a mano in ~/.n8n/nodes. |
40201 | Saldo insufficiente. Aggiungi fondi nella console, poi esegui di nuovo. Un nuovo tentativo con la stessa chiave è sicuro. |
40202 | La chiave ha raggiunto un tetto di spesa giornaliero, mensile o complessivo. Aumenta il tetto o aspetta che si azzeri. |
40310 | L’indirizzo email del tuo account non è verificato. Apri il link nell’email di registrazione. |
40004 | Nessuna distribuzione serve quella combinazione di opzioni. Cambia l’opzione indicata nel messaggio. |
40901 | Il preventivo non corrisponde più, di solito perché è scaduto (i preventivi durano 5 minuti). Chiedi di nuovo il preventivo e reinvia con lo stesso Idempotency-Key. |
| Un errore che dice che il prezzo supera il tuo limite | Il preventivo è superiore a Max Cost per Item o a maxCostUsd. Aumenta il limite o scegli opzioni più economiche. Non è stato addebitato nulla. |
| L’agente fallisce con un modello | Forse hai scelto un modello che non è di chat. Usa un ID che termina con /chat. Prova anche a disattivare Use Responses API. |
| Un modello con ragionamento restituisce una risposta vuota | Aumenta max_tokens o abbassa reasoning_effort. |
| Il link di download nell’output restituisce un errore più tardi | I link scadono dopo circa 20 minuti. Usa Task > Get per ottenere un link nuovo, oppure conserva la copia binaria. |
Memory, heap o riavvii durante la gestione dei video | I dati binari restano in memoria per impostazione predefinita. Imposta N8N_DEFAULT_BINARY_DATA_MODE=filesystem. |
| Il callback non riprende mai il workflow | L’URL deve essere HTTPS pubblico sulla porta 443 o 80, non localhost. Controlla che l’URL di ripresa dell’esecuzione sia quello che il tuo n8n mostra pubblicamente. |
Gli errori di SpicyAPI terminano con un request_id o un ID attività. Comunicalo al supporto e la richiesta si potrà trovare con precisione. I codici di errore sono spiegati in Errori, e una checklist più ampia è in Risoluzione dei problemi.
L’uso dei modelli è soggetto ai termini di SpicyAPI e ai termini dell’edizione di n8n che esegui.
Bot per Telegram e Discord
Gestisci un tuo bot privato che crea immagini e video, anima le immagini e chatta con personaggi definiti da te, pagato dal tuo saldo SpicyAPI con i limiti di spesa controllati prima di ogni addebito.
Fatturazione
Scopri la fatturazione a consumo in USD di SpicyAPI: preventivi, importi riservati, addebiti finali, rifiuti, ricariche, limiti di spesa e fatture.

