Pré-requisitos
Para usar a API apertus, você precisa de uma conta e uma chave de API. Cadastre-se via Google ou e-mail na página Obter chave de API. Você recebe uma chave imediatamente; não é necessário número de telefone. Se quiser testar primeiro, toda conta nova recebe $0,50 em crédito de teste válido por 7 dias. Não é necessário cartão para o teste. Para produção, recarregue com criptomoedas (USDT na TRC20 ou USDC na Base). O crédito nunca expira e erros não consomem o saldo. Você tem uma chave ativa por conta; gerar uma nova substitui a antiga. Mantenha sua chave segura e envie-a no cabeçalho Authorization como token bearer. A API é estritamente baseada em texto, servindo um modelo sem censura otimizado para responder sem recusas de conteúdo.
URL Base e Autenticação
Envie todas as requisições para https://api.apertus.cc/v1. Esta URL base funciona com os SDKs oficiais da OpenAI e qualquer cliente compatível, alterando apenas o endpoint. Inclua sua chave de API no cabeçalho: Authorization: Bearer YOUR_API_KEY. O único endpoint suportado é POST /v1/chat/completions. Um endpoint GET /v1/models também está disponível para verificar a conectividade. O ID do modelo a ser usado é uncensored. Este é um modelo de pesos abertos executado em nossos servidores, distinto do GPT, Claude ou de outros fornecedores. Ele processa entrada de texto e retorna saída de texto. Não espere embeddings, imagens ou áudio. A API foi projetada para desenvolvedores que desejam uma integração direta sem a complexidade de roteamento de modelos.
Primeira Solicitação
Envie uma solicitação básica de conclusão para verificar sua configuração. Use o comando curl para POST no endpoint de conclusões de chat. Defina o modelo como uncensored e inclua uma mensagem simples. Isso confirma que sua chave de API funciona e que a URL base está correta. Você pode ajustar parâmetros como temperature ou max_tokens conforme necessário. A resposta conterá a saída de texto do modelo. Se receber um erro 401, verifique sua chave. Um erro 402 indica crédito insuficiente. Um erro 429 significa que você atingiu o limite de requisições. Esta solicitação simples demonstra o acesso direto à API sem middleware. É a maneira mais rápida de validar sua integração antes de construir lógica mais complexa.
Integração com Python
Use o SDK Python oficial openai para interagir com a API. Inicialize o cliente com a URL base https://api.apertus.cc/v1 e sua chave de API. Defina o modelo para uncensored. Envie mensagens como uma lista de dicionários. O SDK cuida da serialização e do parsing de erros automaticamente. Esta abordagem é ideal para serviços backend ou scripts de processamento de dados. Você pode obter streaming das respostas ou blocos completos. O código do cliente é idêntico ao que você usaria para a OpenAI, apenas com uma URL base diferente. Isso reduz o atrito ao mudar de outros provedores. Certifique-se de ter a versão mais recente do SDK para melhor compatibilidade. A integração é mínima, exigindo apenas alterações de configuração na sua configuração de cliente existente.
Integração com Node.js
Para ambientes JavaScript ou TypeScript, use o pacote npm openai. Configure o cliente com a mesma URL base e chave usadas no Python. Chame chat.completions.create() com o modelo uncensored. Passe suas mensagens no formato padrão. Isso funciona bem para funções serverless ou backends Node.js. O SDK gerencia as solicitações HTTP e a análise de respostas. Você pode lidar com erros verificando o status da resposta. O código permanece portátil entre diferentes serviços compatíveis com OpenAI. Isso facilita a troca de provedores se necessário. A integração com Node.js suporta padrões síncronos e assíncronos. Use-a para construir APIs, bots ou fluxos de trabalho automatizados que exigem geração de texto sem censura.
Respostas em Streaming
Ative o streaming definindo stream: true na sua requisição. A API retorna blocos de texto conforme são gerados. Isso melhora a latência percebida para respostas longas. Cada bloco contém parte da conclusão. O último bloco inclui estatísticas de uso de tokens. O streaming é suportado via Eventos Enviados pelo Servidor (SSE). Use os auxiliares de streaming do SDK para processar blocos com eficiência. Isso é útil para interfaces de chat ou aplicativos em tempo real. Observe que o streaming consome os mesmos tokens que o modo não streaming. Erros podem ocorrer durante o streaming, portanto, trate interrupções. O modelo sem censura suporta streaming por padrão. Este recurso permite exibir texto incrementalmente. É um recurso padrão em APIs de LLM modernas. Certifique-se de que o código do seu cliente lide corretamente com respostas parciais.
Limites, Erros e Contexto
A janela de contexto é de 100.000 tokens no total, incluindo prompt e conclusão. A saída máxima é de 32.000 tokens por solicitação, ou 2.048 se max_tokens não estiver definido. Os limites de taxa são de 300 solicitações por minuto e 8 solicitações simultâneas por chave. Os corpos das solicitações devem ter menos de 8 MB. Erros comuns incluem 401 para chaves inválidas, 402 para falta de crédito e 429 para limites de taxa. O modelo recusa conteúdo sexual envolvendo menores. Ele não recusa outros tópicos adultos, fictícios ou controversos legais. O preço é transparente: $0,25 por 1M de tokens de entrada e $1,00 por 1M de tokens de saída. Erros são gratuitos. O crédito é pré-pago e nunca expira. Use esses limites para planejar a escala do seu aplicativo. A API foi projetada para geração de texto de alto volume e custo-efetivo.
cURL
curl https://api.apertus.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.apertus.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.apertus.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)