> ## Documentation Index
> Fetch the complete documentation index at: https://comfyui-mcp.artokun.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API Nodes

> Discover and run hosted partner / API nodes (comfy.org).

<Info>1 tool. Generated from the live MCP tool schemas — do not edit by hand; run `npm run docs:gen`.</Info>

<Tip>**You don't type these calls.** Ask your agent for what you want in ordinary English — it chooses the tool and fills in the arguments. The JSON on this page is what it sends. New here? Start with [Using the tools](/docs/using-tools).</Tip>

## list\_api\_nodes

Discover and run hosted partner/API nodes on the connected ComfyUI (e.g. Flux/BFL, Ideogram, Kling, Stability). These call external image/video providers and run server-side, requiring a Comfy account/API key configured on the ComfyUI server — they spend PAID api credits, unlike a local-GPU render. Driven by the `action` parameter:

* action:"list" — List the API/partner nodes available on the connected ComfyUI, optionally narrowed by `filter`. Returns an empty list if the server has no API nodes (or they are disabled). Start here to find a class\_type.
* action:"schema" — Return the input schema for one API/partner node (`class_type`) from the connected ComfyUI's /object\_info. Lists visible inputs (with types/defaults/options), hidden inputs (server-filled auth), and outputs. Use action:"list" first to find a class\_type.
* action:"generate" — Build a minimal single-node workflow that runs a chosen API/partner node (`class_type`) with the provided `inputs` and enqueue it. Returns immediately with the prompt\_id (use queue (action:"status") / get\_history for results). Do NOT pass auth credentials in inputs — the ComfyUI server injects those from its logged-in session. Use action:"schema" to discover valid inputs.

### Parameters

<ParamField path="action" type="enum" required>
  Which API-node operation to perform. "list" takes an optional `filter`; "schema" requires `class_type`; "generate" requires `class_type` + `inputs` (optional `disable_random_seed`). Options: `action:"list"`, `action:"schema"`, `action:"generate"`.
</ParamField>

<ParamField path="filter" type="string">
  action:"list" — case-insensitive substring to narrow results, matched against class\_type, display name, or category (e.g. "image", "video", "kling").
</ParamField>

<ParamField path="class_type" type="string">
  The node class\_type, e.g. "FluxProImageNode". REQUIRED for action:"schema" and action:"generate"; find one with action:"list".
</ParamField>

<ParamField path="inputs" type="object">
  action:"generate" — REQUIRED. Input values keyed by input name, per the node's schema (action:"schema").
</ParamField>

<ParamField path="disable_random_seed" type="boolean">
  action:"generate" — if true, do not randomize seed/noise\_seed inputs.
</ParamField>

### Example

<Note>No worked example yet — the call below is a skeleton generated from the required parameters. Real examples live in `scripts/tool-doc-examples.ts`; contributions welcome.</Note>

```json theme={null}
{
  "tool": "list_api_nodes",
  "arguments": {
    "action": "list"
  }
}
```

***
