DeepSeek V4 Pro (0813) vs MiniMax M3
Qual usar, quando — veredito curado, não uma tabela de benchmark
Ambos compartilham um contexto de 1,000,000 tokens e abrangem chat, código, raciocínio e ferramentas, então a diferença é o preço e as entradas: o minimax-m3 custa $0.3 na entrada e $1.2 na saída contra $1.32 e $3.96 do deepseek-v4-pro-0813, tornando o modelo da DeepSeek 4.4x a taxa de entrada e 3.3x a taxa de saída. Escolha o minimax-m3 para trabalhos baratos de alto volume, para entrada de imagem ou vídeo, por sua saída máxima maior de 524288 tokens, ou quando quiser o thinking desativado. Escolha o deepseek-v4-pro-0813 quando você quiser especificamente o modelo apenas de texto mais recente de 2026-08-13 e puder absorver a tabela de preços mais alta.
Preços
| DeepSeek V4 Pro (0813) | MiniMax M3 | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $1.32 | $0.3 | 4.4× |
| Saída / 1M tokens | $3.96 | $1.2 | 3.3× |
| Leitura de cache / 1M tokens | $0.132 | $0.06 | 2.2× |
| Escrita de cache | sem cobrança separada | sem cobrança separada | — |
Tarifas do catálogo em tempo real no momento do build; a página de cada modelo contém o cartão atual.
Onde eles se posicionam — preço de entrada por 1M tokens entre todos os 63 modelos de chat nesta unidade de cobrança (escala logarítmica)
Capacidades
| DeepSeek V4 Pro (0813) | MiniMax M3 | |
|---|---|---|
| Uso de ferramentas | sim | sim |
| Controle de raciocínio | sempre ativo | configurável |
| Saída estruturada | sim | — |
| Cache de prompt | implícito (automático) | implícito (automático) |
| Tempo de vida do cache | no fixed TTL (evicted when unused) | não publicado |
| Prefixo mínimo em cache | não publicado | 512 tokens |
Especificações
| DeepSeek V4 Pro (0813) | MiniMax M3 | |
|---|---|---|
| Modalidades de entrada | texto | texto imagem vídeo |
| Modalidades de saída | texto | texto |
| Lançamento | 2026-08-13 | 2026-06-01 |
| Janela de contexto | 1M | 1M |
| Saída máxima | 393K | 524K |
| Parâmetro de raciocínio | reasoning_effort |
|
| Valores aceitos | reasoning_effort
| thinking.type
reasoning_split
|
| Padrão | — | adaptive: thinking on, with the model deciding when extra reasoning helps |
As especificações são transcritas da documentação de cada fornecedor; uma linha que um fornecedor não publica é omitida em vez de ser inferida. Fontes completas: DeepSeek V4 Pro (0813) · MiniMax M3
Um prompt, ambos os modelos — medidos pelo gateway
DeepSeek V4 Pro (0813) passou · 3 sentences
Enabling reasoning causes the model to generate a hidden chain-of-thought with many additional tokens before producing the final answer, which sharply increases compute consumption per request. Those extra reasoning tokens are billed at the same or higher rates, so total usage doubled even though the volume of final outputs stayed similar. We can control this by adjusting reasoning effort, setting token limits, or routing only complex requests through reasoning mode.
saída 308 tok (+226 pensamento) latência 5.1 s
MiniMax M3 passou · 3 sentences
Reasoning-enabled models deliberately produce extensive internal "chain-of-thought" tokens before answering, often consuming 5–10x more tokens per query than a standard model. Because LLM providers bill per token for both that reasoning trace and the final response, your cost-per-query rises proportionally—and that multiplier is the primary driver of the doubled bill. The right response isn't to disable reasoning, but to route only genuinely complex queries to it while keeping routine traffic on the cheaper standard tier, which typically recovers 60–80% of the cost without sacrificing quality where it matters.
saída 665 tok (+548 pensamento) latência 5.7 s
Cumprimento da instrução (exatamente três frases — contáveis), ajuste ao público (registro de CFO), e a lacuna de cobrança do pensamento oculto que os medidores de tokens abaixo expõem.
DeepSeek V4 Pro (0813) passou · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The bug is that `cur` was initialized to `0` and only counted adjacent matching pairs, so a run of length `n` produced `n - 1` (or `0` for a single element) instead of `n`. The code also reset to `0` on a change, when the new run should start at length `1`. Initializing `cur` and `best` to `1` fixes both the single-element case and runs ending at the last index.
saída 1315 tok (+1130 pensamento) latência 16.9 s
MiniMax M3 passou · 8/8 cases
The bug is in the loop bound: `range(1, len(xs))` iterates from index 1 up to but not including `len(xs) - 1`... wait, actually it goes up to `len(xs) - 1`, so the last index is included. The real problems are two: 1. **Starting `best` and `cur` at 0** and iterating from index 1 means a single-element list (`len(xs) == 1`) never enters the loop, so the function returns `0` instead of `1`. The fix is to either seed `best = cur = 1` when `xs` is non-empty, or include index 0 in the loop logic. 2. **Missing the final run**: the function only updates `best` *inside* the loop when it finds a continuation. If the longest run ends at the very last element, the loop body never gets to compare it after the increment — actually it does, but only if the run is longer than the previous `best`. […]
saída 464 tok latência 7.9 s
Se a correção é de fato certa (executável), a densidade da explicação, e a eficiência em tokens numa tarefa delimitada.
DeepSeek V4 Pro (0813) passou · 5/5 fields, guidance null
{"company":"Meridian Robotics","quarter":"September quarter","revenue_usd_m":412,"growth_pct":11.0,"guidance":null}
saída 2155 tok (+2121 pensamento) latência 26.0 s
MiniMax M3 passou · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ```
saída 2212 tok (+2161 pensamento) latência 23.3 s
Obediência ao esquema (sem campos inventados), pressão de alucinação (guidance é explicitamente retida), e diferenças no caminho de saída estruturada.
DeepSeek V4 Pro (0813) passou · 121 words, 0 banned, 1 question
Introducing cross-provider prompt caching in our API gateway. Send a prompt once, and the gateway stores its computed prefix across Anthropic, OpenAI, and other LLM providers. Subsequent requests with the same prompt hit the cache, cutting latency and token costs while keeping outputs consistent across routing decisions and provider failovers. Teams can route identical prompts between providers without reprocessing shared context or lengthy system instructions. How much could you save on repeated prompt prefixes? The cache respects provider-specific key formats, handles TTLs automatically, and works with streaming and batch requests. Enable it with one configuration flag—no changes to your application code. Available today on all plans. Monitor cache hit rates, token savings, and provider-specific performance metrics in the live dashboard.
saída 2845 tok (+2694 pensamento) latência 25.5 s
MiniMax M3 passou · 120 words, 0 banned, 1 question
Introducing PromptCache, our new API gateway feature that caches prompts across multiple LLM providers. Developers can store prompt-completion pairs centrally, reducing redundant inference calls and lowering costs without sacrificing quality. How will your workflow change when repeated requests resolve instantly from a shared cache layer? The gateway intercepts outgoing requests, checks for matching prompt fingerprints, and serves previously generated completions when available, falling back to the original provider on misses. Compatible with OpenAI, Anthropic, Cohere, and custom endpoints, PromptCache integrates with existing routing rules and supports TTL, versioning, and per-tenant namespaces. Teams now gain predictable latency, reduced token spend, and improved throughput during traffic spikes today. […]
saída 3256 tok (+2892 pensamento) latência 21.5 s
Obediência às restrições (orçamento de palavras, lista de palavras proibidas, a única pergunta), impressão digital de estilo, e controle de comprimento.
Alterne entre eles com uma linha
Ambos os IDs estão em todas as abas abaixo — o par de linhas destacado é a única edição. Mesmo endpoint, mesma chave, mesmo formato de requisição.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="deepseek-v4-pro-0813",
# model="minimax-m3", # descomente esta linha, comente a linha acima
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "deepseek-v4-pro-0813",
// model: "minimax-m3", // descomente esta linha, comente a linha acima
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro-0813",
# "model": "minimax-m3", # descomente esta linha, comente a linha acima
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "deepseek-v4-pro-0813",
// Model: "minimax-m3", // descomente esta linha, comente a linha acima
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("deepseek-v4-pro-0813")
// .model("minimax-m3") // descomente esta linha, comente a linha acima
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Qual é mais barato, DeepSeek V4 Pro (0813) ou MiniMax M3?
MiniMax M3 é mais barato em entrada / 1m tokens ($0.3 vs $1.32, com 4.4× de diferença). Outras linhas podem apontar para o outro lado — a tabela acima traz o quadro completo, e o custo real depende do seu mix.
Posso fazer um teste A/B de DeepSeek V4 Pro (0813) contra MiniMax M3 sem duas integrações?
Sim. Ambos são servidos pelo mesmo endpoint compatível com OpenAI com uma única chave de API — a troca é uma alteração de uma linha na string do modelo, de modo que você pode rotear uma fração do tráfego para cada um e comparar as faturas diretamente.
DeepSeek V4 Pro (0813) e MiniMax M3 suportam prompt caching?
Sim — ambos cobram leituras em cache abaixo da sua taxa de entrada, então cargas de trabalho com warm-prefix custam menos do que as taxas listadas sugerem. As linhas exatas de leitura em cache estão na tabela de preços acima.