spicyapiDocumentación
Apps y plugins
Contenido principal

n8n

Usa los modelos de imagen, video, audio y chat de SpicyAPI en flujos de trabajo de n8n. Instala el nodo de la comunidad, importa las plantillas de HTTP Request o apunta la credencial de OpenAI de n8n a SpicyAPI para los nodos AI Agent.

n8n es una herramienta de automatización de flujos de trabajo. SpicyAPI le ofrece modelos de imagen, video, audio y chat detrás de una sola API y un solo saldo prepago. Hay tres formas de conectarlos, y se pueden combinar en un mismo flujo de trabajo:

Quieres…UsaFunciona en
Generar imágenes, video y audio con un nodo listo para usarEl nodo de la comunidad de SpicyAPIn8n autoalojado
Generar contenido multimedia en n8n Cloud, o sin instalar nadaLas plantillas de HTTP Requestn8n autoalojado y n8n Cloud
Usar modelos de chat en AI Agent, Basic LLM Chain y otros nodos de IALa credencial de OpenAI integrada de n8n con una nueva Base URLn8n autoalojado y n8n Cloud

Las tres usan la misma cuenta, la misma clave, los mismos modelos y los mismos precios. Para generar contenido multimedia, el nodo y las plantillas de HTTP Request comprueban el precio antes de enviar la solicitud. Reenviar la misma solicitud multimedia aceptada con su Idempotency-Key original devuelve la tarea existente.

Para empezar con imágenes, consulta la guía de flujos de imágenes NSFW con n8n: selección de modelos, edición con una referencia, un primer retrato y ejemplos de coste. Los pasos siguientes permiten conectarlo a tu instancia de n8n.

La versión corta

  1. Crea una clave de API en la consola. Ponle un límite de gasto diario.
  2. Autoalojado: en n8n abre Settings > Community Nodes > Install, introduce @spicyapi/n8n-nodes-spicyapi y añade una credencial SpicyAPI (spicyapi.ai) API.
  3. n8n Cloud: importa una plantilla de la carpeta de ejemplos del nodo y asigna una credencial Bearer Auth a sus nodos HTTP Request.
  4. Chat en nodos de IA: crea una credencial OpenAI con Base URL https://api.spicyapi.ai/v1 y tu clave de SpicyAPI.

Antes de empezar

  • Una clave de API. Crea una en la consola; empieza por sk-spicy-. Consulta Configura tu cuenta si aún no tienes cuenta.
  • Saldo. Añade fondos en Billing de la consola antes de tu primera generación. Los flujos de n8n, Studio y la API comparten el saldo de tu cuenta. Consulta Facturación para conocer la liquidación de los cargos.
  • Una clave por automatización. Los flujos de trabajo pueden ejecutarse con mucha más frecuencia que los clics de una persona. Crea una clave exclusiva para n8n y ponle un límite de gasto diario o mensual, para que un error en un bucle tenga un techo. Consulta Autenticación.
  • n8n puede acceder a api.spicyapi.ai. Las llamadas las hace el servidor de n8n, no tu navegador.

Opción 1: el nodo de la comunidad de SpicyAPI

El nodo es de código abierto (MIT) en github.com/spicyapi-ai/n8n-nodes-spicyapi y está publicado en npm como @spicyapi/n8n-nodes-spicyapi. No tiene dependencias en tiempo de ejecución y solo se comunica con api.spicyapi.ai.

Solo n8n autoalojado

n8n Cloud solo puede instalar nodos de la comunidad que n8n haya verificado, y este no está verificado. En n8n Cloud usa las plantillas de HTTP Request de más abajo. Llaman a la misma API.

Otros paquetes de npm tienen nombres parecidos pero pertenecen a servicios sin relación. Este es el paquete llamado @spicyapi/n8n-nodes-spicyapi, y su credencial se llama SpicyAPI (spicyapi.ai) API.

Instalación

Instala el paquete

