New node ✨🧠 Universal LLM API (MNeMiC_LLMAPI) talks to any LLM through
three protocols: OpenAI-compatible (OpenAI, Gemini, Grok, Groq, OpenRouter,
Mistral, DeepSeek, LM Studio, llama.cpp, vLLM…), Anthropic, and native
Ollama. Twelve endpoints are built in; users add their own in the
git-ignored nodes/llm/UserEndpoints.json.
Secrets never enter a workflow: the node stores only the endpoint and model
name. URLs, keys and headers are resolved on the backend from the endpoint
config and .env (${VAR} / ${VAR:-fallback}), keys never reach the browser,
and any key a server echoes back is masked in outputs, errors and logs.
Features: live streaming preview on the node, searchable model browser,
connection test, preset viewer, vision (image batch), reasoning control
mapped per provider, <think> separation into a thinking output, JSON mode,
retries with backoff, cancel mid-stream, automatic retry without parameters
an endpoint rejects, and Ollama keep_alive/num_ctx plus a ComfyUI VRAM free.
Shared infrastructure: utils/env_manager.py is now the single secret store
(hot-reloads .env, redaction, placeholder detection) and
utils/prompt_presets.py loads the presets the Groq nodes and the new node
share. The Groq nodes use both, so .env and preset edits apply without a
restart.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmQWqMnuUXU4XwF6xyaDyM