Hola a todos,
Estoy teniendo un problema con el nodo de OpenAI (usando la operación «Enviar mensaje a un modelo») y agradecería cualquier consejo sobre cómo solucionarlo.
He configurado el nodo para enviar un mensaje de texto simple. Como puedes ver en la captura de pantalla adjunta, los parámetros están rellenos:
Tipo: Texto
Rol: Usuario
Prompt: Hola
Sin embargo, cuando hago clic en «Ejecutar paso», falla con este resultado:
Solicitud incorrecta - por favor verifica tus parámetros
messages must be a non-empty array, got null
Parece que el nodo está enviando un payload nulo en lugar del array de mensajes que configuré en la UI.
Contexto adicional:
Estoy usando un nombre de modelo personalizado (CSU/PRO/GLM-5.1) a través de una URL base personalizada.
¿Alguien ha experimentado este error de UI o problema de formato de payload antes? ¿Hay alguna solución alternativa para asegurar que el nodo empaquete correctamente los mensajes en el array JSON?
¡Gracias de antemano por tu ayuda!
¿Cuál es el mensaje de error (si hay alguno)?
Por favor comparte tu flujo de trabajo
(Selecciona los nodos en tu lienzo y usa los atajos de teclado CMD+C/CTRL+C y CMD+V/CTRL+V para copiar y pegar el flujo de trabajo.)
Comparte el resultado devuelto por el último nodo
Información sobre tu configuración de n8n
Versión de n8n:
Base de datos (por defecto: SQLite):
Configuración de n8n EXECUTIONS_PROCESS (por defecto: own, main):
Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio):
@CuO creo que ahora puedo identificarlo. Investigué más al respecto, y el mensaje v2 de n8ns apunta a la API de Respuestas más nueva de OpenAI, que envía el prompt en un campo de entrada, no en un array de mensajes. Tu puerta de enlace personalizada casi con seguridad solo habla la API chat/completions más antigua, así que recibe un body sin la clave messages y devuelve exactamente eso, obtiene null, así que en realidad no es tu configuración. Hay dos formas de solucionarlo: usa el nodo OpenAI heredado (1.4, todavía usa chat/completions) si puedes elegir la versión del nodo, o el nodo HTTP request directamente a /chat/completions de tu puerta de enlace con el array de mensajes. misma causa raíz de la API responses v2 que este hilo resuelto
Este es un comportamiento conocido que ocasionalmente aparece al usar URLs base personalizadas y nombres de modelos personalizados (como CSU/PRO/GLM-5.1), ya que la lógica de validación interna del nodo puede no reconocer el modelo personalizado, lo que hace que envíe un payload incompleto o nulo:
1)En versiones recientes de n8n, la URL base se ha trasladado de los parámetros del nodo a la configuración de Credenciales.
Ve a Credenciales →→ Selecciona tu credencial de OpenAI.
Asegúrate de que la URL base esté ingresada allí (por ejemplo, https://your-proxy-url.com/v1).
Crucial: Asegúrate de incluir el sufijo /v1 si tu proveedor lo requiere, ya que algunos gateways no enrutan correctamente las solicitudes sin él.
2)El nombre del modelo CSU/PRO/GLM-5.1 contiene barras. Algunas versiones del nodo OpenAI intentan validar el nombre del modelo contra una lista conocida o un endpoint /models. Si la validación falla o el nombre personalizado genera un error de análisis, el nodo puede “rendirse” al construir el payload.
Intenta envolver el nombre del modelo en una expresión (haz clic en el icono de engranaje →→ Expression) e ingrésalo como una cadena: {{ "CSU/PRO/GLM-5.1" }}. Esto a veces evita los problemas de validación a nivel de interfaz.
3)Si el nodo OpenAI nativo continúa enviando un payload nulo, la solución más confiable es usar el nodo HTTP Request. Esto evita el wrapper OpenAI interno de n8n y te permite enviar el JSON exacto que espera la API.
Configura el nodo HTTP Request de la siguiente manera: