Inicio rápido: Conecta tu cliente
Conecta tu cliente compatible con OpenAI a nuestro Chinese LLM API sin censura actualizando la URL base y la clave de API. Este inicio rápido cubre autenticación, finalización de chat, streaming y llamadas a funciones con ejemplos concretos.
- URL base
- https://api.chinesellmapi.com/v1
- Modelo
- sin censura
URL base y autenticación
Nuestra API sigue el formato estándar de OpenAI, lo que te permite cambiar de proveedor modificando solo dos variables: la URL base y la clave de API. Puedes obtener una clave registrándote en la página Obtener clave de API con solo un correo electrónico y una contraseña. No se requiere tarjeta de crédito para la prueba, y las claves se pueden regenerar al instante si se ven comprometidas.
Usa la URL base https://api.chinesellmapi.com/v1 en la configuración de tu cliente. El ID del modelo que debes enviar es uncensored. Este es un modelo de pesos abiertos que se ejecuta en nuestra infraestructura dedicada, distinto de GPT, Claude u otros modelos de proveedores. Está ajustado para responder sin rechazos de contenido para uso adulto lícito.
Endpoint de finalización de chat (POST /v1/chat/completions)
Envía texto y recibe texto utilizando el endpoint estándar de finalización de chat. Este endpoint admite respuestas tanto sin streaming como con streaming, así como llamadas a herramientas/funciones. Debes incluir el campo model establecido en uncensored en el cuerpo de tu petición.
Las peticiones están limitadas a 8 MB de tamaño de cuerpo. Si excedes la ventana de contexto de 100.000 tokens (prompt + finalización), la API rechazará la petición. Asegúrate de que tu cliente maneje correctamente las respuestas HTTP estándar.
- Entrada: cuerpo JSON con matriz
messages. - Salida: JSON con
choicesque contienemessage.content.
Realiza tu primera petición con este ejemplo:
curl https://api.chinesellmapi.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
Usar el SDK oficial de Python de OpenAI es la forma más directa de integrar. Instala el paquete mediante pip y configura el cliente para apuntar a nuestra URL base. Este enfoque funciona sin problemas con cualquier biblioteca construida sobre el cliente de Python de OpenAI.
Recuerda que nuestro modelo no es GPT-4 ni ningún otro modelo de proveedor. Es un modelo sin censura. Ajusta tu ingeniería de prompts en consecuencia, ya que el modelo puede tener tendencias estilísticas diferentes en comparación con otros modelos.
Así es cómo inicializar el cliente y enviar una petición:
from openai import OpenAI
client = OpenAI(base_url="https://api.chinesellmapi.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)
Integración con SDK de Node.js
Para proyectos en JavaScript o TypeScript, el paquete npm openai funciona con cambios menores de configuración. Establece el baseURL al endpoint de nuestra API y proporciona tu clave de API. Esto garantiza la compatibilidad con bases de código existentes que esperan respuestas estándar de OpenAI.
La estructura de la respuesta permanece idéntica al formato de OpenAI, incluidos los campos id, object, created y choices. Esto facilita intercambiar nuestro modelo sin censura para pruebas o producción sin reescribir la lógica de análisis de datos.
Configura y llama a la API:
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.chinesellmapi.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 con streaming (SSE)
Habilita el streaming estableciendo stream: true en tu petición. La API devuelve Eventos Enviados por el Servidor (SSE) que contienen fragmentos incrementales de la respuesta. Esto es ideal para interfaces de usuario que necesitan mostrar texto en tiempo real a medida que se genera.
Cada fragmento contiene contenido parcial en delta.content. Maneja estos fragmentos de forma incremental en tu cliente para actualizar la interfaz de usuario. El stream finaliza cuando se recibe el último fragmento con finish_reason establecido en stop o tool_calls.
Implementación de streaming de ejemplo:
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 velocidad, errores y restricciones
Monitorea tu uso para evitar interrupciones. Cada clave de API está limitada a 300 peticiones por minuto. Si excedes este límite, recibirás un error 429 Demasiadas peticiones. Los cuerpos de las peticiones no deben exceder 8 MB. La ventana de contexto es estrictamente de 100.000 tokens para prompt y finalización combinados.
Los errores comunes incluyen:
- 401 No autorizado: Clave de API inválida o faltante.
- 402 Pago requerido: Crédito prepago insuficiente.
- 429 Límite de velocidad: Se excedieron 300 peticiones por minuto.
La tarificación es transparente: $0,25 por 1M de tokens de entrada y $1,00 por 1M de tokens de salida. Los créditos no caducan. Usa el endpoint GET /v1/models para verificar los modelos disponibles, aunque solo se ofrece uncensored para finalizaciones de chat.
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 |
| ID del modelo | uncensored |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.chinesellmapi.com/v1 |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| 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) |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Modo JSON | response_format: {"type": "json_object"} |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Límite de peticiones | 300 por minuto por clave |
| Concurrencia | 8 peticiones a la vez por clave |
| Tamaño de petición | hasta 8 MB |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| 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 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Bono | +5 % desde $50, +10 % desde $100 |
| 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 |
Errores y qué hacer
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
¿Es este modelo GPT-4 u otro modelo de OpenAI?
No. El ID del modelo es <code>uncensored</code>, un único modelo sin censura, servido directamente sin enrutamiento entre proveedores. No es GPT-4, Claude ni ningún otro modelo de proveedor. Responde sin rechazos a contenido adulto lícito.
¿Retienen mis datos para entrenamiento?
No. Los prompts enviados a la API no se utilizan para entrenar tu modelo. Tu cuenta solo requiere un correo electrónico y una contraseña, lo que garantiza una recopilación mínima de datos.
¿Qué sucede si excedo el límite de peticiones?
Recibirás un código de estado 429. El límite es de 300 peticiones por minuto por clave de API. Puedes regenerar tu clave o esperar a que se restablezca la ventana. No hay tarifas mensuales; pagas solo por lo que usas.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Eso es toda la configuración.