URL base y autenticación
Empieza creando una cuenta en la página Obtener clave de API. Solo necesitas un correo electrónico y una contraseña; no se requiere número de teléfono ni tarjeta de crédito para activar el crédito de prueba. Una vez registrado, tu clave de API se muestra inmediatamente. Copia esta clave y guárdala de forma segura. Úsala en el encabezado Authorization como un token Bearer para todas las peticiones. La URL base para todos los endpoints es https://api.gemma4api.com/v1. Esta URL funciona con cualquier cliente compatible con OpenAI, permitiéndote cambiar de proveedor simplemente cambiando la URL base y la clave de API en tu configuración.
Primera petición
Envía tu primer prompt usando curl para verificar la conectividad. Reemplaza YOUR_API_KEY con tu clave real. El identificador del modelo es uncensored. Esta sencilla petición de texto a texto confirma que tu autenticación es correcta y que el modelo responde. Si recibes una respuesta JSON con una matriz choices, tu configuración está completa. Ahora puedes proceder a integrar el SDK para flujos de trabajo más complejos.
curl https://api.gemma4api.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
Instala el paquete oficial de Python de OpenAI. Establece las variables de entorno de la URL base y la clave de API o pásalas directamente al constructor del cliente. Usa el ID del modelo uncensored para asegurarte de que estás llamando a nuestra instancia específica. Este enfoque asegura que tu código siga siendo compatible con los patrones estándar de OpenAI mientras aprovecha nuestro modelo sin censura para la generación de contenido. El SDK maneja los reintentos y el parsing JSON automáticamente.
from openai import OpenAI
client = OpenAI(base_url="https://api.gemma4api.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 entornos JavaScript, instala el paquete de Node.js de OpenAI. Configura el cliente con la URL base https://api.gemma4api.com/v1 y tu clave de API. Usa el ID del modelo uncensored en tus solicitudes de finalización. Esta configuración te permite mantener estructuras de código compatibles con OpenAI mientras te beneficias del comportamiento específico del modelo alojado en nuestros servidores. Asegúrate de manejar correctamente las respuestas asíncronas dentro del bucle de eventos de Node.js.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.gemma4api.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 el parámetro stream en true en tu petición de API. Esto devuelve un flujo de Server-Sent Events (SSE), permitiéndote mostrar tokens a medida que se generan. Esto es ideal para interfaces de chat donde importa la latencia. Cada fragmento contiene un delta parcial de la respuesta. Maneja el evento de fin de flujo para saber cuándo se completa la generación. Este método 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)
Límites, errores y ventana de contexto
Tus peticiones admiten una ventana de contexto de 100.000 tokens para prompt y finalización combinados. El límite de peticiones es de 300 peticiones por minuto por clave, con un tamaño máximo de cuerpo de petición de 8 MB. Los errores comunes incluyen 401 para claves inválidas, 402 si tu crédito prepago se agota y 429 si superas el límite por minuto. Regenerar tu clave de API revoca la antigua pero no restablece el contador de límite. Asegúrate de que tu cliente maneje estos códigos de estado HTTP apropiadamente para mantener un funcionamiento fluido.
Especificaciones técnicas
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 |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Base URL | https://api.gemma4api.com/v1 |
| ID del modelo | uncensored |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Modo JSON | response_format: {"type": "json_object"} |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Límite de peticiones | 300 por minuto por clave |
| Tamaño de petición | hasta 8 MB |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Concurrencia | 8 peticiones a la vez por clave |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| 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 |
| Bono | +5 % desde $50, +10 % desde $100 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Acceso | Google o correo y contraseña |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| 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 |
Preguntas y respuestas
¿Regenerar mi clave de API restablece el contador de límite de peticiones?
No. Regenerar tu clave revoca la anterior y emite una nueva credencial, pero el límite de peticiones se aplica por cuenta y persiste independientemente de los cambios de clave. Debes esperar a que se restablezca la ventana de un minuto si superas el límite de 300 peticiones/minuto.
¿Qué modelo se ejecuta detrás del ID 'uncensored'?
Es un modelo de lenguaje grande de pesos abiertos alojado en nuestros propios servidores GPU. No es GPT, Claude, Gemini ni ningún otro modelo de otro proveedor. Está ajustado para responder sin rechazos de contenido para uso adulto lícito.
¿Puedo usar esta API para llamadas a funciones?
Sí. El endpoint <code>/v1/chat/completions</code> admite llamadas a funciones y herramientas. Puedes pasar definiciones de herramientas en la petición y el modelo devolverá una salida JSON estructurada compatible con las implementaciones estándar de SDK de OpenAI.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.