En n8n, abre Settings > Community Nodes, selecciona Install, introduce @spicyapi/n8n-nodes-spicyapi, marca la casilla que reconoce la instalación de código no verificado y confirma. Debes ser el propietario de la instancia o un administrador.

Para el modo cola, o si gestionas los nodos a mano, ejecuta esto en la carpeta de datos de n8n y reinicia n8n:

cd ~/.n8n/nodes
npm install @spicyapi/n8n-nodes-spicyapi

Consulta la guía de nodos de la comunidad de n8n para ver las opciones que admite tu configuración.

Añade la credencial

Crea una credencial SpicyAPI (spicyapi.ai) API:

CampoValor
API KeyTu clave, que empieza por sk-spicy-
Base URLDeja https://api.spicyapi.ai como está

Al guardar la credencial se comprueba la clave consultando el saldo de tu cuenta.

Añade el nodo a un flujo de trabajo

Busca SpicyAPI en el panel de nodos, elige un recurso y una operación, y luego selecciona la credencial.

Operaciones

RecursoOperaciónQué hace
ImageGenerateTexto a imagen, edición de imágenes, ampliación, eliminación de fondo y otros modelos de imagen
VideoGenerateTexto a video, imagen a video y otros modelos de video
AudioGenerateTexto a voz, música, transcripción y otros modelos de audio
TaskGetLee una tarea por ID, con la opción de esperarla y descargar sus archivos
FileUploadSube un archivo binario y obtén un URI spicy:// para usarlo como entrada de un modelo
ModelGet ManyEl catálogo de modelos con precios, filtrado por modalidad y palabra clave
ModelGetUn modelo con su esquema de entrada y ejemplos
ModelGet QuoteEl precio exacto de una solicitud, sin ejecutarla
AccountGet BalanceSaldo disponible, retenido y total en dólares estadounidenses
ChatMessage a ModelUna respuesta de chat de un modelo de texto

Genera imágenes, video y audio

Las tres operaciones Generate comparten los mismos campos:

  1. Model. Elige de la lista, que muestra los modelos del recurso seleccionado con su precio inicial, o introduce un ID de modelo a mano. Todos los modelos y sus parámetros están en spicyapi.ai/models.
  2. Prompt. La entrada de texto principal del modelo. En los modelos de voz es el texto que se va a pronunciar. Déjalo vacío para los modelos que no tienen prompt, como los de ampliación.
  3. Media Inputs. Imágenes, videos o audio que lee el modelo. Elige el campo (la lista muestra las entradas de archivo del modelo seleccionado) y luego usa un campo binario del nodo anterior o una URL. Los archivos binarios se suben a SpicyAPI automáticamente. Añade varias entradas para el mismo campo para rellenar campos de lista, como las imágenes de referencia.
  4. Model Parameters. Un formulario generado a partir del esquema del modelo seleccionado: relación de aspecto, resolución, duración, seed, etc. Los campos que dejes vacíos no se envían, así que el modelo usa su valor por defecto.
  5. Additional Parameters (JSON). Cualquier otro campo de entrada como objeto JSON. Tienen prioridad sobre los campos anteriores.

La salida contiene el registro de la tarea (taskId, state, cost, settled, output). Con Download Output activado, que es el valor por defecto, los archivos también se adjuntan como datos binarios en data, data_1, etc. Los enlaces de output.assets[].url caducan al cabo de unos 20 minutos; las copias binarias no.

Los videos grandes se mantienen en memoria a menos que n8n guarde los datos binarios en disco. En n8n autoalojado, establece N8N_DEFAULT_BINARY_DATA_MODE=filesystem cuando trabajes con video.

Control de costos y reintentos

  • Cada elemento se cotiza primero. El nodo pide una cotización. Si la cotización supera Max Cost per Item (USD), que por defecto es $2, se detiene con un error antes de crear nada, y no se cobra nada. Establece el límite en 0 para quitarlo.
  • La tarea se crea con el precio cotizado. Si el precio cambia entre la cotización y el envío, el nodo cotiza de nuevo, comprueba el límite otra vez y reenvía.
  • Los reintentos no cobran dos veces. Consulta Límites de costo y reintentos.

