Kimi K3 vs MiniMax M3
MiniMax M3 se ha retirado de nuestro catálogo. Las cifras de abajo son sus últimas tarifas publicadas. Ya no atendemos llamadas a ese modelo; al otro de esta comparativa, sí.
Cuál usar y cuándo
Ambos aceptan texto, imagen y vídeo de entrada y devuelven texto, con chat, código, razonamiento y uso de herramientas en ambos lados, así que la diferencia real es precio y margen de salida: kimi-k3 cuesta 10x más en entrada, 12.5x más en salida y 5x más en lecturas cacheadas que minimax-m3. Elige kimi-k3 cuando necesites su contexto de 1048576 tokens y su salida máxima igual de 1048576 tokens para generar artefactos muy largos de una pasada, ya que minimax-m3 limita la salida a 524288. Elige minimax-m3 para volumen sensible al coste, su indicador de contexto largo y la opción de apagar el pensamiento, que kimi-k3 no permite.
Benchmarks
MiniMax M3: el proveedor no ha publicado resultados de benchmarks.
Publicado por los proveedores: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Precios
| Kimi K3 | MiniMax M3 | Δ | |
|---|---|---|---|
| Entrada / 1M tokens | $3 | $0.3 | 10× |
| Salida / 1M tokens | $15 | $1.2 | 13× |
| Lectura de caché / 1M tokens | $0.3 | $0.06 | 5× |
| Escritura en caché | - | sin cargo aparte | - |
Tarifas tomadas del catálogo en vivo al generar el sitio; la página de cada modelo tiene la ficha de precios actualizada.
Dónde queda cada uno: precio de entrada por 1M de tokens entre los 76 modelos de chat que se facturan en esta unidad (escala logarítmica)
Capacidades
| Kimi K3 | MiniMax M3 | |
|---|---|---|
| Uso de herramientas | sí | sí |
| Control del razonamiento | siempre activo | configurable |
| Salida estructurada | sí | - |
| Caché de prompts | implícito (automático) | implícito (automático) |
| Duración de la caché | no publicado | no publicado |
| Prefijo mínimo en caché | no publicado | 512 tokens |
Especificaciones
| Kimi K3 | MiniMax M3 | |
|---|---|---|
| Modalidades de entrada | texto imagen vídeo | texto imagen vídeo |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2026-07-16 | 2026-06-01 |
| Ventana de contexto | 1M | 1M |
| Salida máxima | 1M | 524K |
| Parámetro de razonamiento | reasoning_effort (top-level; the thinking object is not accepted) |
|
| Valores aceptados | reasoning_effort
| thinking.type
reasoning_split
|
| Valor por defecto | max | adaptive: thinking on, with the model deciding when extra reasoning helps |
Las especificaciones se transcriben de la documentación de cada proveedor; si un proveedor no publica un dato, la fila se omite en vez de deducirlo. Fuentes completas: Kimi K3 · MiniMax M3
Cambia de uno a otro con una sola línea
Los dos ids aparecen en todas las pestañas de abajo; lo único que cambia es el par de líneas resaltadas. El endpoint, la clave y la estructura de la solicitud son los mismos.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.chat.completions.create(
model="kimi-k3",
# model="minimax-m3", # descomenta esta línea, comenta la de arriba
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: "kimi-k3",
// model: "minimax-m3", // descomenta esta línea, comenta la de arriba
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": "kimi-k3",
# "model": "minimax-m3", # descomenta esta línea, comenta la de arriba
"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: "kimi-k3",
// Model: "minimax-m3", // descomenta esta línea, comenta la de arriba
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("kimi-k3")
// .model("minimax-m3") // descomenta esta línea, comenta la de arriba
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));Preguntas frecuentes
¿Cuál es más barato, Kimi K3 o MiniMax M3?
MiniMax M3 es más barato en Entrada / 1M tokens ($0.3 frente a $3, una diferencia de 10×). En otras filas puede ser al revés: la tabla de arriba recoge todas las tarifas, y el coste real depende de tu combinación de uso.
¿Puedo hacer pruebas A/B de Kimi K3 frente a MiniMax M3 sin dos integraciones?
Sí. Los dos se sirven desde el mismo endpoint compatible con OpenAI y con una sola clave API. Para cambiar de uno a otro basta con tocar una línea, el nombre del modelo, así que puedes mandar una parte del tráfico a cada uno y comparar directamente las facturas.
¿Admiten Kimi K3 y MiniMax M3 caché de prompts?
Sí. Los dos cobran las lecturas de caché por debajo de su tarifa de entrada, así que las cargas de trabajo que reutilizan un prefijo ya cacheado cuestan menos de lo que sugieren los precios de lista. Las tarifas exactas de lectura de caché están en la tabla de precios de arriba.