search_templates
Search built-in ComfyUI workflow templates by free-text query or tag, type, model, and provider filters, with an option to exclude paid API-hosted rows.
Instructions
Search the built-in ComfyUI workflow-template gallery.
Wraps comfy templates ls (~558 rows, narrows/pages it). Returns
{"total", "shown", "offset", "rows"} — rows projected to
name/title/description/output_type/tags/category_title plus a derived
api boolean. API in tags means paid hosted — it spends the
signed-in account's credits, so run_template fails it CLOSED unless
confirm_spend=True — while api: false runs on local hardware for
free; an identically-titled row without the tag is the free sibling
(api_minimax_h3_t2v vs video_minimax_h3_t2v) — tags /
category_title / api, not the title, tell them apart. api is
the same case-insensitive, drift-tolerant test exclude_api filters on
(see _template_is_api), so an exclude_api=True page is all
api: false; it is the gallery's own tag, not a graph inspection, so it
carries the same caveat that filter always has.
Args:
query: free-text match over name/title/description/tags/models.
Two passes. A PHRASE pass first — the words must appear
consecutively — so image to image stays img2img rather than
matching every text to image row. Only if that finds nothing
does an all-words pass run, and the reply then carries
match: "all-words" so a widened result is never mistaken for an
exact one. In the all-words pass: EVERY word must prefix a word in
the row, so
MiniMax Text to Video finds MiniMax H3: Text to Video, and
each extra word only narrows. Word-anchored, so flux finds
flux2 but ext does not match text. When nothing matches,
the reply carries unmatched_query_words naming the dead words.
tag/type/model/provider: forwarded filters (tag/type exact,
model/provider substring).
exclude_api: drop API-tagged rows.
limit/offset: page results (limit capped at 200).
Step 1: pick a name, inspect with get_template, then
fetch_template. Step 4 — validating before run_workflow — is
MANDATORY via local_check.
Freshness: CACHED, 24h TTL as of v1.14.0; refresh via comfy templates refresh. NOT read from the local install.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | ||
| type | No | ||
| limit | No | ||
| model | No | ||
| query | No | ||
| offset | No | ||
| provider | No | ||
| exclude_api | No |