GPT-5.1, o3, GPT-5.4 Nano shutdown dates and the Sume model field

OpenAI lists shutdowns for gpt-5.1, gpt-5.3-codex, gpt-5.4-nano (Apr 1, 2027) and o3 (Dec 11, 2026). A Sume Format run with those ids gets a 400.

4 min readSume
All posts

OpenAI's deprecations page, with an entry dated 2026-10-01, lists gpt-5.1, gpt-5.3-codex and gpt-5.4-nano for shutdown on April 1, 2027, and o3-2025-04-16 and gpt-5-2025-08-07 for December 11, 2026. If an old script sends one of those ids as the model of a Sume Format run, it does not run: an id outside the Agents catalog is a 400 invalid_request.

So the shutdown date is not the deadline for a Sume call. The ids were never in Sume's catalog, and the error is immediate.

What does OpenAI say will replace them?

The page names replacements per model. Dates and replacements below are from the deprecations table; the shutdown date is when the API stops serving the model.

OpenAI deprecations page, entries read 2026-10-03
ModelShutdownRecommended replacement
gpt-5.3-codexApr 1, 2027gpt-6-sol
gpt-5.1Apr 1, 2027gpt-6-sol
gpt-5.4-nanoApr 1, 2027gpt-6-luna
gpt-5-2025-08-07Dec 11, 2026gpt-5.6-sol
o3-2025-04-16Dec 11, 2026gpt-5.6-sol

What happens on Sume if I send one of these ids?

The call doc defines model as an Agents catalog id for the LLM that orchestrates the run, and says an id outside the catalog is 400 invalid_request. In the repository's catalog code the 400 message reads model is not an Agents catalog model id with the field named model. The ids gpt-5.1, gpt-5.3-codex, gpt-5.4-nano, gpt-5 and o3 resolve to nothing there, so each is rejected.

The one retired OpenAI spelling the call doc names is gpt-5.6-sol: a request for it runs on gpt-6-sol, and the receipt echoes the id that ran. That is a catalog alias, not a general rule that retired ids keep working.

Which id should the replacement be?

OpenAI's replacement column points at gpt-6-sol and gpt-6-luna for these three. On Sume, gpt-6-sol is accepted on the default catalog. gpt-6-luna is a catalog row that is gated, meaning it appears only where the workspace catalog lists it, so check the call before relying on it. The newer gpt-6.1-sol is also accepted.

How do I find the stale ids in my scripts?

A 400 on the create call is cheap to find in a test run. A script that only ever runs on a schedule is where a stale id can sit unnoticed for months.

  • Search your Format call code and bulk-run item bodies for a model key; each bulk item has the same body as a single run, so each can carry its own.
  • Compare each value with the shutdown table above.
  • Prefer omitting model when you do not need a specific one, so the platform default applies.
  • Read the model echoed in the receipt of a test run to confirm what actually ran.

How much notice does OpenAI give?

The deprecations page states minimum notice periods: at least six months for generally available models, at least three months for specialized variants such as the chat, Codex and deep research variants, and a much shorter period for previews. The gpt-5.3-codex entry falls in the specialized group.

None of that notice period protects a Sume call, because the call never depended on the old id being served. It protects direct OpenAI integrations, which is the other place these ids may live in your code. If you maintain both, keep one list of model ids per integration, with the date each one was last checked against the vendor page.

What should a Sume caller do today?

Nothing urgent, if the call already omits model or uses a catalog id. Run one test call per saved script, read the echoed model in the receipt, and replace any id that returns a 400. The runs doc describes the receipt fields. Treat the shutdown dates above as the vendor's schedule for its own API, and the catalog as the only list that matters for a Format run.

Sources

Related posts

More in Models

All Models posts

Written by Sume