Templates
Discover published workflow templates programmatically — browse the catalog without receiving the underlying graph.
Templates are published workflows from the community library. This endpoint lets agents and integrations browse the catalog token-efficiently: you get the metadata and the input interface, never the workflow graph itself (nodes, edges, and node configuration stay private to the creator).
List Templates
GET /api/v1/templates
Returns published templates. Requires authentication with the workflows:read scope (implied by workflows:execute and workflows:write).
The catalog is cached server-side for up to 60 seconds, so a just-published template can take a minute to appear. Catalogs beyond 500 templates are truncated to the 500 most recently updated.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q |
string |
Case-insensitive search over title and description |
tag |
string |
Filter by category tag (e.g. video, anime) |
capability |
string |
Filter by what the graph contains (e.g. video-assembler). Repeatable or comma-separated; multiple values mean ALL of them. An unknown value returns 400 |
sort |
string |
recent (default, most recently updated) or popular (most viewed) |
limit |
number |
Page size. Default 20, max 50 |
offset |
number |
Number of results to skip. Default 0 |
Request
curl "https://www.wireflow.ai/api/v1/templates?tag=video&sort=popular&limit=10" \
-H "Authorization: Bearer sk-your-api-key"
# Templates that really do assemble a finished video, whatever they are tagged:
curl "https://www.wireflow.ai/api/v1/templates?capability=video-assembler" \
-H "Authorization: Bearer sk-your-api-key"
Response 200 OK
{
"data": [
{
"id": "cm1abc123",
"publishedSlug": "anime-reel-factory",
"title": "Anime Reel Factory",
"description": "Turns a prompt into a 3-act anime reel",
"tags": ["video", "anime"],
"coverImage": "https://cdn.wireflow.ai/poster.jpg",
"exampleOutputs": [
{
"label": "Final reel",
"type": "video",
"url": "https://cdn.wireflow.ai/renders/reel-final.mp4"
}
],
"views": 420,
"likeCount": 12,
"duplicates": 33,
"updatedAt": "2026-07-01T00:00:00.000Z",
"author": {
"displayName": "Michael",
"handle": "michael",
"avatarUrl": "https://cdn.wireflow.ai/a.png"
},
"inputInterface": [
{
"nodeId": "node-prompt",
"nodeType": "input:text",
"label": "Story prompt",
"inputType": "text"
}
],
"capabilities": ["video-assembler", "image-generation", "paid-nodes"]
}
],
"pagination": { "total": 1, "limit": 10, "offset": 0, "hasMore": false }
}
Fields
tags— the template's category tags (the internaltemplatemarker tag is stripped).exampleOutputs— sample media the template has produced, resolved server-side to{ label, type, url }entries (typeisimage,video, oraudio). Empty array when no examples are available.inputInterface— the template's user-facing inputs, projected from the graph's input nodes. Only the node id, node type, label, and expected input kind (text,image,url, …) are exposed.author— the creator's public profile fields only (same as community pages).capabilities: what the template's graph actually contains, derived from its nodes on every request. Use this, nottags, when correctness matters: a category is prose the author typed, and it frequently disagrees with the graph.
Capabilities
| Value | Meaning |
|---|---|
video-assembler |
Contains a video:remotion node that assembles and renders a finished video |
video-generation |
Contains an AI video model (generated shots, avatar, lipsync) |
image-generation |
Contains an AI image model that produces a new image |
llm |
Contains an LLM node that writes or reasons about text |
iterator |
Contains an iterator, so the graph fans out over a list |
paid-nodes |
Contains at least one node that spends credits when it runs |
connected-account |
Needs a connected account or API key (Drive, Discord, Notion, social publishing) |
Capabilities describe the KINDS of node present. They never expose node ids, ordering, counts, or configuration, so they say what a template can do without revealing how it does it. A node marked skipped is excluded, since it never runs.
What is never returned
The workflow graph is the creator's IP. The response never includes nodes, edges, node config/params/prompt values, secrets, or the author's email. Discovery is read-only: to use a template, duplicate it from its public page in the app, or run it directly with Execute Templates if the author has enabled API execution.