Apertus ia API Documentation
Conecte suas ferramentas existentes à ia sem censura com uma única chave de API e o endpoint padrão compatível com OpenAI.
1. Quickstart: Connect Your First Request
A URL base é https://api.apertusia.com/v1. Passe sua chave de API no cabeçalho Authorization. O identificador do modelo é uncensored. Esta configuração funciona com qualquer cliente compatível com OpenAI.
Use este comando cURL para testar a conectividade imediatamente. Substitua YOUR_API_KEY pela sua chave real.
curl https://api.apertusia.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 5 python libraries for web scraping"}]
}'Erros de autenticação retornam 401. Fundos insuficientes retornam 402. Limites de taxa retornam 429.
2. Parâmetros suportados: Temperatura, Top P e Seed
Controle a aleatoriedade com temperature, a diversidade com top_p e a reprodutibilidade com seed. Esses parâmetros seguem as convenções padrão da OpenAI. Defina temperature como 0.7 para uma saída equilibrada ou 1.0 para maior criatividade. Use top_p para limitar a amostragem à massa de probabilidade superior. O parâmetro seed garante saídas idênticas para depuração.
Exemplo de snippet Python para teste local:
from openai import OpenAI
client = OpenAI(base_url="https://api.apertusia.com/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)
3. Respostas em streaming com Server-Sent Events
Ative o streaming definindo stream: true. A API retorna chunks via Server-Sent Events. Cada chunk contém texto parcial e dados de uso de tokens. Isso reduz a latência percebida para respostas longas. Manipule eventos SSE para atualizar sua UI em tempo real.
Exemplo em Node.js usando o SDK oficial:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apertusia.com/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);
4. Configuração de Function Calling e Modo JSON
Use response_format com {"type": "json_object"} para saída JSON estrita. Isso garante dados estruturados para pipelines programáticos. Ative a chamada de funções fornecendo um array tools no corpo da solicitação. O modelo retornará as chamadas de ferramentas no formato esperado. Use tool_choice para forçar um comportamento específico.
5. Limites de Taxa e Restrições de Tamanho de Requisição
Cada chave de API suporta 300 solicitações por minuto. As solicitações simultâneas são limitadas a 8 por chave. O tamanho máximo do corpo da solicitação é de 8 MB. A janela de contexto comporta 100.000 tokens no total. A saída máxima por solicitação é de até toda a janela de 100.000 tokens. Deixe max_tokens sem definição ou defina um valor alto para evitar truncamento. Erros não consomem crédito. Reembolsos não são emitidos, mas erros de faturamento são corrigidos via Suporte.
6. Autenticação e Tratamento de Erros
Gere sua chave pelo painel. Use login com Google ou e-mail. A chave aparece imediatamente. Inclua-a no cabeçalho Authorization: Bearer. Chaves inválidas retornam 401. Erros 429 indicam que o limite de taxa foi atingido. Erros 402 significam que seu crédito pré-pago está esgotado. Recarregue com USDT ou USDC. Os créditos nunca expiram.
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)Common queries
What is the uncensored ia model context window?
O modelo suporta uma janela de contexto de 100.000 tokens. Isso inclui tanto o prompt quanto a conclusão. Não há um limite separado para a saída: uma resposta pode usar todo o espaço restante na janela.
How do I handle streaming responses in Python?
Defina o parâmetro <code>stream</code> como <code>true</code> na sua solicitação. Itere sobre o objeto de resposta para processar cada chunk. Use o SDK oficial para análise automática de SSE.
What happens if I hit the rate limit?
A API retorna um código de status 429. Você pode tentar novamente após um curto atraso. Cada chave permite 300 solicitações por minuto. Aumente a concorrência gerando chaves adicionais, se necessário.
Garanta sua chave agora
Registre-se, pegue a chave, aponte para nosso endpoint. Pronto.