Paopao Studio 掃描 2,056 個 n8n 公開工作流程範本,發現 172 個會呼叫已停用的 OpenAI 或 Anthropic 模型/API
I scanned 2,056 public n8n templates: 172 of them call an OpenAI or Anthropic model/API that is already shut down
Paopao Studio 對 2,056 個公開 n8n 工作流程範本進行離線掃描,發現 172 個範本會呼叫已停用的 OpenAI 或 Anthropic 模型/API。
If you import an n8n template from a year ago, the workflow JSON often doesn't tell you which model it will call. When a parameter equals its default, n8n leaves it out of the export, so the model is decided by the node type, its typeVersion and the n8n release that runs it. Some nodes go further and hardcode the model (the OpenAI node's audio transcribe/translate operations always send whisper-1).
I wanted to know how many public templates point at models or APIs that OpenAI and Anthropic have already shut down. So I wrote a small offline scanner and ran it over a public template collection.
What I scanned (and what I didn't)
-
Source:
felipfr/awesome-n8n-workflows, a third-party, MIT-licensed mirror of n8n workflow templates, at commit8aa4a25(2025-08-08). This is not n8n's official template library, and the mirror has no per-template dates, so I can't tell how old each template is. - Templates: 2,056 workflow files.
-
"AI templates": 804 of those contain
openai,anthropic,lmChatorapi.openai.comanywhere in the file (case-insensitive). This is a plain text match, so treat it as a rough denominator. - Reference date: 2026-10-31. "Already shut down" means the provider's shutdown date is on or before that day.
- Rules: only verified rules, where the model ID and the shutdown date appear on the official OpenAI deprecations page or the Anthropic model deprecations page. Both pages were checked on 2026-10-31.
- These are templates, not running workflows. A template that uses a retired model tells you what people will copy, not what is in production.
Headline numbers
| Metric | Value |
|---|---|
| Templates scanned | 2,056 |
| AI templates (text match) | 804 |
| Templates with at least one finding from a verified rule (already shut down or scheduled) | 346 (16.83% of all, 43.03% of AI templates) |
| Templates with at least one verified finding that is already shut down | 172 (21.39% of AI templates) |
So roughly one in five AI templates in this mirror would call something that no longer exists if you imported it today and ran it as-is.
What the 172 "already shut down" templates use
Counts are templates per model. One template can use several models, so the rows add up to more than 172. "Explicit" means the model ID is written in the JSON. "Default" means the model field is missing and n8n's default for that node and typeVersion applies. "Hardcoded" means n8n sets the model in code. A template can count in both "explicit" and "default" if it has several nodes.
| Model / API | Shutdown date | Templates | Explicit | Default | Hardcoded |
|---|---|---|---|---|---|
dall-e-3 |
2026-05-12 | 27 | 4 | 23 | |
| Assistants API | 2026-08-26 | 24 | 9 | 21 | |
gpt-3.5-turbo |
2026-10-23 | 17 | 9 | 10 | |
gpt-4 |
2026-10-23 | 16 | 16 | ||
gpt-3.5-turbo-instruct |
2026-09-28 | 14 | 1 | 13 | |
gpt-4-turbo-preview |
2026-03-26 | 12 | 12 | ||
claude-3-5-sonnet-20240620 |
2025-10-28 | 11 | 11 | ||
gpt-4-turbo |
2026-10-23 | 9 | 9 | ||
claude-3-5-haiku-20241022 |
2026-02-19 | 7 | 7 | ||
gpt-image-1 |
2026-10-23 | 7 | 7 | ||
gpt-4-vision-preview |
2024-12-06 | 7 | 7 | ||
gpt-4-1106-preview |
2026-10-23 | 7 | 7 | ||
gpt-3.5-turbo-1106 |
2026-09-28 | 5 | 3 | 2 | |
chatgpt-4o-latest |
2026-02-17 | 5 | 5 | ||
dall-e-2 |
2026-05-12 | 4 | 4 | ||
text-davinci-edit-001 |
2024-01-04 | 4 | 4 | ||
claude-3-7-sonnet-20250219 |
2026-02-19 | 4 | 4 | ||
gpt-4.1-nano |
2026-10-23 | 4 | 4 | ||
o3-mini |
2026-10-23 | 4 | 4 | ||
o1 |
2026-10-23 | 3 | 3 | ||
claude-3-5-sonnet-20241022 |
2025-10-28 | 3 | 3 | ||
gpt-3.5-turbo-0301 |
2024-09-13 | 2 | 2 | ||
gpt-3.5-turbo-16k-0613 |
2024-09-13 | 2 | 2 | ||
gpt-4-32k-0314 |
2025-06-06 | 2 | 2 | ||
gpt-4o-2024-05-13 |
2026-10-23 | 1 | 1 | ||
gpt-4.5-preview |
2025-07-14 | 1 | 1 | ||
gpt-4-0125-preview |
2026-03-26 | 1 | 1 | ||
gpt-3.5-turbo-0125 |
2026-10-23 | 1 | 1 | ||
gpt-4.1-nano-2025-04-14 |
2026-10-23 | 1 | 1 | ||
o3-mini-2025-01-31 |
2026-10-23 | 1 | 1 |
A few of these are only visible if you know n8n's defaults:
-
dall-e-3(23 of 27 by default). The OpenAI node's Image → Generate operation defaults todall-e-3beforetypeVersion2.2, and the default isn't saved in the JSON. -
claude-3-5-sonnet-20240620(11 of 11 by default). This is the Anthropic Chat Model default attypeVersion1.2. None of these templates contain the string. -
gpt-4-vision-preview(7 hardcoded). In older versions of the OpenAI node (typeVersionbelow 1.4), Image → Analyze has it hardcoded. -
Assistants API (24). These come from the OpenAI node's Assistant resource, the old OpenAI Assistant node, or HTTP calls to
/v1/assistantsand/v1/threads. The API itself was shut down, so changing the model doesn't help. Those workflows need to move to the Responses API. -
gpt-3.5-turbo,gpt-3.5-turbo-instruct,text-davinci-edit-001anddall-e-2(defaults). These come from the legacyn8n-nodes-base.openAinode and the OpenAI LLM node. The 2 defaultgpt-3.5-turbo-1106templates come from the old OpenAI Assistant node.
Scheduled, not yet shut down
These are the verified rules whose shutdown date is after 2026-10-31.
| Model / API | Shutdown date | Templates |
|---|---|---|
gpt-5-mini |
2026-12-11 | 133 (all from the OpenAI Chat Model default) |
whisper-1 |
2027-02-26 | 39 (33 hardcoded by n8n) |
gpt-4o-2024-08-06 |
2027-01-14 | 18 |
tts-1 |
2027-01-06 | 17 |
gpt-4o-mini-2024-07-18 |
2027-01-14 | 10 |
/v1/audio/translations |
2027-02-26 | 2 |
gpt-4.1-mini-2025-04-14 |
2027-01-14 | 2 |
gpt-4o-2024-11-20 |
2027-01-14 | 2 |
gpt-4.1-2025-04-14 |
2027-01-14 | 1 |
The gpt-5-mini row needs care. The OpenAI Chat Model node's default changed without a typeVersion bump: it was gpt-4o-mini, then gpt-4.1-mini, and since n8n PR #24342 (merged 2026-01-15) it is gpt-5-mini. The 133 count assumes the template runs on a current n8n release. On an older release the same node sends a different model.
The 33 hardcoded whisper-1 templates can't be fixed from the node UI. You either replace the node with an HTTP Request node or wait for n8n to change the operation.
What I deliberately did not count
The official pages list dated snapshots such as gpt-4o-2024-08-06 and gpt-4o-mini-2024-07-18. Many templates use the undated aliases instead: gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini. I could not find an official statement that gives those aliases a shutdown date. Mapping an alias to a retiring snapshot would be my own inference, so none of the numbers above count them.
The scanner still knows about them, but as unverified rules. They are only reported if you pass --include-unverified, and then they are marked as unverified.
Caveats
- Third-party mirror. It is not n8n's library and has no template dates, and the snapshot is from 2025-08-08.
- Text-match denominator. The 804 "AI templates" figure comes from a text match, not a semantic classification.
- Default inference. Default-model findings rely on n8n's current source (pinned commit). Each finding in the report links to the line that defines the default.
- Precision, recall and bias. I measured precision and recall on a hand-labelled sample, with a dev set plus a small random holdout. I also labelled them myself, so the labels share my reading of n8n's defaults. The numbers and that bias are spelled out in the repo README.
- Example strings. Model IDs that appear only inside example data (for example a "Set input data" node with a sample payload) can show up as false positives.
Check your own workflows
The scanner is a single Python file with one dependency (PyYAML). It works offline and never modifies your files.
git clone https://github.com/paopao-studio-ai/model-sunset-scanner model-sunset-scanner
cd model-sunset-scanner
pip install -r requirements.txt
# n8n: Workflow menu -> Download, or `n8n export:workflow --all --separate --output=./flows/`
python3 model_sunset_scan.py ./flows/ --md report.md
# Make: scenario -> Export Blueprint
python3 model_sunset_scan.py my_scenario.blueprint.json
# Any code or config
python3 model_sunset_scan.py ./src/
Each finding shows the node, the JSON path, the shutdown date, the official replacement and, where the provider documents it, which request parameters change, such as temperature on newer reasoning models or max_tokens → max_completion_tokens. The exit code is 1 when anything is found, so you can run it in CI.
Repo: https://github.com/paopao-studio-ai/model-sunset-scanner
Need help migrating? https://paopao-studio.pages.dev/?utm_source=devto&utm_medium=community&utm_campaign=model_sunset
來源:DEV Community · dev.to