Grok API: Integrando o Modelo xAI em Suas Aplicações
A xAI disponibiliza o Grok via API para desenvolvedores — e o melhor: ela usa exatamente o mesmo formato da API da OpenAI. Se você já sabe usar o ChatGPT via API, você já sabe usar o Grok.
Configuração inicial
1. Obtenha sua API key
Acesse console.x.ai e crie uma conta de desenvolvedor. A xAI oferece créditos de teste iniciais para experimentar.
2. Instale o SDK
Usando Python:
pip install openai
Usando Node.js:
npm install openai
3. Configure o cliente
Python:
from openai import OpenAI
client = OpenAI(
api_key="SEU_XAI_API_KEY",
base_url="https://api.x.ai/v1",
)
TypeScript:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.XAI_API_KEY,
baseURL: "https://api.x.ai/v1",
});
Modelos disponíveis
| Modelo | Uso ideal | Contexto |
|---|---|---|
grok-3 |
Tarefas complexas, raciocínio | 131K tokens |
grok-3-mini |
Tarefas simples, baixo custo | 131K tokens |
grok-3-fast |
Alta velocidade, uso em produção | 131K tokens |
grok-2-vision |
Análise de imagens | 32K tokens |
Primeira chamada
response = client.chat.completions.create(
model="grok-3",
messages=[
{"role": "system", "content": "Você é um assistente especialista em análise de dados."},
{"role": "user", "content": "Explique a diferença entre correlação e causalidade com exemplos."}
],
)
print(response.choices[0].message.content)
Streaming para UX em tempo real
Para interfaces de chat, use streaming para mostrar a resposta à medida que é gerada:
const stream = await client.chat.completions.create({
model: "grok-3-fast",
messages: [{ role: "user", content: prompt }],
stream: true,
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content || "";
process.stdout.write(delta); // ou enviar para o frontend via SSE
}
Caso de uso: analisador de sentimento de posts
Um app que analisa o sentimento de posts em lote:
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(
api_key="SEU_XAI_API_KEY",
base_url="https://api.x.ai/v1",
)
async def analisar_sentimento(post: str) -> dict:
response = await client.chat.completions.create(
model="grok-3-mini", # mais barato para tarefas simples
messages=[
{
"role": "system",
"content": "Analise o sentimento do texto. Responda em JSON: {sentimento: positivo|negativo|neutro, score: 0-1, motivo: string}"
},
{"role": "user", "content": post}
],
response_format={"type": "json_object"},
)
return response.choices[0].message.content
# Processar múltiplos posts em paralelo
async def processar_lote(posts: list[str]):
resultados = await asyncio.gather(*[analisar_sentimento(p) for p in posts])
return resultados
Preços (referência mai/2026)
| Modelo | Input (por 1M tokens) | Output (por 1M tokens) |
|---|---|---|
| grok-3 | $3.00 | $15.00 |
| grok-3-mini | $0.30 | $0.50 |
| grok-3-fast | $5.00 | $25.00 |
Para produção com alto volume, o grok-3-mini oferece excelente custo-benefício.
Dicas para produção
- Rate limits: implemente retry com exponential backoff
- Temperatura: use
temperature=0para outputs consistentes/determinísticos - System prompt: invista tempo no system prompt — ele afeta muito a qualidade
- Modelo certo para cada tarefa: não use grok-3 onde grok-3-mini resolve — economiza 10x no custo
- Monitoramento: log todas as chamadas com latência e custo estimado
A API da xAI é madura e estável — e como usa o padrão OpenAI, migrar código existente que usa ChatGPT para testar o Grok leva literalmente 2 linhas de mudança.

