chatbotapis.comDocs
Guia de início rápido da API de Chatbot
Comece com a API de Chatbot em minutos. Este guia cobre autenticação, requisições básicas, streaming e chamada de funções usando nosso endpoint compatível com OpenAI.
URL Base e Autenticação
Substitua a URL base padrão da OpenAI por https://api.chatbotapis.com/v1 para rotear requisições para nosso LLM sem censura. Você se autentica usando uma chave de API padrão passada no cabeçalho Authorization. Sua chave é gerada imediatamente após o cadastro na página Obter Chave de API e está vinculada a uma conta. Você pode regenerar a chave a qualquer momento, o que revoga a anterior instantaneamente. Não há necessidade de cartão de crédito para começar, e o crédito de teste dura por 7 dias.
Requisição Básica de Conclusão
Envie uma requisição padrão chat/completions para obter saída de texto. O ID do modelo é sempre uncensored. Esta API suporta entrada e saída de texto com uma janela de contexto de 100.000 tokens. Use este endpoint para interações diretas com LLM sem embeddings ou geração de imagens.
curl https://api.chatbotapis.com/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."}]
}'A resposta inclui o texto gerado no campo content. Se sua chave for inválida, você receberá um erro 401. Se não tiver crédito pré-pago, você receberá um erro 402.
Início Rápido do SDK Python
Instale a biblioteca oficial OpenAI Python e aponte-a para nossa URL base. Isso permite que você use o mesmo SDK que já conhece para OpenAI, mas acesse nosso modelo sem censura diretamente. Defina o api_key e o base_url antes de fazer requisições.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatbotapis.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)Esta configuração funciona tanto para conclusões simples quanto para chamada de funções complexa. O SDK lida com a formatação JSON automaticamente. Lembre-se que os prompts não são usados para treinar os dados da sua conta.
Integração do SDK Node.js
Para desenvolvedores JavaScript, o SDK OpenAI Node.js funciona de forma idêntica. Inicialize o cliente com sua chave e a URL base específica para ChatBotApis. Isso é útil para construir serviços backend ou funções serverless que precisam de saída bruta de LLM.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatbotapis.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);Certifique-se de tratar erros adequadamente. Um código de status 429 significa que você atingiu o limite de 300 requisições por minuto. Um erro 400 geralmente indica um corpo de requisição malformado ou exceder o limite de 8 MB.
Respostas em Streaming via SSE
Use Server-Sent Events (SSE) para geração de texto de baixa latência. Defina stream: true em sua requisição. A API retorna blocos de texto conforme são gerados, permitindo que sua aplicação exiba tokens em tempo real. Isso reduz significativamente a latência percebida em comparação com esperar pela resposta completa.
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 modo de streaming funciona tanto com o SDK Python quanto com o Node. É ideal para interfaces de chat onde os usuários esperam feedback instantâneo. A janela de contexto ainda se aplica ao total de tokens do prompt mais da conclusão.
Limites de Requisição, Erros e Contexto
Nossa API impõe limites rigorosos para garantir estabilidade. Você tem permissão para 300 requisições por minuto por chave. O tamanho máximo do corpo da requisição é 8 MB. Se você exceder o limite, receberá um erro 429. A janela de contexto é de 100.000 tokens, contando entrada e saída. Este modelo é sem censura para uso adulto legal, mas bloqueia conteúdo sexual envolvendo menores. Não há garantias de SLA ou certificações, mas os preços são transparentes e o crédito pré-pago nunca expira.
Perguntas e respostas
Esta é a API oficial da OpenAI?
Não. Somos um serviço independente que usa o formato de API compatível com OpenAI. Nosso modelo é um modelo de pesos abertos hospedado em nossos próprios servidores, não GPT-4 ou GPT-3.5.
Como funcionam os créditos bônus?
Você recebe +5% de crédito bônus ao recarregar $50 ou mais, e +10% ao recarregar $100 ou mais. Os créditos são adicionados ao seu saldo pré-pago e nunca expiram.
O que acontece se eu regenerar minha chave de API?
A chave antiga é revogada imediatamente e não pode mais ser usada. A nova chave é válida instantaneamente. Você não perde nenhum crédito pré-pago ou histórico ao alterar as chaves.
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.
Obter chave de APILer a documentação
ChatBotApis
chatbotapis.com
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 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| ID do modelo | uncensored |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.chatbotapis.com/v1 |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Modo JSON | response_format: {"type": "json_object"} |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Tamanho | até 8 MB por requisição |
| Limite de taxa | 300 requisições por minuto por chave |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| 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 |
| Validade | crédito pago não expira, sem assinatura |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
| Login | Google ou e-mail e senha |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
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 |