Tareas de larga duración

Consulta Tareas de video de larga duración para ver las opciones y cuándo usar cada una.

Opción 2: plantillas de HTTP Request

Dos flujos de trabajo importables usan solo nodos integrados de n8n, así que funcionan en n8n autoalojado y en n8n Cloud, sin nodo de la comunidad. Están en la carpeta de ejemplos del repositorio del nodo.

ArchivoQué hace
http-request-image.jsonObtiene una cotización, se detiene si supera un límite de precio, crea una tarea, consulta hasta que termina y descarga la imagen como archivo binario
http-request-chat.jsonUna respuesta de chat a través del endpoint compatible con OpenAI

Importa el flujo de trabajo

Descarga el archivo .json. En n8n elige Workflow menu > Import from File.

Crea una credencial Bearer Auth

Crea una credencial Bearer Auth, pega tu clave de SpicyAPI como token y selecciónala en cada nodo HTTP Request que llame a api.spicyapi.ai. La plantilla de imagen tiene cuatro.

Edita los ajustes y ejecuta

Abre el nodo Settings. En la plantilla de imagen puedes cambiar el modelo, el prompt, la relación de aspecto y el precio máximo en dólares estadounidenses (maxCostUsd). Sustituye el modelo por un ID del catálogo de modelos y ejecuta el flujo de trabajo.

Cómo está construida la plantilla de imagen

Los mismos pasos sirven para cualquier modelo multimedia, así que puedes copiar el patrón en tu propio flujo de trabajo.

PasoNodoSolicitud
1HTTP RequestPOST https://api.spicyapi.ai/api/v1/jobs/quote con model e input devuelve un quoteId y estimatedCost
2IfSe detiene con un error cuando la cotización supera tu límite. Todavía no se ha cobrado nada
3HTTP RequestPOST https://api.spicyapi.ai/api/v1/jobs/createTask con el quoteId, expectedCost y un encabezado Idempotency-Key. La plantilla añade ?wait=50 para que los modelos de imagen rápidos respondan en la misma solicitud
4If, Wait, HTTP RequestSi la tarea sigue en queued o running, espera 5 segundos y llama a GET https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=…, y luego comprueba de nuevo
5HTTP RequestDescarga output.assets[0].url como archivo

Las estructuras de solicitud y respuesta están en Tareas, Cotizaciones y compatibilidad y Entradas y salidas multimedia. Los archivos que lee un modelo, como una imagen inicial, pueden ser una URL pública o un archivo spicy:// subido.

Opción 3: modelos de chat en AI Agent y otros nodos de IA

El endpoint de chat de SpicyAPI es compatible con OpenAI, así que los propios nodos de OpenAI de n8n pueden usarlo. No necesitas el nodo de la comunidad para esto, y funciona en n8n Cloud.

Crea una credencial de OpenAI

En n8n crea una credencial OpenAI nueva. Pega tu clave de SpicyAPI como API Key y establece Base URL en:

https://api.spicyapi.ai/v1

Elige un modelo de chat

Añade un OpenAI Chat Model a tu AI Agent o Basic LLM Chain y selecciona la credencial. Elige un modelo cuyo ID termine en /chat (escrito MODEL_ID_FROM_CATALOG en esta página: copia un id real del catálogo en vivo (GET /api/v1/models)). La lista completa está en GET https://api.spicyapi.ai/v1/models?modality=text.

