Replacing a fine-tuned gpt-4.1-nano before 23 October 2026
On 23 October 2026, OpenAI stops serving fine-tunes of gpt-4.1-nano (and of o4-mini, gpt-3.5-turbo, gpt-4, babbage-002 and davinci-002), so an ft:gpt-4.1-nano model stops answering that day. As of 8 October 2026, OpenAI's deprecations page names gpt-5.6-luna as the replacement base model, and Luna's own model page lists fine-tuning as "Not supported", so the like-for-like replacement is a prompt, not a new fine-tune. The other routes are Azure if your subscription has already deployed gpt-4.1-nano (fine-tuned deployments end on 14 October 2027), or a classifier you own. A gpt-4.1-mini fine-tune is no longer one: OpenAI removes gpt-4.1-mini and its fine-tunes on 14 January 2027. Before 23 October 2026, save your fine-tune's answers on real inputs and test each option on at least 1,000 tickets labelled by people; if Luna passes, use Luna. On three public classification tests we pre-registered, GPT-5.6 Luna, given the 20 most similar past examples, tied a small fine-tuned model on two and trailed by 2 points on the third. A plain embeddings classifier tied on one of them. The cheapest option that passes differs by task.
Already past 23 October, or the model has stopped answering? The 48-hour rescue rebuilds it from the file you trained it with, if its labels were written or checked by people or come from your records; if GPT wrote them, tell us and we'll quote a labelling job or decline. Not sure which of your models stop? Paste the IDs into the shutdown checker. For the other models on the 23 October list: o4-mini, gpt-3.5-turbo, gpt-4 and the shutdown checklist. Hiring someone? Ask them these 12 questions.
The dated facts, with sources
Every row links to where it comes from. Dates on these pages have moved before, so open the source before you plan around one.
| Date | What happens | Source |
|---|---|---|
| 25 April, 13 May and 4 August 2026 | As recorded by a public copy of OpenAI's deprecations page, the "Recommended replacement base model" for fine-tuned gpt-4.1-nano was first gpt-5-nano, then gpt-5.4-nano, then gpt-5.6-luna. The dates are when that copy changed. | Change history of a public copy of OpenAI's deprecations page, checked 8 October 2026 |
| 7 May 2026 | Organizations that have never fine-tuned can't create fine-tuning jobs. Ours was refused on 7 October 2026 for this reason. | OpenAI deprecations, checked 8 October 2026 |
| 2 July 2026 | Organizations with no inference on a fine-tuned model in the past 60 days can't create jobs either. The 60 days roll forward. | OpenAI deprecations, checked 8 October 2026 |
| Since 3 June 2026 | "In some cases, developers may be able to provision dedicated capacity for continued access after a model's shutdown date. To explore this option, contact our sales team." That is the whole offer: no terms, no price and no mention of fine-tuned models. | OpenAI deprecations, checked 8 October 2026 |
| 6 October 2026 | OpenAI's Decisions API enters public beta at POST /v1/decisions, on gpt-6-luna only. It can't be fine-tuned. | OpenAI Decisions guide, checked 8 October 2026 |
| As of 8 October 2026 | The gpt-5.6-luna model page lists fine-tuning (v1/fine-tuning) as "Not supported". So do the gpt-5-nano page and every GPT-5.x and GPT-6 model page we checked. | GPT-5.6 Luna model page, checked 8 October 2026 |
| As of 8 October 2026 | Organizations that can still train can fine-tune gpt-4.1, gpt-4.1-mini and gpt-4.1-nano (2025-04-14 snapshots). A new gpt-4.1-nano fine-tune would stop on 23 October too, and a new gpt-4.1 or gpt-4.1-mini fine-tune on 14 January 2027 (below). | OpenAI model optimization guide and deprecations, checked 8 October 2026 |
| As of 8 October 2026 | On Azure, "Deprecated" means "new customers can't create deployments or access the model". "'Existing customer' is determined at the subscription level", and "A new subscription under the same tenant doesn't inherit access." | Azure model lifecycle policy, checked 8 October 2026 |
| As of 8 October 2026 | An Azure fine-tuned deployment costs $1.70 an hour (Standard, Global or Data Zone), used or not: about $1,241 a month at 730 hours, plus tokens. The Developer tier has no hourly fee and no SLA, and its deployments are removed after 24 hours. | Azure fine-tuning cost management, checked 8 October 2026 |
| 23 October 2026 | Fine-tunes of gpt-4.1-nano, o4-mini, gpt-3.5-turbo, gpt-4, babbage-002 and davinci-002 stop. The listed replacement for fine-tuned gpt-4.1-nano is gpt-5.6-luna, which you can call but not train. | OpenAI deprecations (notice of 22 April 2026), checked 8 October 2026 |
| 11 December 2026 | gpt-5-nano-2025-08-07 shuts down. It was the first replacement OpenAI named for fine-tuned gpt-4.1-nano. | OpenAI deprecations (notice of 11 June 2026), checked 8 October 2026 |
| 6 January 2027 | "Active existing customers will no longer be able to create new fine-tuning jobs." Fine-tunes that still run can't be retrained. | OpenAI deprecations, checked 8 October 2026 |
| 14 January 2027 | OpenAI removes gpt-4o, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini from the API, with gpt-6-luna as the replacement. "Fine-tuned versions of these models follow the same shutdown schedule as their underlying base models", so a gpt-4.1-mini fine-tune stops that day. | OpenAI deprecations (notice of 14 October 2026), checked 21 October 2026 |
| 1 April 2027 | gpt-5.4-nano shuts down, with gpt-6-luna as its replacement (notice of 1 October 2026). It was the second replacement OpenAI named for fine-tuned gpt-4.1-nano, so two of the three now have shutdown dates of their own. | OpenAI deprecations, checked 10 October 2026 |
| 14 April 2027 | Azure lists the base gpt-4.1-nano model as "Deprecated", retiring on this date. Until our 8 October check it said 14 October 2026; the published date has changed several times since June 2026. | Azure model retirement schedule, checked 10 October 2026 |
| No earlier than 14 April 2027 | Azure stops training fine-tuned gpt-4.1-nano, "For existing customers only. Otherwise, training retirement occurs at base model retirement." The same applies to gpt-4.1 and gpt-4.1-mini. | Azure model retirement schedule, checked 8 October 2026 |
| 14 October 2027 | Azure fine-tuned gpt-4.1-nano deployments retire. "Retirement dates aren't extendable." | Azure model retirement schedule, checked 8 October 2026 |
The rows checked on 8 and 10 October 2026 were read through verbatim copies: public GitHub mirrors of OpenAI's docs and Microsoft's own docs repository. The 14 January 2027 row was read on OpenAI's deprecations page on 21 October 2026. The links above go to the live pages, except the change history, which links to the copy we read. OpenAI's Services Agreement, quoted further down, was read through Open Terms Archive's verbatim capture. None of this is legal advice.
Options to replace a fine-tuned gpt-4.1-nano
Accuracy is from our bake-off on three public test sets (section 03), not on your data. "Not measured" means we couldn't run it, and we say why.
| Option | Works after 23 October 2026 | Retrain after 6 January 2027 | Can you take the weights with you? | Next forced migration | Measured: Banking77 / CLINC150 / CFPB | Effort |
|---|---|---|---|---|---|---|
| GPT-5.6 Luna with a prompt (OpenAI's named replacement) | Yes | Can't be fine-tuned | No | Whenever OpenAI retires it. gpt-5-nano and gpt-5.4-nano, the first two replacements OpenAI named, shut down on 11 December 2026 and 1 April 2027. | 93.8% / 94.6% / 87.5% (20 similar examples) | Low to medium: a prompt, an index of your labelled examples to retrieve from, request changes and a shadow run |
| GPT-6 Luna with a prompt, or the Decisions API (beta since 6 October 2026) | Yes | Can't be fine-tuned | No | Whenever OpenAI retires it | GPT-6 Luna: 93.1% / 94.4% (20 similar examples) / 86.0% (list only; with examples not run). Decisions API: 76.8% / not run / not run | Low to medium for GPT-6 Luna with retrieved examples (an index of your labelled examples); low for the Decisions API |
| Fine-tune gpt-4.1-mini on OpenAI (only if your organization can still train) | Until 14 January 2027 | No: no new jobs from 6 January 2027 | No | 14 January 2027, when OpenAI removes gpt-4.1-mini and its fine-tunes (notice of 14 October 2026) | Not measured: OpenAI refused our fine-tuning job on 7 October 2026 | Low, if you have the training file and your organization qualifies |
| Fine-tuned gpt-4.1-nano on Azure (only if your subscription has already deployed it) | Until 14 October 2027 | Existing customers, until no earlier than 14 April 2027 | No: we found no way to export them | 14 October 2027, "not extendable" | Not measured: a new subscription counts as a new customer | Medium: subscription, region, quota, a full retrain, a base URL change; $1.70 an hour per deployment |
| Embeddings plus a small classifier you own (for example bge-base) | Yes | Yes, any time | Yes | None | 93.5% / 90.6% / 86.2% | Low: trains and runs on a CPU; you host it |
| A fine-tuned encoder you own (DistilBERT, ModernBERT) | Yes | Yes, any time | Yes | None | Not measured by us yet | Low to medium (our estimate; we haven't run one) |
| An open model fine-tuned with LoRA, which you own (our recipe: Qwen3-4B) | Yes | Yes, any time | Yes | None | 94.0% / 95.1% / 89.5% | The most work: GPU training, an evaluation, serving on one L4 GPU |
"20 similar examples" means the category list plus the 20 labelled training examples most similar to each message, found with an embeddings model, in tests we pre-registered. "List only" means the category list alone. GPT-6 Luna's run with examples on CFPB didn't fit the budget we set in advance. The CFPB figures merge renamed products, a choice we made after seeing the errors. The Decisions API got the bare category names as choices. Routing Luna's low-confidence answers to a bigger model is a variant of the first row; we haven't measured it.
Where the cheap options are enough. On simple support triage (Banking77), two options statistically tied our fine-tuned model at 94.0%: GPT-5.6 Luna shown the 20 most similar labelled examples, at 93.8% (paired difference +0.2 points, 95% CI −0.6 to +0.9), and an embeddings classifier on a CPU, at 93.5% (+0.5, CI −0.3 to +1.2). On intents with off-topic requests (CLINC150), the same Luna setup tied it too: 94.6% against 95.1% (+0.5, CI −0.04 to +1.0). When options tie, choose on cost at your volume, latency and control. If GPT-5.6 Luna passes the margin you set on your own test set, use Luna.
GPT-5.6 Luna vs a fine-tuned model: what we measured, and with which prompt
Accuracy on held-out test sets (Banking77: 3,080 messages, 77 categories; CLINC150: 5,500 requests, 150 intents plus off-topic; CFPB: 5,117 complaints, 10 products), with 95% bootstrap confidence intervals. Both Lunas ran with the default temperature and reasoning effort "none"; in the pre-registered runs, Structured Outputs held each answer to the label list. GPT-4.1-mini ran at temperature 0. Measured 5–8 October 2026, the Luna runs on 8 October (UTC). The CFPB scores merge renamed products, a choice made after seeing the errors. Every table, the prompts and the limits: GPT-5.6 Luna vs a fine-tuned model on three test sets; serving numbers: results.
| Model | Prompt or setup | Banking77 (3,080) | CLINC150 (5,500) | CFPB (5,117) |
|---|---|---|---|---|
| Qwen3-4B + LoRA (ours) | fine-tuned on one L4 (CFPB: one H100) | 94.0% (93.1–94.8) | 95.1% (94.6–95.7) | 89.5% (88.7–90.3) |
| bge-base embeddings + classifier | trained, CPU | 93.5% (92.7–94.4) | 90.6% (89.8–91.4) | 86.2% (85.2–87.1) |
| TF-IDF + classifier | trained, CPU | 89.3% (88.1–90.3) | 81.6% (80.5–82.6) | 86.6% (85.7–87.5) |
| GPT-5.6 Luna | the 20 most similar training examples (pre-registered) | 93.8% (92.9–94.6) | 94.6% (94.0–95.2) | 87.5% (86.6–88.4) |
| GPT-6 Luna | the 20 most similar training examples (pre-registered) | 93.1% (92.1–94.0) | 94.4% (93.8–95.0) | not run (budget) |
| GPT-5.6 Luna | one example of every category | 87.2% (86.0–88.4) | not finished | not finished |
| GPT-5.6 Luna | category list only | 85.4% (84.1–86.6) | 88.4% (87.5–89.2) | 86.6% (85.7–87.6) |
| GPT-6 Luna | one example of every category | 82.2% (80.8–83.5) | not finished | not finished |
| GPT-6 Luna | category list only | 79.7% (78.3–81.1) | 88.3% (87.4–89.2) | 86.0% (85.1–87.0) |
| GPT-4.1-mini | an example of every category | 78.7% (77.2–80.1) | not run | not run |
| OpenAI Decisions API (beta), GPT-6 Luna | the 77 category names as choices (pre-registered) | 76.8% (75.3–78.2) | not run | not run |
- Support triage (Banking77): two options tie ours. GPT-5.6 Luna shown the 20 most similar training examples scored 93.8% (paired difference +0.2 points, CI −0.6 to +0.9), and the bge-base embeddings classifier 93.5% (+0.5, CI −0.3 to +1.2). With one fixed example of every category, the same Luna scored 87.2%: the examples did the work. GPT-6 Luna scored a little lower than GPT-5.6 Luna with the same examples, and the Decisions API scored 76.8%.
- Intents with off-topic requests (CLINC150): GPT-5.6 Luna shown the 20 most similar examples tied ours: 94.6% against 95.1% (paired difference +0.5 points, CI −0.04 to +1.0). With the category list only, both Lunas scored about 88%. Off-topic requests are a trade-off: ours caught more, 83.9% against 79.1%, and Luna with examples wrongly rejected slightly fewer real requests, 0.18% against our 0.40%. The best embeddings classifier scored 90.6%. Every rate with its interval is in the full comparison.
- Long real complaints (CFPB): by product, ours gets 117 more of the 3,266 credit-reporting complaints right, more than the whole gap; on the other nine products together GPT-5.6 Luna with examples gets 13 more right, most on mortgages, credit cards, vehicle loans and payday loans. Overall, ours 89.5% against Luna's 87.5%: ours +2.0 points (CI +1.2 to +2.9), a narrow lead. These scores merge renamed products, a choice we made after seeing the errors; on the 14 labels as filed, ours scored 67.0%, Luna with examples 62.3% and TF-IDF 67.7%, a tie with ours. GPT-6 Luna's run with examples didn't fit the $50 cap set in advance.
- Latency: both Lunas answered in 0.8–1.1 s at the median and 1.1–2.4 s at p95, called over the API from Modal's cloud; the Decisions API in 120 ms at the median. Our 4B model on one L4 GPU answers a single request in 194 ms at the median (results).
These are public datasets, not your tickets. We have never been able to score a real fine-tuned gpt-4.1-nano, because OpenAI won't let our organization fine-tune. Your own fine-tune's answers are the comparison that matters, which is why the next two sections exist.
How to run the bake-off on your data
- Build the test set. At least 1,000 real tickets with ground-truth labels written or checked by people, or taken from your records, not from your fine-tune. Cover every category, including rare ones, and remove duplicates between training and test data. With 5,000 the verdict is firm; with fewer the intervals get wide.
- Freeze the current system. Write down the model ID, prompt, label list and post-processing, keep the training JSONL, and save your fine-tune's answers on the test set (section 05).
- Run every candidate on the same items: GPT-5.6 Luna with the most similar labelled examples in each prompt, an embeddings classifier, a model you own, and an Azure fine-tune if you qualify.
- Agree the margin before you look, for example "no more than 3 accuracy points below the current model", plus a minimum recall for the categories that cost you most when they're wrong.
- Measure what breaks migrations: accuracy and macro-F1 with confidence intervals, per-class recall and a confusion matrix (rare classes break first), the invalid-output rate, latency at p50 and p95, tokens and cost per 1,000 tickets, and throughput at your peak rate.
- Decide with a paired test. A candidate passes only if the whole 95% confidence interval of its difference from the current model sits above the margin. If the interval is too wide to tell, the answer is "more test data", not a pass.
The paired test is open source. It needs no GPU and no API key: you run the models with your own keys and give it the prediction files.
pip install illate-parity illate-parity check --gold test.jsonl \ --current current.preds.jsonl --candidate candidate.preds.jsonl \ --margin 0.03 --out out/parity
It returns PASS, FAIL or INCONCLUSIVE and writes a report. Run it once per candidate, with your saved fine-tune answers as --current.
Save your fine-tune's answers while it still runs
Do this whoever you hire. After 23 October 2026 nobody can ask your fine-tune anything, so nobody can measure a replacement against what you had.
- Pick 2,000–5,000 real inputs, chosen so rare categories are covered.
- Run your fine-tune on them in your own OpenAI organization, with your own key, at normal rate limits.
- For every call, record the model ID, prompt, parameters, timestamp and raw output.
- Start logging the answers it gives on live traffic now, and keep logging until 23 October 2026. That costs no extra calls.
- Keep the training JSONL, prompts, label list and post-processing code with them.
What the saved answers are for. They are the "current model" column of your bake-off. Where you also have human labels, the rows where the fine-tune and the label disagree show you label errors and hard cases.
What they are not for. We train only on labels a person or your records confirmed. A model trained on your fine-tune's answers copies its mistakes, and you can't tell which labels were right. Saved answers can still speed up labelling as suggestions that a person confirms row by row.
Keep the sample modest and inside your own organization. OpenAI's business terms forbid reverse engineering, which they define to include "model extraction or stealing attacks" (§3.3(d) of the OpenAI Services Agreement, checked 8 October 2026). This is not legal advice.
Switching to GPT-5.6 Luna: what changes in the request
Changing the model name alone may not be enough. These are the settings our own Luna runs used; we list only what we ran ourselves.
- Chat Completions with
gpt-5.6-lunaandgpt-6-luna, on 13,697 test items across three datasets, plus 28,437 answers in the pre-registered tests. max_completion_tokensset (64 with a schema), and nomax_tokensin the request.- No
temperaturein the request, so the default applied. reasoning_effortset to"none"."low"didn't raise accuracy in our test.response_formatwith a strict JSON schema whose enum is the label list. It kept all 28,437 pre-registered answers on the list. Without a schema, GPT-5.6 Luna gave 15 answers outside the list on 5,500 CLINC150 requests and none on Banking77 or CFPB; GPT-6 Luna gave 4 on Banking77 (with examples), 6 on CLINC150 and 2 on CFPB.- The 20 labelled examples most similar to each message, found with
bge-small-en-v1.5embeddings, sent as user and assistant turns before it. That took GPT-5.6 Luna from 87.2% with one fixed example of every category to 93.8% on Banking77, and from 88.4% with the category list only to 94.6% on CLINC150; on long CFPB complaints, with renamed products merged after seeing the errors, it added 0.9 points over the category list only (the prompt).
Test every parameter your code sends. We only ran the settings above. If your code relies on anything else in the request or the response, test that path in a shadow run before you switch. Hold answers to your label list with a strict JSON schema, and count the invalid-output rate in the bake-off either way.
Shadow, then stage, then keep a way back
Shadow
Send a copy of real traffic to the replacement and compare its answers with your fine-tune's while it still runs. After 23 October 2026, compare with your saved answers and a daily sample checked by a person.
→ no surprises in productionStage
Route 1%, then 5%, 25% and 100% of traffic, watching per-class recall and the invalid-output rate at each step.
→ a broken category shows up at 1%Roll back
Keep one config change that moves all traffic to a fallback. Until 23 October the fallback can be your fine-tune; after that it has to be something that still exists.
→ a rollback that works after 23 October
Fallbacks that still work after 23 October 2026
- GPT-5.6 Luna with the prompt you tested, if it met your margin.
- A review queue: the model answers with one category or
deferwhen it is unsure (API reference), and deferred items go to a person. - The previous version of a model you own, if you own one.
Who can help migrate a fine-tuned gpt-4.1-nano
Listed by what each is good for. We are one of them, and we've said what to check about us too. Whoever you talk to, these 12 questions make their answers easy to compare.
| Who | Good for | Check first |
|---|---|---|
| Your OpenAI account team | Whether your organization can still create a fine-tuning job, and whether dedicated capacity can keep your model running after 23 October 2026 | The published dedicated-capacity offer is one sentence, with no terms, no price and no mention of fine-tuned models (deprecations, checked 8 October 2026) |
| OpenAI Partner Network firms, such as Cognita Reply | Enterprise programmes around OpenAI's current models (OpenAI's announcement, June 2026, and Cognita Reply's announcement, 29 July 2026, both checked 8 October 2026) | Their published offers are ChatGPT Enterprise, Codex and GPT-5.6 programmes. We found no fine-tune migration offer from them. |
| Microsoft or your Azure account team | Moving the fine-tune to Azure, if your subscription has already deployed gpt-4.1-nano | Eligibility is per subscription; try a small fine-tuning job there first. Deployments end on 14 October 2027 and cost $1.70 an hour each (cost page, checked 8 October 2026) |
| AWS, through partners such as Loka | An AWS-funded assessment that moves apps to OpenAI models on Amazon Bedrock (Loka, checked 8 October 2026) | Takes 4–6 weeks. We found no mention of fine-tunes or 23 October, and the funded share and who qualifies differ between Loka's pages. |
| A model gateway, such as TrueFoundry | Staged cutovers and fallbacks between models you call (their post on deprecations, checked 8 October 2026) | Their post covers routing and staged cutovers between models. Ask whether they also help choose or train the replacement. |
| Your own engineer, or a freelancer | Teams with someone who can build the labelled test set and run the bake-off | A baseline takes about a day. A tested, served model with a rollback plan takes longer. |
| ILLATE (us) | The bake-off on your data, at no charge before you commit: GPT-5.6 Luna, an embeddings classifier, a model you own, and your fine-tune's saved answers. The check runs inside your cloud account or on a machine you control, so your data stays with you, and you run the Luna column in your own OpenAI organization with your own key, so we never hold it. If Luna passes, we say so; setting up Luna with retrieved examples, tested on your data, is a USD 750 fixed package. Otherwise, a migration to a model you own is USD 3,000 fixed per classification or routing task; the first three clients pay nothing up front and owe nothing unless the final model meets the agreed margin (pricing). After 23 October, the 48-hour rescue is USD 1,500, paid on acceptance. | We're a small, founder-led company with no published client results yet. The evidence is the public benchmarks on this page, the open-source parity check and a sample decision report on public complaints. |
We saw the Loka, TrueFoundry and partner pages through search results, not on the live sites; recheck them before you rely on a detail.
Four questions to ask OpenAI first
- Which of our fine-tuned model IDs stop on 23 October 2026, and which on 14 January 2027?
- Can our organization still create a fine-tuning job on gpt-4.1-mini, and until when?
- Is dedicated capacity available to keep our fine-tuned gpt-4.1-nano running after 23 October 2026, and on what terms?
- Will gpt-5.6-luna support fine-tuning, and how much notice will you give before it retires?
Common questions
Can I download or move my fine-tuned gpt-4.1-nano weights?
No. OpenAI doesn't release the weights of models fine-tuned on its platform, and we found no export path on Azure either, so the model itself can't move. What moves is the task: your training data, a labelled test set and your fine-tune's saved answers.
Can I fine-tune GPT-5.6 Luna instead?
No. As of 8 October 2026, Luna's model page lists fine-tuning (v1/fine-tuning) as "Not supported", and so do the gpt-5-nano page and every GPT-5.x and GPT-6 model page we checked (Luna model page, checked 8 October 2026). Luna replaces your fine-tune with a prompt: your label list and examples go into every request.
Is Azure gpt-4.1-nano a safe bridge?
Only if your Azure subscription has already deployed gpt-4.1-nano. Microsoft lists the model as Deprecated, which means new customers can't create deployments, and that is checked per subscription; a new subscription under the same tenant doesn't inherit access. If you qualify, you retrain on Azure (the weights don't transfer), fine-tuned deployments run until 14 October 2027 at $1.70 an hour each, about $1,241 a month, plus tokens, and after that you migrate again. Sources: the Azure retirement schedule and cost page, checked 8 October 2026.
Can I still fine-tune gpt-4.1-mini on OpenAI?
Probably, if your organization has called a fine-tuned model in the last 60 days, until 6 January 2027. But it isn't a destination: OpenAI's notice of 14 October 2026 removes gpt-4.1-mini and gpt-4.1, and the fine-tunes built on them, on 14 January 2027 (OpenAI deprecations, read 21 October 2026). A new gpt-4.1-nano fine-tune stops even sooner, on 23 October 2026. By our reading of the 60-day rule, if your only fine-tunes are on the 23 October list, your window to train closes around 22 December 2026. Organizations that never fine-tuned have been refused since 7 May 2026; ours was, on 7 October.
Is GPT-5.6 Luna with a prompt as good as my fine-tune?
Sometimes, and it's the cheapest option to test first. We can't compare it with an OpenAI fine-tune, because we've never been able to score one. Against a fine-tuned 4B model, in tests we pre-registered, it tied when shown the 20 labelled examples most similar to each message on public support tickets (Banking77, 93.8% against 94.0%) and on assistant requests (CLINC150, 94.6% against 95.1%). On long consumer complaints (CFPB) it trailed by 2.0 points, 87.5% against 89.5%, with renamed products merged, a choice we made after seeing the errors (62.3% against 67.0% on the labels as filed). With one fixed example of every category it scored 87.2% on Banking77. Your tickets may be easier or harder. Test it on your own labelled data, and if it meets your margin, use it. Every table: GPT-5.6 Luna vs a fine-tuned model.
What happens if I miss 23 October 2026?
From that day OpenAI stops serving the fine-tune, so expect calls to it to fail rather than answer (our expectation, not something we've seen documented). You can no longer record what it would have said, so a replacement can only be measured against your labels. The task can still be rebuilt from the file you trained it with, if its labels were written or checked by people or come from your records: our 48-hour rescue does that, paid only once the new model meets the accuracy we agree. If GPT wrote the labels, tell us and we'll quote a labelling job or decline.
Can I train a new classifier on my fine-tune's outputs?
OpenAI's Services Agreement has a "Permitted Exception" (§17) for models "primarily intended to categorize, classify, or organize data (e.g., embeddings or classifiers), if these models are not distributed or made commercially available to third parties", but it doesn't lift the ban on reverse engineering, which the agreement defines to include "model extraction or stealing attacks" (§3.3(d)) (OpenAI Services Agreement, checked 8 October 2026). This is not legal advice. Our own rule is stricter for a quality reason: we train only on labels a person or your records confirmed, because a model trained on another model's answers copies its mistakes.
Can OpenAI keep my fine-tune running after 23 October 2026?
Possibly. The deprecations page says: "In some cases, developers may be able to provision dedicated capacity for continued access after a model's shutdown date. To explore this option, contact our sales team." It gives no terms or price and doesn't mention fine-tuned models, so ask your account team directly (OpenAI deprecations, checked 8 October 2026).
What is OpenAI's Decisions API, and should I test it?
It is an endpoint for predicate, choice and score questions, POST /v1/decisions, in public beta since 6 October 2026 and available on gpt-6-luna only (OpenAI Decisions guide, checked 8 October 2026). It can't be fine-tuned. On Banking77 we sent one choice question per message, with the 77 category names as choices, no descriptions and no examples. It scored 76.8% (95% CI 75.3–78.2), against 93.8% for GPT-5.6 Luna shown similar examples, and 10 of its 3,080 answers were refusals. It answered in 120 ms at the median and costs about $0.07 per 1,000 calls, from our OpenAI bill for 8-9 Oct. Choice descriptions might help; we didn't test them. Test it on your data before you rely on it.
Has OpenAI's recommended replacement for gpt-4.1-nano changed before?
Yes. As recorded by a public mirror of the deprecations page, it named gpt-5-nano on 25 April 2026, gpt-5.4-nano on 13 May and gpt-5.6-luna on 4 August; the dates are when the mirror's copy changed (change history of the mirror, checked 8 October 2026). gpt-5-nano-2025-08-07 itself shuts down on 11 December 2026, and gpt-5.4-nano on 1 April 2027 (notice of 1 October 2026) (OpenAI deprecations, checked 10 October 2026). Pin exact model IDs in your code and recheck the deprecations page before you plan.
How many labelled tickets do I need for the bake-off?
5,000 or more gives a firm verdict, with a test slice of 1,000 or more; 1,000 to 5,000 is usually enough; under 1,000 is a first look. More categories need more tickets, because per-class recall on a rare category needs enough examples of it. The labels should come from people or your records, not from the fine-tune being replaced.
Want the bake-off run on your tickets?
Start with a 20-minute call or a short email; no data needed. Then the bake-off runs where your labelled examples and your fine-tune's saved answers already are: inside your cloud account or on a machine you control (how to prepare the file). Nothing leaves your infrastructure. Within 2 business days of getting access you get a straight answer, including "use Luna" when Luna passes. If a model you own is the better choice, the migration is a fixed fee; the first three clients pay nothing up front and owe nothing unless the final model meets the agreed margin (pricing).