Início rápido para usuários do Minicpm
Conecte seu cliente OpenAI-compatível existente à nossa API sem censura em menos de um minuto. Substitua sua URL base, defina sua chave e comece a gerar texto com o modelo "sem censura".
Base URL e Autenticação
Para usar esta API, você precisa de uma chave de API e da URL base correta. Nosso serviço é totalmente compatível com as bibliotecas padrão de cliente OpenAI. Você não precisa instalar novas dependências ou aprender um novo SDK. Basta apontar seu cliente existente para nosso endpoint.
Gere uma chave na página Obter chave de API. Você pode entrar com Google ou usar e-mail e senha. A chave é exibida imediatamente. Armazene-a com segurança. Cada requisição deve incluir esta chave no cabeçalho Authorization.
A URL base para todas as requisições é: https://api.minicpm.cc/v1. Esta URL lida com completions de chat, listagem de modelos e respostas em streaming. Não há endpoints separados para embeddings ou visão. Esta é uma API apenas de texto.
Primeira Requisição
Envie uma requisição padrão de completions de chat para começar a gerar texto. O ID do modelo é sempre uncensored. Este modelo é um grande modelo de linguagem de pesos abertos ajustado para responder sem recusas de conteúdo para uso adulto lícito. Não é GPT, Claude ou qualquer outro modelo de fornecedor.
Defina o campo model para uncensored. Forneça suas mensagens no formato de array padrão. A API retorna uma resposta de texto. Você pode controlar o comprimento da saída com max_tokens. Se não definir, o max de saída padrão é 2.048 tokens.
Integração com SDK Python
Use a biblioteca oficial OpenAI Python para interagir com a API. Você só precisa configurar a base URL e a chave de API. O restante da biblioteca funciona como esperado. Isso inclui suporte para streaming, chamada de funções e modo JSON.
Instale a biblioteca com pip install openai. Inicialize o cliente com sua URL base e chave. Envie mensagens para o endpoint de completions de chat. O objeto de resposta contém o texto gerado, o uso de tokens e o motivo do término. Você pode acessar esses campos diretamente no seu código Python.
Integração com SDK Node.js
O SDK Node.js funciona de forma idêntica à versão Python. Instale o pacote e configure a base URL. O cliente gerencia autenticação e formatação de requisições automaticamente. Isso permite integrar a API aos seus serviços backend rapidamente.
Passe a base URL e a chave de API para o construtor do cliente OpenAI. Use o método chat.completions.create. A estrutura da resposta corresponde ao padrão OpenAI. Você pode lidar com erros, verificar o uso de tokens e processar o conteúdo. Esta abordagem garante compatibilidade com bases de código existentes que já usam OpenAI.
Respostas em Streaming
Ative o streaming definindo stream: true na sua requisição. A API retorna uma sequência de Server-Sent Events (SSE). Cada evento contém um fragmento da resposta. Isso permite que você exiba texto ao usuário conforme ele é gerado.
O último fragmento inclui as estatísticas de uso de tokens. Isso é útil para rastrear custos. O streaming reduz a latência percebida para os usuários. É recomendado para interfaces de chat. Você pode analisar os eventos no código do seu cliente para construir a resposta final ou exibir tokens em tempo real.
Limites, Erros e Contexto
O modelo suporta uma janela de contexto de 100.000 tokens. Isso inclui tanto o prompt quanto a conclusão. A saída máxima por requisição é de 32.000 tokens. Você pode ajustar o parâmetro max_tokens para controlar isso.
Os limites de taxa são definidos para 300 requisições por minuto por chave. Você pode ter 8 requisições simultâneas. O corpo da requisição deve ter menos de 8 MB. Se a chave for inválida, você receberá um erro 401. Se não tiver crédito, você receberá um erro 402. Se exceder o limite de taxa, você receberá um erro 429. Erros e recusas não consomem crédito.
cURL
curl https://api.minicpm.cc/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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.minicpm.cc/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.minicpm.cc/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);Streaming
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)Recursos e limites
Uma tabela com cada limite, recurso e preço.
| Item | Valor |
|---|---|
| Formato | compatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave |
| Base URL | https://api.minicpm.cc/v1 |
| ID do modelo | uncensored |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Modo JSON | response_format: {"type": "json_object"} |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Tamanho | até 8 MB por requisição |
| Limite de taxa | 300 requisições por minuto por chave |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Validade | crédito pago não expira, sem assinatura |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| 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 |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| 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 |
Perguntas e respostas
Qual o tamanho da janela de contexto?
A janela de contexto é de 100.000 tokens, incluindo o prompt de entrada e a conclusão de saída. A saída máxima por requisição é de 32.000 tokens.
Como lidar com erros?
Um erro 401 indica uma chave de API inválida. Um erro 402 indica que seu crédito pré-pago está esgotado. Um erro 429 significa que você excedeu o limite de requisições de 300 requisições por minuto. Os erros não consomem seu crédito.
Posso usar streaming?
Sim. Defina <code>stream: true</code> na sua requisição. A API retorna Server-Sent Events (SSE). O último fragmento contém as estatísticas de uso de tokens.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave, altere a base URL. Essa é toda a configuração.