Cosas que conviene saber:

  • La lista de modelos incluye modelos de imagen y video. Con una Base URL personalizada, n8n muestra todo lo que devuelve /v1/models, y la lista de SpicyAPI abarca todos sus modelos. Elige uno que termine en /chat, o escribe el ID en modo expresión. Los modelos de imagen y video no son modelos de chat y fallarán en un agente.
  • Use Responses API. Las versiones recientes del nodo OpenAI Chat Model pueden enviar solicitudes a /v1/responses en lugar de /v1/chat/completions. SpicyAPI admite /v1/responses, pero no previous_response_id. Si una solicitud del agente falla con Responses API activado, desactiva Use Responses API en el nodo.
  • Ajustes de muestreo. Si estableces una opción que el modelo no declara, como temperature en un modelo de razonamiento, SpicyAPI la ignora en lugar de fallar y enumera los nombres ignorados en el encabezado de respuesta X-Spicy-Ignored-Params; un valor fuera del rango del modelo se cambia por el valor aceptado más cercano y se enumera en X-Spicy-Adjusted-Params. Los demás campos no declarados siguen devolviendo 400.
  • Las herramientas y la salida JSON dependen del modelo. Consulta los supported_parameters del modelo en /v1/models.
  • Los modelos de razonamiento cuentan los tokens de razonamiento dentro de max_tokens. Con un valor muy pequeño, como 20, un modelo de razonamiento puede gastar todo el presupuesto pensando y no devolver texto (upstream_failed: "the output budget was spent on reasoning"). Aumenta max_tokens o reduce reasoning_effort. Los valores de reasoning_effort difieren según el modelo.
  • Streaming y costo. El chat se factura por tokens después de la llamada. La página Texto y streaming tiene los detalles, y Recetas de chat incluye ejemplos de solicitudes.

Límites de costo y reintentos

Límites de gasto

  • Usa una clave exclusiva para n8n con un límite de gasto diario o mensual en la consola, y una lista de modelos permitidos si el flujo de trabajo solo necesita unos pocos modelos. Cuando se alcanza un límite, la llamada falla con 40202 y no se cobra nada por ella.
  • Para los modelos multimedia, cotiza primero. El nodo lo hace por ti; las plantillas lo hacen con los nodos Get Quote e If. La cotización es el precio exacto de esa solicitud, incluidos extras como los cargos por imagen de referencia, así que una comprobación de precio basada en una cotización es fiable y una basada en la tabla del catálogo no lo es.
  • Los fallos normales y las tareas caducadas liberan toda la retención. Algunos rechazos de contenido solo se cobran cuando la página del modelo lo indica expresamente. Lee settled y cost para conocer el cargo final; consulta Facturación.

Por qué un reintento no cobra dos veces

Cada llamada que crea una tarea lleva un Idempotency-Key. Si la misma clave llega de nuevo con la misma solicitud, SpicyAPI devuelve la tarea que ya creó en lugar de crear una segunda, de modo que no se produce una segunda retención ni un segundo cobro. Esto importa en n8n porque una solicitud puede enviarse dos veces sin que hagas nada: Retry On Fail en un nodo, o un tiempo de espera agotado en el que la primera solicitud sí se procesó.

  • El nodo de la comunidad construye la clave a partir de la ejecución, el nodo, el elemento y su entrada. Un reintento del nodo reutiliza la misma clave. Una ejecución nueva, una entrada modificada u otra pasada por un bucle es trabajo nuevo y recibe una clave nueva.
  • Las plantillas la construyen a partir del ID de ejecución y el índice del elemento, por ejemplo n8n-<execution id>-<item index>. Si copias el patrón en un bucle, añade el contador del bucle a la clave, o cada pasada devolverá la tarea de la primera.
  • No uses un valor aleatorio que cambie en cada intento, como $now: hace que cada reintento parezca trabajo nuevo.

Más información en Idempotencia.

Tareas de video de larga duración

Los modelos de imagen y audio suelen terminar dentro de una sola solicitud. El video puede tardar minutos. Tienes tres formas de gestionarlo, de la más sencilla a la más ligera para n8n:

