URL Base y Autenticación
La API de Chatterbot se encuentra en https://api.chatterbotapi.com/v1. Autentícate con un token Bearer en el Authorization header. Tu clave aparece inmediatamente después del registro mediante Google o correo electrónico.
- URL base:
https://api.chatterbotapi.com/v1 - Encabezado:
Authorization: Bearer YOUR_API_KEY
Una clave por cuenta reemplaza la antigua al instante. Mantenla segura.
Primera solicitud
Envía una solicitud POST a /v1/chat/completions con el modelo uncensored. La API devuelve texto generado sin las negaciones estándar para contenido adulto legal.
Aquí tienes un ejemplo mínimo de cURL:
curl https://api.chatterbotapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the capital city of France"}]
}'Verifica que la respuesta incluya el texto generado en choices[0].message.content.
Integración del SDK de Python
Usa la biblioteca oficial de Python de OpenAI. Señálala a nuestra URL base e inyecta tu clave. El cliente maneja la serialización JSON automáticamente.
from openai import OpenAI
client = OpenAI(base_url="https://api.chatterbotapi.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)Este enfoque funciona tanto para llamadas con transmisión como sin transmisión. El ID del modelo permanece uncensored.
Configuración del SDK de Node.js
Inicializa el paquete npm de OpenAI con la URL base personalizada. Esto garantiza la compatibilidad con los clientes de OpenAI existentes.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chatterbotapi.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);Configura la variable de entorno o pasa la clave directamente. La API se comporta como cualquier endpoint estándar de chat-completions.
Respuestas en streaming
Habilita la transmisión estableciendo stream: true. La API envía Server-Sent Events. Los datos de uso de tokens aparecen solo en el último fragmento.
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)Procesa cada fragmento a medida que llega. Esto reduce la latencia percibida para salidas largas de hasta 16,000 tokens.
Límites y errores
Esperar un error 401 si la clave es inválida. Un error 402 significa que tu crédito prepagado se ha agotado. Los errores y rechazos no consumen tokens. Estás limitado a 300 solicitudes por minuto. La ventana de contexto contiene 100.000 tokens en total. Los cuerpos de las solicitudes deben permanecer por debajo de 8 MB.