chatbotapis.comDocs
Guía de inicio rápido de la API de Chatbot
Comienza con la API de Chatbot en minutos. Esta guía cubre autenticación, peticiones básicas, streaming y llamadas a funciones utilizando nuestro endpoint compatible con OpenAI.
URL base y autenticación
Reemplaza la URL base estándar de OpenAI por https://api.chatbotapis.com/v1 para enrutar las peticiones a nuestro LLM sin censura. Autentícate usando una clave de API estándar que se pasa en el encabezado Authorization. Tu clave se genera inmediatamente después de iniciar sesión en la página Obtener clave de API y está vinculada a una cuenta. Puedes regenerar la clave en cualquier momento, lo que revoca la anterior al instante. No necesitas tarjeta de crédito para comenzar y el crédito de prueba dura 7 días.
Petición básica de completado
Envía una petición estándar chat/completions para obtener salida de texto. El ID del modelo es siempre uncensored. Esta API admite entrada y salida de texto con una ventana de contexto de 100.000 tokens. Usa este endpoint para interacciones directas con LLM sin incrustaciones ni generación de imágenes.
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."}]
}'La respuesta incluye el texto generado en el campo content. Si tu clave no es válida, obtienes un error 401. Si no tienes crédito prepago, obtienes un error 402.
Inicio rápido con SDK de Python
Instala la biblioteca oficial de Python de OpenAI y apunta a nuestra URL base. Esto te permite usar el mismo SDK que ya conoces para OpenAI, pero acceder directamente a nuestro modelo sin censura. Establece api_key y base_url antes de hacer peticiones.
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 configuración funciona tanto para completados simples como para llamadas a funciones complejas. El SDK maneja el formato JSON automáticamente. Recuerda que los prompts no se usan para entrenar los datos de tu cuenta.
Integración con SDK de Node.js
Para desarrolladores de JavaScript, el SDK de OpenAI para Node.js funciona de la misma manera. Inicializa el cliente con tu clave y la URL base específica para ChatBotApis. Esto es útil para construir servicios backend o funciones serverless que necesiten salida cruda 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);Asegúrate de manejar los errores correctamente. Un código de estado 429 significa que has alcanzado el límite de peticiones de 300 por minuto. Un error 400 suele indicar un cuerpo de petición mal formado o exceder el límite de 8 MB.
Respuestas en streaming vía SSE
Usa Server-Sent Events (SSE) para generación de texto de baja latencia. Establece stream: true en tu petición. La API devuelve fragmentos de texto a medida que se generan, permitiendo que tu aplicación muestre tokens en tiempo real. Esto reduce significativamente la latencia percibida en comparación con esperar la respuesta 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)El modo streaming funciona con los SDKs de Python y Node. Es ideal para interfaces de chat donde los usuarios esperan retroalimentación instantánea. La ventana de contexto aún se aplica a la suma total de tokens del prompt y la completación.
Límites de peticiones, errores y contexto
Nuestra API aplica límites estrictos para garantizar la estabilidad. Puedes realizar 300 peticiones por minuto por clave. El tamaño máximo del cuerpo de la petición es de 8 MB. Si excedes el límite, recibirás un error 429. La ventana de contexto es de 100,000 tokens, contando tanto entrada como salida. Este modelo es sin censura para uso adulto legal, pero bloquea contenido sexual que involucre a menores. No hay garantías de SLA ni certificaciones, pero los precios son transparentes y el crédito prepago no caduca.
Preguntas y respuestas
¿Es esta la API oficial de OpenAI?
No. Somos un servicio independiente que utiliza el formato de API compatible con OpenAI. Nuestro modelo es un modelo de pesos abiertos alojado en nuestros propios servidores, no es GPT-4 ni GPT-3.5.
¿Cómo funcionan los créditos de bonificación?
Recarga $50 o más y obtén un +5% de crédito adicional; recarga $100 o más y obtén un +10%. Los créditos se añaden a tu saldo prepago y nunca caducan.
¿Qué sucede si regenero mi clave de API?
La clave anterior se revoca inmediatamente y ya no se puede usar. La nueva clave es válida al instante. No pierdes ningún crédito prepago ni historial al cambiar las claves.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.
Obtener clave de APILeer la documentación
ChatBotApis
chatbotapis.com
Funciones y límites
Una tabla con cada límite, función y precio.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| ID del modelo | uncensored |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.chatbotapis.com/v1 |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Modo JSON | response_format: {"type": "json_object"} |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Tamaño de petición | hasta 8 MB |
| Límite de peticiones | 300 por minuto por clave |
| Concurrencia | 8 peticiones a la vez por clave |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Prueba gratis | $0,50 durante 7 días, sin tarjeta · Clave de prueba: 2 solicitudes paralelas, 60 por minuto; límites completos (8 y 300) tras la primera recarga |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Bono | +5 % desde $50, +10 % desde $100 |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |