Introducción
Chat compatible con OpenAI para Grok 4.3: un arreglo de mensajes que lleva partes de texto e imagen, cinco niveles de esfuerzo de razonamiento incluido none, y respuestas de hasta 900.000 tokens.
Grok 4.3 es el Grok rápido y confiable de xAI, publicado como un único endpoint compatible con OpenAI en /v1/chat/completions. Una solicitud admite como máximo 256 turnos ordenados y hasta 1.000.000 de tokens, con el contenido de las imágenes contado dentro de ese presupuesto, y devuelve o bien un objeto chat.completion o bien un flujo SSE de fragmentos. Desde el 15 de mayo de 2026 xAI redirige grok-4-fast, grok-4-1-fast, grok-4-0709, grok-code-fast-1 y grok-3 hacia aquí, así que este es el modelo sobre el que corren hoy esas integraciones.
Funciones y aspectos destacados
none es un interruptor, no un nivel más bajo
El parámetro reasoning_effort acepta none, low, medium, high y xhigh, y el valor por defecto de este modelo es low, no high. En none el modelo responde sin ninguna pasada de deliberación: una clasificación de sí o no vuelve como un solo token, en vez de un párrafo de razonamiento seguido de la palabra que buscabas. El esfuerzo se cobra como tokens de salida, así que el nivel elegido mueve a la vez la latencia y la cuenta. De los modelos Grok publicados aquí, solo este ofrece none.
La ventana es de 1.000.000 de tokens y el umbral de contexto largo sigue en 200.000
Son dos números distintos, y en la distancia entre ambos viven las sorpresas. La solicitud pasa a la tarifa de contexto largo desde 200.000 tokens combinados de entrada y entrada en caché, que es una quinta parte de lo que este modelo todavía acepta: hay entonces una franja amplia donde el prompt cabe de sobra y ya se cobra a la tarifa larga. La estimación que se muestra antes de enviar nombra el tramo en el que cae la solicitud.
Parámetros de la solicitud
| Parámetro | Obligatorio | Descripción |
|---|---|---|
messages | Sí | 256 turnos como máximo. El contenido puede mezclar partes de texto e |
reasoning_effort | No | none, low, medium, high o xhigh. low es el valor por defecto y none se salta por completo la deliberación; el esfuerzo se gasta en tokens de salida. |
max_tokens | No | Limita la respuesta visible a 900.000; el valor por defecto de 4.096 recorta una respuesta larga sin avisar. |
temperature | No | De 0 a 2, 0,7 por defecto. Usa 0 cuando compares dos mockups o dos corridas. |
top_p | No | De 0,01 a 1. Mueve este o temperature, no los dos juntos. |
tools | No | Hasta 128 definiciones de funciones por solicitud. máximo 128 elementos |
parallel_tool_calls | No | true o false, true por defecto: el modelo puede pedir varias llamadas a herramientas en un mismo turno. Valor predeterminado: |
tool_choice | No | auto, none, required, o un objeto que nombre la función a llamar. |
response_format | No | Pide un objeto JSON cuando la respuesta la lea código y no una persona. |
Precios
Entrada $1.25 / Salida $2.50 por 1 millón de tokens; Prompts de 200K tokens o más: Entrada $2.50 / Salida $5
El total de entrada incluye los tokens en caché. A partir de 200.000 tokens de entrada, las tarifas de contexto largo se aplican a toda la entrada, la entrada en caché y la salida de la solicitud; por debajo de ese umbral se usan las tarifas estándar. La salida incluye los tokens de razonamiento, y en el nivel none, al no haber deliberación, no hay ninguno que pagar. Revisa el presupuesto antes de enviar. La retención inicial se calcula sin descontar ahorro por caché, y la liquidación devuelve la diferencia respecto del uso medido.
Casos de uso
Clasificar, extraer y enrutar en el nivel none
Etiquetar un ticket, sacar los campos de una factura o decidir qué modelo aguas abajo recibe la solicitud: none se salta la deliberación, la respuesta llega tan rápido como el modelo alcance a escribirla y no aparecen tokens de razonamiento en la cuenta. Combínalo con response_format para recibir un objeto JSON que tu código lee directo, en lugar de una frase que alguien tendrá que desarmar.
Mudar una integración desde un identificador retirado
xAI retiró grok-4-fast-reasoning, grok-4-fast-non-reasoning, grok-4-1-fast-reasoning, grok-4-1-fast-non-reasoning, grok-4-0709, grok-code-fast-1 y grok-3 el 15 de mayo de 2026 y los redirige todos a este modelo. Apunta el cliente a xai/grok-4.3, pon reasoning_effort en low donde el identificador viejo era una variante reasoning y en none donde no lo era. El presupuesto de contexto crece de paso.
Un millón de tokens de material en un solo turno
Un repositorio completo, un año de conversaciones de soporte o una pila de contratos entra en una sola solicitud, así que la respuesta no se arma con trozos que nunca se vieron entre sí. Pide que se cite la redacción cláusula por cláusula y sube max_tokens cuando la respuesta misma deba ser larga: el valor por defecto de 4.096 recorta sin devolver ningún error.
Capturas y trazas de error en el mismo mensaje
Adjunta un tablero caído como parte image_url con detalle high, pega la traza como texto en el mismo turno de usuario y luego pide las causas ordenadas. La imagen y el registro llegan juntos, así que el modelo no trabaja sobre tu transcripción de ninguno de los dos, y ambos se contabilizan dentro de la misma ventana que el prompt.
Guía de prompts y consejos prácticos
Elige el nivel de esfuerzo a propósito
Decide tarea por tarea en vez de apoyarte en el valor por defecto: none para clasificar, extraer, enrutar y convertir formatos; low para el seguimiento de instrucciones corriente y los ciclos de herramientas; medium, high o xhigh cuando la respuesta de verdad haya que elaborarla. El esfuerzo se gasta en tokens de salida, así que descuenta de max_tokens tanto como de la factura, y una respuesta larga en xhigh puede llegar al tope antes de terminar.
Una solicitud lista para pegar
El contenido de un mensaje de usuario puede ser una cadena simple o un arreglo de partes, y este modelo declara dos tipos de parte:
{"type": "text", "text": "..."}{"type": "image_url", "image_url": {"url": "...", "detail": "auto|low|high"}}
curl https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xai/grok-4.3",
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Which panel shows the regression, and what changed?"},
{"type": "image_url", "image_url": {"url": "https://cdn.spicyapi.ai/models/examples/inputs/c681580c3c6a0b63.jpeg", "detail": "high"}},
{"type": "image_url", "image_url": {"url": "https://cdn.spicyapi.ai/models/examples/inputs/59f0bc6291069978.jpeg", "detail": "high"}}
]}],
"max_tokens": 4000
}'
Lee la respuesta y también el medidor
El streaming es la forma práctica de consumir una generación larga: stream: true devuelve eventos chat.completion.chunk hasta data: [DONE], y una llamada sin streaming en xhigh sobre una ventana llena puede tardar lo suficiente para disparar un tiempo de espera del cliente. Antes de sumar otro documento, revisa si la solicitud cruzó los 200.000 tokens de entrada, porque ahí empieza la tarifa de contexto largo. Las partes de archivo y PDF no se aceptan en este endpoint, de modo que un adjunto tiene que volverse texto o imagen antes de enviarse.
Inicio rápido de la API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "xai/grok-4.3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Consulta la referencia de la API para autenticación, el esquema completo, sondeo y gestión de errores.










