At a glance

Model IDdeepseek/deepseek-v4.1-flash
Free IDdeepseek/deepseek-v4.1-flash:free
Made byDeepSeek
Context window1,048,576 tokens
Longest reply943,718 tokens
InputText, images
ReasoningOptional: low, high, max
Tool callingYes

DeepSeek V4.1 Flash is a sparse mixture-of-experts model from DeepSeek, and the first one built on the company's Causal Encoder-Decoder (CED) architecture. Its listing gives it 8B active parameters on input. It accepts images as well as text, supports tool calling and structured output, and has a context window of just over a million tokens.

Reasoning: on, off, or somewhere between

Reasoning is optional on this model. It can answer straight away, or spend tokens thinking first at low, high or max effort. Thinking helps with plot logic, puzzles and code. For ordinary character chat it mostly adds wait time before the first word appears.

To pick an effort without touching your preset, add it to the model name in square brackets: deepseek/deepseek-v4.1-flash:free[low] or deepseek/deepseek-v4.1-flash:free[high]. The suffix overrides any reasoning setting in the request body. On the free ID each call counts as one request whatever the effort, so higher effort costs you time, not allowance. The modifier reference lists every suffix.

Images

Because the model reads images, you can send a picture with a message in apps that support image attachments, or through the API as an image_url content part. It writes text only; it does not generate images.

V4.1 Flash or V4 Flash 0731?

Two DeepSeek Flash models are on the free list. They share the million-token window and the same reasoning efforts. V4.1 Flash takes images and is the newer architecture; V4 Flash 0731 is text-only, is listed at 13B active out of 284B total parameters, and allows a shorter maximum reply. If your chats are text-only, try the same scene on both and keep the one whose writing you prefer.

Long context in practice

A million tokens is far more than a chat app usually sends, and long prompts take longer to process. Set your app's context size to what the story needs rather than the maximum. If your key uses a memory layer, the layer decides how much history goes into each request.

Connect it to your chat app

  1. Create an API key on the API Keys page.
  2. In SillyTavern, ChubAI, Agnai or RisuAI, choose an OpenAI-compatible provider and set the base URL to https://composite.lucidity.sh/v1. JanitorAI wants the full URL: https://composite.lucidity.sh/v1/chat/completions.
  3. Paste the key, then type deepseek/deepseek-v4.1-flash:free as the model name.
  4. Send a short message to check the connection before you load a long chat.

Step-by-step setup for each app is in the JanitorAI and SillyTavern guides, and the docs hub covers the others.

From code, it is a normal OpenAI-compatible request:

curl https://composite.lucidity.sh/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek/deepseek-v4.1-flash:free", "messages": [{"role": "user", "content": "Hello"}]}'

Free access (as of October 21, 2026)

On October 21, 2026, this model is on Composite's free list as deepseek/deepseek-v4.1-flash:free. The plain deepseek/deepseek-v4.1-flash stays paid. Every account shares 80 requests a day across all of the free models, separate from Synth's count, and the count resets at midnight UTC. Credits and plans do not raise it.

The free list changes. Check the free models on the Models page for the current set, and the features guide for the rules. A :free id that is no longer on the list returns a model-not-found error and charges nothing. When the 80 requests are used up, requests stop with an error until the reset; Composite never charges your credits to continue. You can switch to deepseek/deepseek-v4.1-flash on credits or a plan, or to Synth.

More