SunsetDiff

Model Not Exist

deepseek-chat and deepseek-reasoner stopped on 2026-07-24. A call that still sends one of those ids fails. The JSON below is a real DeepSeek body from a public log. It was not logged for those two ids after the retirement.

Error text

{"error":{"message":"Model Not Exist","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}

Quoted from GitHub issue NoFxAiOS/nofx#912, checked October 25, 2026.

The DeepSeek API changelog for 2026-04-24 says the legacy names deepseek-chat and deepseek-reasoner will be discontinued on 2026-07-24. During that period they point to the non-thinking mode and the thinking mode of deepseek-v4-flash, respectively. The V4 preview note says those two names are fully retired and inaccessible after Jul 24th, 2026, 15:59 (UTC Time). The 2026-09-10 changelog says deepseek-v4-flash and deepseek-v4-flash-vision-exp have been retired, and that those names are temporarily routed to V4.1 Flash. It also says to use deepseek-flash. The pricing page lists deepseek-flash (DeepSeek-V4.1-Flash-1017) and deepseek-v4-pro (DeepSeek-V4-Pro-0813). It says the legacy names deepseek-v4-flash and deepseek-v4-flash-vision-exp are still accepted, the models have been retired, and requests are served by DeepSeek-V4.1-Flash-1017. The error-codes page lists 400, 401, 402, 422, 429, 500, and 503. It does not print model_not_found, Model Not Exist, or a JSON body. The WorkBuddy page says `Model Not Found` or `404`: check whether the model id is exactly deepseek-flash. That line is client troubleshooting, not an API body. GitHub issue NoFxAiOS/nofx#912, opened 2025-11-11, logs HTTP 400 from https://api.deepseek.com/v1/chat/completions for model name DeepSeek-V3.2-Exp, with the JSON in the Error text block. GitHub issue AstrBotDevs/AstrBot#7286, opened 2026-04-02, logs the same message, type, and code as a Python error for the prefixed id deepseek/deepseek-reasoner sent to https://api.deepseek.com. That was a prefix bug, and it was before 2026-07-24. GitHub issue aaif-goose/goose#13114 says selecting deepseek-reasoner fails with model_not_found and does not print a JSON body. This page did not find a public log that pastes the JSON above for deepseek-chat or deepseek-reasoner after 2026-07-24. Source: DeepSeek API changelog, checked October 25, 2026.

Affected models

Retired names, the replacement named on the 2026-04-24 changelog, and the two ids on the current pricing page.
Model idWhat the source says
deepseek-chat Discontinued 2026-07-24. Until then, the changelog says it points to the non-thinking mode of deepseek-v4-flash.
deepseek-reasoner Discontinued 2026-07-24. Until then, the changelog says it points to the thinking mode of deepseek-v4-flash.
deepseek-v4-flash Named as the model those two ids pointed to. The 2026-09-10 changelog says it has been retired and the name is temporarily routed to V4.1 Flash. No shutdown day is printed.
deepseek-flash Current pricing-page id for DeepSeek-V4.1-Flash-1017. The changelog says to use this name.
deepseek-v4-pro Current pricing-page id for DeepSeek-V4-Pro-0813. The 2026-04-24 changelog also says the model parameter can be set to this id. No shutdown date is published.

Fix

Raw SDK

The quick start sets base_url to https://api.deepseek.com and the model to deepseek-flash or deepseek-v4-pro. The thinking-mode page says the OpenAI-format toggle is thinking type enabled or disabled, passed in extra_body, and that thinking is enabled by default.

deepseek-chat was the non-thinking mode, so the sample sets thinking type disabled. deepseek-reasoner was the thinking mode, so use type enabled for that old id. The quick start says to apply for an API key. This sample does not include one.

Python, replacement for deepseek-chat

from openai import OpenAI
client = OpenAI(base_url="https://api.deepseek.com")
response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Hello"}],
    extra_body={"thinking": {"type": "disabled"}},
)

Python, replacement for deepseek-reasoner

from openai import OpenAI
client = OpenAI(base_url="https://api.deepseek.com")
response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Hello"}],
    extra_body={"thinking": {"type": "enabled"}},
)

Node

import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.deepseek.com" });
const response = await client.chat.completions.create({
  model: "deepseek-flash",
  messages: [{ role: "user", content: "Hello" }],
});

Source: DeepSeek API quick start, checked October 25, 2026.

LiteLLM

This page does not show a LiteLLM call. The DeepSeek quick start sample uses the OpenAI SDK with base_url https://api.deepseek.com and model deepseek-flash or deepseek-v4-pro.

Source: DeepSeek API quick start, checked October 25, 2026.

Vercel AI SDK

This page does not show an AI SDK call. The quick start sample is the OpenAI SDK. Set the host to https://api.deepseek.com and the model to deepseek-flash or deepseek-v4-pro.

Source: DeepSeek API quick start, checked October 25, 2026.

Switch guides

All request errors

Questions

Does deepseek-chat return this JSON after July 24, 2026?

This page did not find a public log that pastes this JSON for deepseek-chat or deepseek-reasoner after 2026-07-24. The quoted body is from NoFxAiOS/nofx#912 on 2025-11-11, HTTP 400, for model name DeepSeek-V3.2-Exp. AstrBotDevs/AstrBot#7286 logs the same message on 2026-04-02 for a prefixed id. The official error-codes page does not print the body.

Which model id should I send instead?

The pricing page lists deepseek-flash and deepseek-v4-pro. The 2026-04-24 changelog says deepseek-chat and deepseek-reasoner pointed at deepseek-v4-flash. The 2026-09-10 changelog says that model has been retired and to use deepseek-flash. deepseek-v4-flash is still accepted and routed.

Why do some reports say model_not_found?

aaif-goose/goose#13114 says selecting deepseek-reasoner fails with model_not_found and does not print a JSON body. The WorkBuddy page says Model Not Found or 404 when the id is not exactly deepseek-flash. Those words are not the JSON in the Error text block.

Deprecation alerts

We email you before models shut down. Unsubscribe anytime.

Deprecation alert signup
Providers (optional)