PT ▾
Obter chave de API

API do Character AI: Substitua seu cliente em três linhas

Conecte seu chatbot a um LLM sem censura em minutos usando nossa API compatível com OpenAI. Este guia mostra a configuração, requisições básicas e streaming sem complicações de configuração.

https://api.characteraiapi.com/v1

Pré-requisitos

Antes de escrever código, você precisa de uma conta ativa em characteraiapi.com. Visite a página Obter chave de API e cadastre-se apenas com e-mail e senha. Nenhum cartão de crédito é necessário para começar, e novas contas recebem $0,50 em crédito de teste válido por 7 dias. Após o registro, sua chave de API é exibida imediatamente. Mantenha esta chave segura, pois ela autentica todas as requisições ao endpoint. Você também precisará de um SDK de linguagem suportado instalado em seu ambiente de desenvolvimento. O endpoint character ai api aceita parâmetros padrão do OpenAI, então qualquer cliente compatível com OpenAI pode funcionar com alterações mínimas.

Instalar o SDK

Para projetos Python, instale o pacote oficial do OpenAI usando pip. Esta biblioteca lida com a serialização JSON e as requisições HTTP automaticamente. Para aplicações Node.js, use npm para adicionar o pacote openai. Ambas as bibliotecas suportam as funcionalidades de streaming e chamada de ferramentas descritas mais adiante neste guia. Certifique-se de que a versão do seu SDK seja recente o suficiente para suportar Server-Sent Events (SSE) para streaming de tokens em tempo real. Se você estiver usando um cliente HTTP personalizado em vez de um SDK, você deve lidar manualmente com o payload JSON e a análise da stream SSE de acordo com a especificação da API OpenAI.

Autenticação

Toda requisição à API deve incluir sua chave de API no cabeçalho Authorization. Use o formato Bearer YOUR_API_KEY. A URL base para todas as requisições é https://api.characteraiapi.com/v1. Ao usar um SDK, defina a configuração base_url para este valor e forneça sua chave via parâmetro api_key. Se você perder sua chave ou suspeitar de um vazamento, você pode regenerá-la no painel; a chave antiga será revogada imediatamente. Apenas uma chave ativa é permitida por conta. Certifique-se de estar usando a URL base correta, pois requisições ao endpoint padrão do OpenAI falharão com erro 404 ou 401.

Completar Chat Básico

A funcionalidade principal é servida via endpoint /v1/chat/completions. Envie uma requisição POST com o nome do modelo uncensored e seu histórico de mensagens. O modelo responde com saída de texto sem aplicar filtros de conteúdo padrão para conteúdo adulto lícito. Abaixo está um exemplo curl demonstrando uma requisição simples de conclusão de texto.

curl https://api.characteraiapi.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."}]
  }'

Esta requisição retorna um objeto de conclusão contendo o texto gerado. Você pode ajustar parâmetros como temperature para controlar a aleatoriedade ou max_tokens para limitar o comprimento da saída. O modelo suporta uma janela de contexto de 100.000 tokens, permitindo que um histórico de conversa substancial ou documentos longos sejam processados em uma única requisição.

Respostas em Streaming

Para uma melhor experiência do usuário, ative o streaming definindo stream: true em sua requisição. A API retorna Server-Sent Events (SSE) contendo pedaços parciais de tokens conforme são gerados. Isso reduz a latência percebida para aplicações de chatbot. Use o parâmetro stream_options se você quiser receber as estatísticas finais de uso no último evento. O streaming é particularmente útil para roleplay de personagens em tempo real, onde exibir texto palavra por palavra aumenta a imersão. Certifique-se de que o código do seu cliente lide corretamente com o formato SSE para analisar cada chunk sequencialmente.

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)

Limites de Requisição e Erros

A API impõe um limite de 300 requisições por minuto por chave. Se você exceder esse limite, receberá um erro 429 Too Many Requests. Os corpos das requisições são limitados a 8 MB. Erros comuns incluem 401 para uma chave inválida ou ausente, e 402 se o seu crédito pré-pago estiver esgotado. Você pode recarregar a partir de $10 usando criptomoedas (USDT ou USDC), com créditos bônus disponíveis para depósitos maiores. Ao contrário de alguns provedores, não há taxas ocultas ou bloqueios de assinatura; você paga apenas pelos tokens que consome. A precificação é transparente: $0,25 por 1M de tokens de entrada e $1,00 por 1M de tokens de saída. Certifique-se de que a lógica de tratamento de erros retente as requisições em caso de 429 com recuo exponencial.

from openai import OpenAI

client = OpenAI(base_url="https://api.characteraiapi.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)

Node.js

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.characteraiapi.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);

Ficha técnica da API

Uma tabela com cada limite, recurso e preço.

ItemValor
Formatocompatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave
EndpointsPOST /v1/chat/completions · GET /v1/models
AutenticaçãoAuthorization: Bearer YOUR_KEY
Base URLhttps://api.characteraiapi.com/v1
ID do modelouncensored
Modo JSONresponse_format: {"type": "json_object"}
Saída máximaaté o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado)
Parâmetrostemperature, top_p, stop, seed, presence_penalty, frequency_penalty
Janela de contexto100.000 tokens (entrada + saída)
Streamingsim — server-sent events; o último bloco traz o uso de tokens
Chamada de funçõessim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool
Tamanhoaté 8 MB por requisição
CabeçalhosX-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency
Concorrência8 requisições ao mesmo tempo por chave
Limite de taxa300 requisições por minuto por chave
Validadecrédito pago não expira, sem assinatura
Bônus+5% a partir de $50, +10% a partir de $100
RecargaUSDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500
Preço$0,25 por 1M tokens de entrada · $1,00 por 1M de saída
Cobrançacrédito pré-pago pelo uso real; erros e recusas são grátis
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
Chavesuma chave ativa por conta; uma nova substitui a anterior
LoginGoogle ou e-mail e senha
Conteúdoconteú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ódigoTipoSignificado
400bad_requestJSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais
401missing_key · invalid_key · key_revokedchave ausente, errada ou substituída
402no_creditsem crédito — recarregue e continue na hora
403content_blockedconteúdo sexual com menores — recusado, sem cobrança
404not_foundendpoint desconhecido
413request_too_largecorpo acima de 8 MB
429rate_limited · concurrencyacima de 300/min ou 8 em paralelo — aguarde e tente de novo
503upstream_busymodelo ocupado — tente em alguns segundos

Perguntas e respostas

Esta é a API oficial do Character.ai?

Não, este é um serviço independente hospedado em characteraiapi.com. Ele serve seu próprio modelo sem censura e não está afiliado à Character.AI ou a qualquer outro grande fornecedor de LLM.

O modelo suporta geração de imagens ou áudio?

Não. A API é apenas para texto. Ela aceita entrada de texto e retorna saída de texto. Não suporta embeddings, ajuste fino ou entradas/saídas multimodais.

Como é definido 'sem censura'?

O modelo não recusa tópicos adultos lícitos, fictícios ou controversos. Ele apenas bloqueia conteúdo sexual envolvendo menores, que é um limite rígido aplicado a todas as requisições.

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 API