EnfoqueCómoContrapartida
Esperar dentro del nodo (por defecto)El nodo de la comunidad consulta con una espera creciente hasta que la tarea termina o pasa Max Wait TimeSencillo, pero la ejecución permanece abierta mientras se renderiza el video
Enviar, luego esperar y comprobarDesactiva Wait for Completion, añade un nodo Wait y luego Task > Get. Las plantillas hacen lo mismo con nodos Wait, Get Task e If en un bucleSolo se usa un espacio de ejecución para las llamadas cortas
CallbackEstablece Callback URL en {{ $execution.resumeUrl }} y sigue con un nodo Wait configurado para reanudar con una llamada de webhookn8n debe ser accesible por HTTPS público. Cuando llega la llamada, lee la tarea con Task > Get y no te fíes del cuerpo del callback

Si el nodo deja de esperar, la tarea sigue ejecutándose en SpicyAPI y se cobra si tiene éxito. Recógela más tarde con Task > Get; no la envíes de nuevo. También puedes encontrarla en Logs en la consola.

Los resultados se conservan durante un tiempo limitado y los enlaces de descarga duran unos 20 minutos. Guarda los archivos en el flujo de trabajo, por ejemplo en almacenamiento en la nube, si los necesitas durante más tiempo. Consulta Retención.

Solución de problemas

Qué vesQué hacer
La prueba de la credencial falla o 401Copia la clave de nuevo desde la consola. Una clave revocada deja de funcionar al instante. Con la credencial de OpenAI, comprueba que la Base URL termine en /v1.
SpicyAPI no aparece en el panel de nodosProbablemente estás en n8n Cloud, o n8n no se ha reiniciado después de una instalación manual. Cloud no puede instalar nodos no verificados; usa las plantillas.
Falta el botón Install en Community NodesLos paquetes de la comunidad están desactivados, o no eres el propietario ni un administrador. Pregunta a quien gestiona la instancia, o instala a mano en ~/.n8n/nodes.
40201Saldo insuficiente. Añade fondos en la consola y vuelve a ejecutar. Un reintento con la misma clave es seguro.
40202La clave alcanzó un límite de gasto diario, mensual o acumulado. Aumenta el límite o espera a que se reinicie.
40310La dirección de correo de tu cuenta no está verificada. Abre el enlace del correo de registro.
40004Ningún despliegue atiende esa combinación de opciones. Cambia la opción que nombra el mensaje.
40901La cotización ya no coincide, normalmente porque caducó (las cotizaciones duran 5 minutos). Cotiza de nuevo y reenvía con el mismo Idempotency-Key.
Un error indica que el precio supera tu límiteLa cotización es mayor que Max Cost per Item o maxCostUsd. Súbelo o elige opciones más baratas. No se cobró nada.
El agente falla con un modeloPuede que hayas elegido un modelo que no es de chat. Usa un ID que termine en /chat. Prueba también a desactivar Use Responses API.
Un modelo de razonamiento devuelve una respuesta vacíaAumenta max_tokens o reduce reasoning_effort.
El enlace de descarga de la salida devuelve un error más tardeLos enlaces caducan al cabo de unos 20 minutos. Usa Task > Get para obtener un enlace nuevo, o conserva la copia binaria.
Memory, heap o reinicios al procesar videoLos datos binarios se mantienen en memoria por defecto. Establece N8N_DEFAULT_BINARY_DATA_MODE=filesystem.
El callback nunca reanuda el flujo de trabajoLa URL debe ser HTTPS público en el puerto 443 u 80, no localhost. Comprueba que la URL de reanudación de la ejecución sea la que tu n8n muestra públicamente.

Los errores de SpicyAPI terminan con un request_id o un ID de tarea. Indícalo al soporte y la solicitud se podrá localizar con exactitud. Los códigos de error se explican en Errores, y hay una lista de comprobación más amplia en Solución de problemas.

El uso de los modelos está sujeto a los términos de SpicyAPI y a los términos de la edición de n8n que uses.

En esta página