One runbook per provider for adding new models and nodes. Each guide names the exact files, the command to run, a copy-pasteable snippet, and how the same change looked in past PRs.

Audience: coding agents and contributors keeping NodeTool current — a new image model shipped, a new endpoint went live, a new provider needs wiring. Start with the provider you’re updating; each guide is self-contained.

NodeTool spans many providers but only a few distinct mechanisms. Find your provider’s mechanism first — it tells you whether a new model needs zero code, a manifest entry, or a codegen run.

How adding a model works, by mechanism

Mechanism What “add a model” means Providers
Dynamic fetch Nothing — models appear from the provider’s live /models (or local daemon) endpoint. Code only for capability/cost overrides. OpenAI (chat), Anthropic, Gemini (text), xAI, OpenAI-compatible (Groq, Mistral, DeepSeek, Moonshot, Cerebras, Cohere, OpenRouter), Ollama, Local inference (LM Studio, llama.cpp, vLLM)
Static model list A code edit to a hardcoded array in the provider (plus cost entry). OpenAI (image), Gemini (Imagen/Veo)
Codegen from upstream schemas Add an endpoint id to a config, run the generator — the manifest is regenerated, never hand-edited. FAL, Replicate, KIE
Hand-maintained manifest Add a JSON entry to the package manifest. AtlasCloud, Topaz, Together
Static node package Add a model id to the provider/base arrays, or a new BaseNode subclass. MiniMax, Reve, ElevenLabs, HuggingFace

All guides

  • OpenAI — chat models auto-fetch; image models (gpt-image-*) are a static list.
  • Anthropic (Claude) — models fetched live from the Anthropic API.
  • Google Gemini — text auto-fetches; Imagen/Veo are static lists.
  • xAI (Grok) — chat, image, and video classified from /v1/models.
  • OpenAI-compatible providers — Groq, Mistral, DeepSeek, Moonshot, Cerebras, Cohere, OpenRouter, and how to add a new one.
  • FAL — nodes generated from FAL OpenAPI schemas via codegen.
  • Replicate — nodes generated from Replicate model schemas via codegen.
  • KIE — nodes generated from per-model configs into a manifest.
  • AtlasCloud — hand-maintained manifest drives nodes and the model picker.
  • Topaz — manifest-driven image/video enhancement nodes.
  • Together AI — generated image/video manifest plus live-fetched chat models.
  • MiniMax — chat, image, video, and audio via provider arrays and a node pack.
  • Reve — image create/edit/remix nodes.
  • ElevenLabs — TTS models and voices as static arrays (decorator package).
  • HuggingFace — Hub-backed model discovery plus a hand-written node pack.
  • Ollama — local models discovered from the running daemon (ollama pull).
  • Local inference — LM Studio, llama.cpp, vLLM over OpenAI-compatible localhost.

Before you open a PR

Whatever the mechanism, run the full check from the repo root:

npm run check   # typecheck + lint + test across web, electron, mobile

For decorator/codegen packages (FAL, Replicate, KIE, ElevenLabs, and other dist/-loaded packs), run npm run build:packages after regenerating so the runtime picks up the change. Each guide lists its exact verify commands.

Contributions are welcome — open a PR on GitHub or say hi on Discord.