Lo que estás configurando
Si llegaste aquí buscando openwebui cómo chatear con n8n, probablemente intentas hacer dos cosas relacionadas: hablar con un modelo en Open WebUI y llamar al mismo modelo desde flujos de trabajo de n8n. Ambas herramientas pueden apuntar a cualquier servidor que siga el formato de finalización de chat de OpenAI, así que una cuenta cubre ambas.
Open WebUI es una interfaz de chat autohospedada. n8n es una herramienta de automatización de flujos de trabajo donde conectas nodos. La API detrás de ambos es la misma en cada caso:
- URL base:
https://api.nofilteraichat.com/v1 - ID del modelo:
uncensored - Auth: un encabezado
Authorization: Bearerque lleva tu clave
Necesitas una clave primero. La página de clave de API te guía por el registro y el crédito de prueba de $0.50 con un solo clic, que es suficiente para probar todo lo siguiente.
Parte uno: Open WebUI
Opción A: el panel de administración
Si Open WebUI ya está en ejecución, inicia sesión como administrador y abre Configuración de administrador, luego Conexiones. Agrega una nueva conexión de API de OpenAI con estos valores:
- URL:
https://api.nofilteraichat.com/v1 - Clave: tu clave de API
- Guarda y luego usa el botón de verificación si tu versión lo tiene.
Los nombres del menú varían un poco entre versiones, así que busca la sección que enumera las conexiones al estilo de OpenAI. Después de guardar, inicia un nuevo chat y abre el selector de modelos. El modelo uncensored debería aparecer, porque Open WebUI carga la lista desde GET /v1/models.
Opción B: variables de entorno en Docker
Si estás empezando desde cero, pasa la configuración al iniciar el contenedor:
docker run -d --name open-webui -p 3000:8080 \
-e OPENAI_API_BASE_URL="https://api.nofilteraichat.com/v1" \
-e OPENAI_API_KEY="$NOFILTER_API_KEY" \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:mainAbre http://localhost:3000, crea la primera cuenta local y el modelo estará esperando en el selector. Ten en cuenta que Open WebUI almacena la configuración de conexión en su base de datos tras el primer inicio. Si cambias las variables más tarde y no pasa nada, edita la conexión en el panel de administración en su lugar.
Ajustar un chat
En los controles del chat puedes configurar temperatura, top_p, una secuencia de parada y un prompt del sistema. Estos parámetros se pasan directamente al modelo. Para ficción y roleplay, una temperatura entre 0.7 y 1.0 produce un texto más vivo. Para preguntas factuales, usa un valor más bajo. Si el modelo empieza a repetir frases, sube un poco la penalización de frecuencia.
Parte dos: n8n con el nodo OpenAI
n8n tiene una credencial nativa de OpenAI. Su configuración incluye un campo Base URL, que por defecto apunta al servidor oficial. Cámbialo y el nodo se comunicará con tu endpoint:
- En n8n, crea una nueva credencial de tipo OpenAI.
- Pega tu clave de API.
- Establece la Base URL en
https://api.nofilteraichat.com/v1. - Guarda y adjunta la credencial a un nodo de Modelo de Chat OpenAI o a un flujo de trabajo de Agente IA.
El truco está en el campo del modelo. Algunos nodos muestran un menú desplegable que se rellena con la lista de modelos, y otros limitan las opciones a nombres conocidos. Si no puedes seleccionar uncensored, cambia el campo a modo de expresión y escribe el ID a mano. Si tu versión de n8n aún lo rechaza, usa el método HTTP Request en la siguiente sección, que no tiene esa restricción.
Con las credenciales funcionando, puedes conectar el modelo de chat a un nodo AI Agent y darle herramientas. La API admite llamadas a funciones (tools, tool_choice, y resultados como role: "tool"). Como con cualquier modelo de pesos abiertos, prueba el agente con entradas reales y mantén las descripciones de las herramientas cortas y literales.
Parte tres: chat desde un nodo HTTP Request
La opción más predecible es un nodo HTTP Request básico. Muestra exactamente lo que se envía y funciona en todas las versiones de n8n. Configura el nodo así:
- Método: POST
- URL:
https://api.nofilteraichat.com/v1/chat/completions - Autenticación: autenticación por encabezado, con el nombre
Authorizationy el valorBearer YOUR_KEY(almacénalo como credencial, no en el nodo) - Enviar cuerpo: activado, tipo de contenido JSON
Establece el cuerpo en lo siguiente, usando una expresión para el texto del usuario:
{
"model": "uncensored",
"messages": [
{ "role": "system", "content": "You are a concise story assistant for adult fiction writers." },
{ "role": "user", "content": "{{ $json.prompt }}" }
],
"temperature": 0.8,
"max_tokens": 600
}El texto de la respuesta está en choices[0].message.content. En el siguiente nodo, léelo con la expresión {{ $json.choices[0].message.content }}. La misma respuesta también contiene un bloque usage, así que puedes registrar el recuento de tokens en una hoja de cálculo o una base de datos.
Un flujo de trabajo típico es un activador webhook, este nodo HTTP y un nodo de respuesta que devuelve el texto. Otro común lee filas de una hoja de cálculo, genera un borrador para cada una y escribe los resultados de vuelta. También puedes probar la petición fuera de n8n primero con curl:
curl https://api.nofilteraichat.com/v1/chat/completions \
-H "Authorization: Bearer $NOFILTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","messages":[{"role":"user","content":"Say hello in five words."}]}'Límites, reintentos y lotes en n8n
Una clave completa permite 8 solicitudes concurrentes y 300 solicitudes por minuto; una clave de prueba permite 2 y 60. n8n puede superar fácilmente esos números, porque un nodo procesa cada elemento entrante y puede dispararlos rápidamente.
En el nodo HTTP Request, abre Opciones y usa Lotes: establece un tamaño de lote de 4 o 6 y un intervalo de uno o dos segundos. En la Configuración del nodo, activa Retry On Fail con 3 intentos y una espera de 5000 ms. Esto coincide con el comportamiento de la API: cuando está brevemente sobrecargada, devuelve HTTP 429 con un encabezado Retry-After: 5. Otros códigos 429 te indican qué límite has alcanzado: rate_limited significa demasiadas peticiones por minuto, concurrency significa demasiadas a la vez.
El streaming merece una nota. Una petición en streaming mantiene su espacio de concurrencia hasta que termina el stream. En n8n, deja el streaming desactivado en el nodo HTTP, ya que el flujo de trabajo espera toda la respuesta de todos modos. Open WebUI hace streaming por defecto, lo cual es correcto para una ventana de chat.
Costo de un flujo de trabajo
Supongamos que un flujo de trabajo procesa 500 filas, enviando 800 tokens de entrada y obteniendo 250 tokens de salida por cada una. Entrada: 500 × 800 = 400,000 tokens, que cuestan 400,000 × $0.15 / 1,000,000 = $0.06. Salida: 500 × 250 = 125,000 tokens, que cuestan 125,000 × $0.50 / 1,000,000 = $0.0625. La ejecución suma $0.1225, unos 12 centavos. Consulta la página de precios para recargas.
Solución de problemas
| Síntoma | Causa probable | Solución |
|---|---|---|
| Open WebUI no muestra modelos | URL o clave incorrecta | Usa la URL base que termina en /v1; prueba GET /v1/models con curl |
| Cambios en variables de entorno de Docker ignorados | Configuración ya almacenada | Edita la conexión en Configuración de administrador |
| 401 desde n8n | Falta la palabra Bearer en el valor del encabezado | El valor debe leer Bearer, un espacio, luego la clave |
| Open WebUI en Docker no puede alcanzar un proxy local | localhost apunta al contenedor | Usa la dirección del host, no localhost |
| 429 en medio de un bucle | Demasiados elementos en paralelo | Agrupa el nodo HTTP y habilita el reintento |
| Modelo no encontrado | El nombre está mal escrito | El único ID es uncensored |
Recuerda los límites del producto al diseñar un flujo: solo chat de texto, una ventana de 100,000 tokens compartida entre prompt y respuesta, y un cuerpo de solicitud de 8 MB. No hay endpoint de embeddings, así que mantén cualquier búsqueda vectorial en otro servicio. La guía de inicio rápido tiene la referencia completa de la solicitud, y la guía de integración cubre más interfaces. Los prompts enviados a través de la API no se usan para entrenamiento.
La regla estricta se aplica en todas las herramientas: no hay contenido sexual que involucre a menores de edad. Dentro del uso adulto legal, el modelo está ajustado para responder sin rechazos de contenido, lo que se adapta a ficción, roleplay y aplicaciones de compañía para adultos.
