spicyapiDocumentazione
App e plugin
Contenuto principale

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…UsaFunziona su
Generare immagini, video e audio con un nodo già prontoIl community node SpicyAPIn8n self-hosted
Generare contenuti multimediali su n8n Cloud, o senza installare nullaI template HTTP Requestn8n self-hosted e n8n Cloud
Usare i modelli di chat nei nodi AI Agent, Basic LLM Chain e altri nodi AILa credenziale OpenAI integrata di n8n con un nuovo Base URLn8n 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

  1. Crea una chiave API nella console. Imposta un tetto di spesa giornaliero.
  2. Self-hosted: in n8n apri Settings > Community Nodes > Install, inserisci @spicyapi/n8n-nodes-spicyapi, poi aggiungi una credenziale SpicyAPI (spicyapi.ai) API.
  3. n8n Cloud: importa un template dalla cartella degli esempi del nodo e assegna ai suoi nodi HTTP Request una credenziale Bearer Auth.
  4. Chat nei nodi AI: crea una credenziale OpenAI con Base URL https://api.spicyapi.ai/v1 e 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-spicyapi

Consulta la guida ai community node di n8n per le opzioni supportate dalla tua configurazione.

Aggiungi la credenziale

Crea una credenziale SpicyAPI (spicyapi.ai) API:

CampoValore
API KeyLa tua chiave, che inizia con sk-spicy-
Base URLLascia 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

RisorsaOperazioneCosa fa
ImageGenerateDa testo a immagine, modifica di immagini, upscaling, rimozione dello sfondo e altri modelli di immagini
VideoGenerateDa testo a video, da immagine a video e altri modelli video
AudioGenerateSintesi vocale, musica, trascrizione e altri modelli audio
TaskGetLegge un’attività tramite ID, facoltativamente la attende e ne scarica i file
FileUploadCarica un file binario e restituisce un URI spicy:// da usare come input del modello
ModelGet ManyIl catalogo dei modelli con i prezzi, filtrato per modalità e parola chiave
ModelGetUn modello con il suo schema di input e gli esempi
ModelGet QuoteIl prezzo esatto di una richiesta, senza eseguirla
AccountGet BalanceSaldo disponibile, trattenuto e totale in dollari statunitensi
ChatMessage a ModelUn completamento di chat da un modello di testo

Genera immagini, video e audio

Le tre operazioni Generate condividono gli stessi campi:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

FileCosa fa
http-request-image.jsonOttiene 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.jsonUn 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.

PassaggioNodoRichiesta
1HTTP RequestPOST https://api.spicyapi.ai/api/v1/jobs/quote con model e input restituisce un quoteId e un estimatedCost
2IfSi ferma con un errore quando il preventivo supera il tuo limite. Non è stato ancora addebitato nulla
3HTTP RequestPOST 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
4If, Wait, HTTP RequestSe l’attività è ancora queued o running, attendi 5 secondi e chiama GET https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=…, poi ricontrolla
5HTTP RequestScarica 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/v1

Scegli 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/responses invece che a /v1/chat/completions. SpicyAPI supporta /v1/responses, ma non previous_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 temperature su un modello con ragionamento, SpicyAPI la ignora invece di fallire ed elenca i nomi ignorati nell’header di risposta X-Spicy-Ignored-Params; un valore fuori dall’intervallo del modello viene cambiato in quello accettato più vicino ed elencato in X-Spicy-Adjusted-Params. Gli altri campi non dichiarati restituiscono comunque 400.
  • Strumenti e output JSON dipendono dal modello. Controlla i supported_parameters del 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»). Aumenta max_tokens o abbassa reasoning_effort. I valori di reasoning_effort cambiano 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 40202 e 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 settled e cost per 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:

ApproccioComeCompromesso
Attendere dentro il nodo (predefinito)Il community node interroga con un ritardo crescente finché l’attività termina o passa Max Wait TimeSemplice, ma l’esecuzione resta aperta mentre il video viene renderizzato
Invia, poi attendi e controllaDisattiva 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 cicloUno slot di esecuzione viene usato solo per le chiamate brevi
CallbackImposta Callback URL su {{ $execution.resumeUrl }} e fai seguire un nodo Wait impostato per riprendere alla chiamata di un webhookn8n 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 vediCosa fare
Il test della credenziale fallisce o 401Copia 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 nodiProbabilmente 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 NodesI 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.
40201Saldo insufficiente. Aggiungi fondi nella console, poi esegui di nuovo. Un nuovo tentativo con la stessa chiave è sicuro.
40202La chiave ha raggiunto un tetto di spesa giornaliero, mensile o complessivo. Aumenta il tetto o aspetta che si azzeri.
40310L’indirizzo email del tuo account non è verificato. Apri il link nell’email di registrazione.
40004Nessuna distribuzione serve quella combinazione di opzioni. Cambia l’opzione indicata nel messaggio.
40901Il 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 limiteIl 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 modelloForse 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 vuotaAumenta max_tokens o abbassa reasoning_effort.
Il link di download nell’output restituisce un errore più tardiI 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 videoI dati binari restano in memoria per impostazione predefinita. Imposta N8N_DEFAULT_BINARY_DATA_MODE=filesystem.
Il callback non riprende mai il workflowL’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.

In questa pagina