Altere seu cliente em três linhas
Este guia de início rápido mostra como integrar sua aplicação à nossa API compatível com OpenAI sem censura usando o formato padrão de endpoint do Mistral. Você aprenderá a autenticar, enviar requisições e lidar com respostas em streaming sem sobrecarga de configuração.
URL Base e Autenticação
Para usar a API, aponte seu cliente para https://api.mistralapi.top/v1. A autenticação depende de um token Bearer incluído no cabeçalho Authorization. Você gera essa chave na página Obter chave de API usando uma conta Google ou configuração padrão de e-mail e senha. A chave é exibida imediatamente após a criação. Mantenha este token seguro, pois ele concede acesso total ao seu crédito pré-pago. Diferente dos provedores padrão, não exigimos número de telefone ou cartão de crédito para ativar o crédito de teste inicial.
Nosso serviço foi projetado para ser integrado diretamente às configurações existentes de clientes Mistral ou OpenAI. Basta atualizar a propriedade base_url na instância do seu SDK. A estrutura do endpoint corresponde ao formato padrão /v1/chat/completions, garantindo que seu código existente funcione sem modificações. Suportamos um único ID de modelo, uncensored, que lida com todas as tarefas de geração de texto.
Endpoint de Completions de Chat
A interação principal ocorre via endpoint POST /v1/chat/completions. Você envia um corpo JSON contendo o ID do seu model, o array messages e parâmetros opcionais. A API retorna uma resposta de texto ou dados estruturados se você especificar o modo JSON. Este endpoint é a principal forma de interagir com o LLM. Ele suporta tanto requisições síncronas padrão quanto respostas em streaming. Cada requisição consome tokens do seu saldo pré-pago com base no volume de entrada e saída.
Os erros são tratados por meio de códigos de status HTTP padrão. Se sua chave for inválida, você receberá um 401. Se ficar sem crédito, receberá um 402. Os limites de requisições são aplicados a 300 requisições por minuto e 8 conexões simultâneas por chave. Use o exemplo a seguir para verificar sua conexão e a validade da chave.
curl https://api.mistralapi.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Respostas em Streaming (SSE)
Para menor latência e melhor experiência do usuário, ative o streaming configurando stream: true no corpo da sua requisição. A API retorna um fluxo de eventos enviados pelo servidor (SSE). Cada fragmento contém uma resposta parcial. O último fragmento inclui as estatísticas completas de uso de tokens da requisição. Isso permite que seu aplicativo exiba tokens conforme são gerados, em vez de aguardar a conclusão completa. O streaming é ideal para interfaces de chat onde o feedback imediato é crítico.
Ao usar streaming, certifique-se de que seu cliente analise corretamente o formato SSE. O array choices em cada fragmento conterá conteúdo delta. Você deve acumular esses deltas para construir a resposta completa. O uso de tokens só está disponível no último evento do fluxo. Use este método para manter seus usuários engajados enquanto o modelo processa prompts complexos.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Python
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralapi.top/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralapi.top/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Perguntas e respostas
Esta é a API oficial do Mistral?
Não. Somos um serviço independente que imita a estrutura de endpoint da API Mistral. Servimos nosso próprio modelo sem censura, não os modelos proprietários do Mistral. Use esta API se quiser a mesma compatibilidade de cliente, mas com políticas de conteúdo e preços diferentes.
Como faço para recarregar meu crédito?
As recargas são feitas apenas via criptomoeda (USDT na rede TRC20 ou USDC na rede Base). O valor mínimo de recarga é $10 e o máximo é $500. Você recebe um bônus de 5% para recargas acima de $50 e um bônus de 10% para recargas acima de $100. Não aceitamos cartões de crédito nem PayPal.
Qual é o limite da janela de contexto?
O modelo suporta uma janela de contexto de 100.000 tokens para prompt e conclusão combinados. A saída máxima por requisição é de 32.000 tokens, ou 2.048 tokens se você não especificar o <code>max_tokens</code> parâmetro.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave, altere a URL base. Essa é toda a configuração necessária.
Especificações técnicas
Todos os limites e recursos reais da API em um só lugar — confira antes de recarregar.
| Item | Valor |
|---|---|
| Formato | compatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave |
| ID do modelo | uncensored |
| Base URL | https://api.mistralapi.top/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Modo JSON | response_format: {"type": "json_object"} |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Tamanho | até 8 MB por requisição |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Limite de taxa | 300 requisições por minuto por chave |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Validade | crédito pago não expira, sem assinatura |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Teste grátis | $0,50 por 7 dias, sem cartão · Chave de teste: 2 requisições paralelas, 60 por minuto; limites totais (8 e 300) após a primeira recarga |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Login | Google ou e-mail e senha |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
Códigos de erro
Erros chegam em JSON com um type fixo; requisições com falha ou recusadas não são cobradas.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais |
401 | missing_key · invalid_key · key_revoked | chave ausente, errada ou substituída |
402 | no_credit | sem crédito — recarregue e continue na hora |
403 | content_blocked | conteúdo sexual com menores — recusado, sem cobrança |
404 | not_found | endpoint desconhecido |
413 | request_too_large | corpo acima de 8 MB |
429 | rate_limited · concurrency | acima de 300/min ou 8 em paralelo — aguarde e tente de novo |
503 | upstream_busy | modelo ocupado — tente em alguns segundos |