Base URL e Autenticação
Comece apontando seu cliente compatível com OpenAI para a base URL da API do Mimo. Você receberá uma chave de API imediatamente após se registrar com Google ou e-mail. Passe esta chave no cabeçalho padrão Authorization. O identificador do modelo é uncensored, que executa um modelo de pesos abertos ajustado para menos recusas em conteúdo adulto lícito.
Ao contrário de serviços de assinatura, o faturamento é pré-pago via cripto. Erros não consomem crédito. Você pode verificar a conectividade listando modelos ou enviando um prompt de texto simples. Mantenha sua chave segura; uma chave por conta substitui a anterior se você gerar uma nova.
Endpoint Padrão de Chat Completions
Envie uma requisição POST padrão para o endpoint de chat completions. Defina o modelo como uncensored e forneça suas mensagens no formato de array exigido. A API retorna saída de texto baseada no seu prompt. Você pode ajustar parâmetros como temperature ou top_p para controlar a criatividade.
curl https://api.mimoapi.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."}]
}'Este endpoint lida com interações texto-entrada, texto-saída. Ele não suporta embeddings, imagens ou fine-tuning. Se você precisar desses recursos, deve usar um serviço diferente. A janela de contexto permite 100.000 tokens no total para prompt e conclusão combinados.
Integração com SDK Python
Use a biblioteca oficial OpenAI Python para interagir com a API. Substitua a base URL para apontar para o endpoint da API do Mimo. Isso permite que você use os mesmos métodos de SDK que usa para GPT-4 ou outros modelos. Defina a chave de API e o modelo alvo na configuração do seu cliente.
from openai import OpenAI
client = OpenAI(base_url="https://api.mimoapi.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)Esta abordagem garante que seu código permaneça portátil. Se você mudar de provedor, basta alterar a base URL e a chave. O SDK Python lida com serialização e retentativas automaticamente. Você também pode definir parâmetros como seed para saídas determinísticas.
Integração com SDK Node.js
Instale o pacote OpenAI para Node.js e configure a base URL. Passe sua chave de API no objeto de configuração. O cliente encaminhará as requisições para o endpoint do modelo sem censura. Isso funciona com importações tanto do CommonJS quanto do ES module.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mimoapi.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);Desenvolvedores Node podem usar os mesmos padrões assíncronos que usam com outros serviços compatíveis com OpenAI. O SDK lida com análise de stream e codificação JSON. Você pode definir o max_tokens para controlar o comprimento da saída, com padrão de 2.048 se não especificado.
Respostas em Streaming (SSE)
Ative o streaming definindo stream: true na sua requisição. A API retorna Server-Sent Events (SSE) contendo tokens parciais. Isso permite exibir a saída progressivamente para os usuários. As estatísticas de uso de tokens aparecem no último chunk do stream.
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)O streaming reduz a latência percebida para respostas longas. Você deve processar os eventos do stream no código do seu cliente. A API não garante contagens exatas de tokens durante o streaming, mas o último chunk inclui dados de uso precisos. Isso é útil para transparência de cobrança.
Limites de Requisição, Erros e Modo JSON
A API impõe um limite de 300 requisições por minuto por chave e permite 8 requisições simultâneas. Se você exceder isso, receberá um erro 429. Um erro 401 indica uma chave inválida ou expirada. O crédito pré-pago é cobrado apenas pelo uso real de tokens; erros e recusas são gratuitos.
Para saída estruturada, use o modo JSON definindo response_format para json_object. Isso força o modelo a retornar JSON válido. Isso é útil para chamada de funções ou extração de dados. A janela de contexto suporta até 32.000 tokens de saída por requisição.