DeepSeek V4.1 Flash
Use o DeepSeek V4.1 Flash com a API oficial Chat Completions, Responses ou Anthropic Messages: contexto de 1M de tokens, raciocínio ligado ou desligado e entrada de imagens.
O DeepSeek V4.1 Flash é o modelo rápido e de baixo custo da DeepSeek (a própria API da DeepSeek o chama de deepseek-flash). Por padrão ele raciocina antes de responder, e você pode desligar o raciocínio ou definir o nível dele a cada requisição. Envie a requisição oficial da DeepSeek para o SeedRouter: altere a URL base e a chave de API, mantenha o corpo.
ID do modelo
| ID do modelo | Janela de contexto | Saída máxima | Nível de raciocínio | Padrão |
|---|---|---|---|---|
deepseek-v4.1-flash | 1M tokens | 384K tokens (393,216) | none, low, high, max | Raciocínio ligado, high |
Entrada: texto e imagens. Saída: texto. Consulte a página do modelo para os preços atuais.
Exemplo rápido
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Give me three names for a coffee shop."}]
}'Endpoints
| Formato | Método e caminho | Autenticação |
|---|---|---|
| Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> ou Authorization: Bearer <key>, mais anthropic-version |
Os três retornam o formato de resposta oficial da DeepSeek, com ou sem streaming. Mantenha a chave de API em código do lado do servidor.
Parâmetros
Campos do Chat Completions:
| Nome | Tipo | Obrigatório | Padrão | Observações |
|---|---|---|---|---|
model | string | Sim | — | deepseek-v4.1-flash. |
messages | object[] | Sim | — | Mensagens de texto; imagens como partes image_url (veja Entrada de imagem). |
thinking.type | enum | Não | enabled | enabled ou disabled. |
reasoning_effort | enum | Não | high | none (raciocínio desligado), low, high ou max. minimal é executado como low, e medium e xhigh como high. |
max_tokens | integer | Não | 8K, ou 64K com raciocínio (128K no nível max) | 1–393216. Inclui o raciocínio. |
stop | string or string[] | Não | — | Sequências de parada. |
response_format | object | Não | {"type": "text"} | text ou json_object. json_schema retorna 400. |
tools | object[] | Não | — | Ferramentas de função; strict é aceito. |
tool_choice | string or object | Não | none sem ferramentas, auto com ferramentas | auto e none são aplicados. required e uma função nomeada são aceitos, mas não forçam uma chamada. |
stream | boolean | Não | false | Transmitir eventos enviados pelo servidor. |
stream_options.include_usage | boolean | Não | false | Todo chunk traz usage, com valor null exceto no último. |
temperature | number | Não | 1 | 0–2. Sem efeito no modo de raciocínio. |
top_p | number | Não | 1 | 0–1. No modo de raciocínio, valores abaixo de 0.95 são executados como 0.95; sem raciocínio, fica em 1. |
user_id | string | Não | — | Identificador do seu usuário final. |
logprobs, top_logprobs | — | Não | — | Aceitos (top_logprobs de 0 a 20), mas nenhuma probabilidade logarítmica é retornada. |
frequency_penalty, presence_penalty | — | Não | — | Obsoletos na DeepSeek: aceitos, sem efeito. |
Raciocínio e nível de raciocínio
O raciocínio vem ligado por padrão no nível high. Desligue-o com "thinking": {"type": "disabled"} ou "reasoning_effort": "none"; a resposta chega na hora e custa menos tokens de saída. max dedica o máximo de raciocínio a problemas difíceis. O raciocínio volta em reasoning_content, ao lado de content, e é cobrado como tokens de saída.
Quando uma requisição traz tools, envie de volta cada mensagem anterior do assistente com seu reasoning_content, como a DeepSeek exige em conversas com chamadas de ferramentas.
Entrada de imagem
As imagens vão no content de uma mensagem do usuário como partes image_url, com uma URL http(s) pública ou uma data URI em base64:
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}Uma URL pode ter no máximo 8192 caracteres e apontar para uma imagem de no máximo 32 MiB. Substitua a URL de exemplo por uma imagem sua publicamente acessível.
Dimensões de cobrança
Consulte as taxas atuais na página do modelo. Uma requisição é cobrada pelos tokens que usa:
- tokens de entrada que não estão no cache (
prompt_cache_miss_tokens), - tokens de entrada que estão no cache (
prompt_cache_hit_tokens), - tokens de saída, incluindo raciocínio.
As taxas dependem de quando a requisição é executada. O horário de pico vai das 01:00 às 04:00 e das 06:00 às 10:00 UTC, de segunda a sexta; todas as outras horas, incluindo fins de semana, ficam fora do horário de pico, com metade das taxas do horário de pico. A cobrança é retirada do usage informado com a resposta concluída. Uma requisição que falha não é cobrada. Os registros de uso da sua conta mostram a cobrança exata para cada requisição.
Saída
Uma requisição Chat Completions sem streaming retorna:
{
"id": "bc86988e-...",
"object": "chat.completion",
"created": 1790585983,
"model": "deepseek-v4.1-flash",
"choices": [{
"index": 0,
"finish_reason": "stop",
"logprobs": null,
"message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
}],
"usage": {
"prompt_tokens": 36,
"completion_tokens": 39,
"total_tokens": 75,
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 36,
"prompt_tokens_details": {"cached_tokens": 0},
"completion_tokens_details": {"reasoning_tokens": 0}
}
}Com "stream": true cada chunk traz um delta com reasoning_content ou content, e o último chunk antes de data: [DONE] traz o uso.
API Responses e Codex
POST /v1/responses aceita o corpo da Responses: input, instructions, max_output_tokens, reasoning.effort (como reasoning_effort acima), text.format (text ou json_object; json_schema é aceito, mas não aplicado), tools (function e a ferramenta personalizada apply_patch), tool_choice, temperature, top_p, top_logprobs, user e stream. O raciocínio volta como um item reasoning com conteúdo reasoning_text, e um stream traz eventos numerados de response.created até response.completed, com o raciocínio em eventos response.reasoning_text.delta. A API não guarda estado: previous_response_id, conversation e ferramentas integradas como web_search são ignorados, então envie a conversa inteira em input.
Para usar o DeepSeek V4.1 Flash no Codex, adicione um provider em ~/.codex/config.toml e defina SEEDROUTER_API_KEY:
model = "deepseek-v4.1-flash"
model_provider = "seedrouter"
show_raw_agent_reasoning = true
[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"Formato Anthropic Messages
Código escrito para a API Anthropic Messages também pode chamar o DeepSeek V4.1 Flash: envie o corpo de Mensagens para /v1/messages com "model": "deepseek-v4.1-flash". system, max_tokens, tools, tool_choice (auto, none), thinking (enabled, disabled) e temperature (0–2) são aplicados; output_config.effort e metadata.user_id são aceitos; top_k, stop_sequences e tool_choice any não têm efeito. O raciocínio volta como blocos thinking. As imagens são enviadas como fontes base64 ou url.
Erros
Os erros usam {"error": {"code": ..., "message": "..."}} (o endpoint de Messages usa o formato de erro da Anthropic). O code é um código do catálogo de erros comum. Requisições falhadas não são cobradas.
Dicas
- Desligue o raciocínio em etapas simples e rápidas, como classificação ou extração; mantenha-o ligado para raciocínio, matemática e código.
- Coloque o contexto longo e reutilizado no início do prompt: a entrada em cache é cobrada por uma fração da taxa de entrada.
- Rode grandes jobs em lote fora do horário de pico, quando todas as taxas caem pela metade.
