Inicio rápido: Integra la API de texto sin censura
Integra la API de completado de texto sin censura en tu pipeline de contenido con unas pocas líneas de código. Usa el endpoint estándar de completados de chat compatible con OpenAI para generar guiones, subtítulos o prompts refinados sin rechazos de contenido.
URL base y autenticación
Comienza estableciendo tu URL base en https://api.contentmoderationapis.com/v1. Este endpoint es compatible con los SDKs oficiales de OpenAI y cualquier cliente compatible con OpenAI. Necesitarás una clave de API, que puedes generar inmediatamente después de registrarte con solo un correo electrónico y una contraseña en la página Obtener clave de API. La clave se muestra una vez; guárdala de forma segura. Cada cuenta permite una clave, que se puede regenerar en cualquier momento, revocando la anterior. No se requiere tarjeta para el crédito de prueba.
Primera petición
Envía una petición POST a /v1/chat/completions con tu clave en el encabezado Authorization. Usa el ID del modelo uncensored para acceder al modelo de lenguaje grande sin censura. El modelo maneja el refinamiento de prompts, la escritura de guiones y la generación de subtítulos sin las restricciones típicas de los principales proveedores. Es un modelo de pesos abiertos ajustado para uso adulto lícito, excluyendo contenido sexual que involucre menores. Asegúrate de que el cuerpo de tu petición no supere los 8 MB.
curl https://api.contentmoderationapis.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."}]
}'
Integración con SDK de Python
Usa el SDK oficial de Python de OpenAI para interactuar con la API. Configura el base_url y el api_key en la inicialización de tu cliente. Este enfoque funciona sin problemas con las bases de código existentes diseñadas para OpenAI. El modelo admite llamadas a funciones y streaming. Configura el cliente para que apunte a nuestra URL base y enrute las peticiones a través de nuestro motor de inferencia sin censura. Es ideal para el postprocesamiento de texto generado por otras modalidades o para refinar prompts antes de enviarlos a modelos de imagen o video.
from openai import OpenAI
client = OpenAI(base_url="https://api.contentmoderationapis.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)
Ejemplo de SDK de Node.js
Inicializa el cliente de Node.js de OpenAI con la URL base personalizada y tu clave de API. El modelo uncensored responde a los parámetros estándar de finalización de chat. Puedes pasar prompts de sistema para guiar el tono o el formato de la salida. Esto es útil para generar datos estructurados o estilos consistentes para subtítulos y guiones. La API maneja el componente de generación de texto de tu pipeline, permitiéndote centrarte en integrar la salida en tus flujos de trabajo de imagen, video o voz.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.contentmoderationapis.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);
Respuestas en streaming
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve Server-Sent Events (SSE) para la entrega de tokens en tiempo real. Esto reduce la latencia percibida para los usuarios que esperan contenido extenso como guiones o subtítulos detallados. El streaming funciona tanto con el cliente HTTP crudo como con los SDK. Monitorea el stream en busca de errores o eventos de finalización para gestionar la respuesta final. Este método es eficiente para ventanas de contexto grandes de hasta 100.000 tokens.
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)
Límites de peticiones, errores y cuotas
La API aplica un límite de 300 peticiones por minuto por clave. Si excedes este límite, recibirás un código de estado 429. Los errores de autenticación devuelven 401 para claves inválidas, y 402 indica crédito prepago insuficiente. Las peticiones se cobran según los tokens de entrada ($0,25 por 1M) y los tokens de salida ($1,00 por 1M). Los créditos son prepago, no caducan y no requieren suscripción. El modelo no ofrece generación de imágenes, audio o video, ni proporciona incrustaciones ni ajuste fino. Usa esta API estrictamente para tareas de generación de texto en tu pipeline de contenido.
Ficha técnica de la API
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 |
| Base URL | https://api.contentmoderationapis.com/v1 |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| ID del modelo | uncensored |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Modo JSON | response_format: {"type": "json_object"} |
| Límite de peticiones | 300 por minuto por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concurrencia | 8 peticiones a la vez por clave |
| Tamaño de petición | hasta 8 MB |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| 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 |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Bono | +5 % desde $50, +10 % desde $100 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Acceso | Google o correo y contraseña |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
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 |
Preguntas y respuestas
¿Cuál es el tamaño de la ventana de contexto?
El modelo admite una ventana de contexto de 100.000 tokens para prompt y completado combinados. Esto permite datos de entrada sustanciales y generación de texto largo sin truncamiento.
¿Cobran por los créditos de prueba?
No. Cada cuenta nueva recibe $0,50 de crédito de prueba válido por 7 días. No se requiere tarjeta de crédito para comenzar. Los créditos prepago pagados no caducan y se pueden recargar desde $10.
¿Está el modelo entrenado con mis prompts?
No. Los prompts enviados a la API no se usan para entrenar el modelo. Solo necesitas un correo electrónico y una contraseña para crear una cuenta, asegurando que tu contenido permanezca privado para tus necesidades específicas de pipeline.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.