Inicio rápido: API de texto sin censura para pipelines de imágenes
Integra un LLM sin censura en tu pipeline de generación de imágenes con este inicio rápido compatible con OpenAI. Usa los endpoints proporcionados para generar, refinar o procesar texto sin filtros de contenido.
https://api.imagegenapi.com/v1uncensored
URL base y autenticación
Nuestra API sigue la estructura estándar de chat-completions de OpenAI. Para comenzar, ve a la página Obtener clave de API y regístrate con un correo electrónico y contraseña. La clave de API se muestra inmediatamente. No se requiere número de teléfono ni tarjeta de crédito para la prueba, aunque se necesita crédito prepago para un uso sostenido.
Configura tu URL base en https://api.imagegenapi.com/v1. Incluye tu clave de API en el encabezado Authorization como token Bearer. Esta configuración funciona con cualquier biblioteca cliente compatible con OpenAI. El identificador del modelo a usar es uncensored, un modelo de pesos abiertos ajustado para responder sin rechazos para uso adulto lícito.
Envío de un prompt
Envía una petición estándar chat.completions para generar texto. La API acepta una lista de mensajes en la matriz messages. Devuelve un objeto JSON que contiene la finalización. Esto es ideal para generación de prompts únicos o tareas de edición de metadatos donde no se requiere streaming.
curl https://api.imagegenapi.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."}]
}'El cuerpo de la petición incluye el campo model configurado en uncensored y tu historial de conversaciones. La respuesta contiene la respuesta del asistente, que luego puedes alimentar en tu pipeline de generación de imágenes o usar como pie de foto.
Integración con SDK de Python
Para desarrolladores de Python, usa la biblioteca oficial openai. Configura el base_url y el api_key para apuntar a nuestro servicio. Esto te permite aprovechar los idiomatismos familiares de Python mientras accedes a nuestro modelo sin censura.
from openai import OpenAI
client = OpenAI(base_url="https://api.imagegenapi.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)Inicializa el cliente con tu clave y la URL base correcta. Llama a chat.completions.create() con tus mensajes. Este enfoque es mejor para procesamiento por lotes o cuando necesitas analizar la respuesta JSON directamente en la lógica de tu aplicación. Recuerda que el ID del modelo debe ser uncensored.
Uso del SDK de Node.js
Los desarrolladores de Node.js pueden usar el paquete npm openai. Configura el baseURL a nuestro endpoint. Esto es útil para renderizado del lado del servidor o pasarelas API donde necesitas procesar respuestas de texto de forma asíncrona.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.imagegenapi.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);Crea la instancia del cliente con tu clave de API y URL base. Invoca chat.completions.create() para obtener la salida de texto. Este método es adecuado para generar scripts, pies de foto o extraer información de texto antes de que se use en tu pipeline de imágenes.
Respuestas en streaming
Para generar texto en tiempo real, activa el streaming estableciendo stream: true. La API devuelve un flujo de eventos enviados por el servidor (SSE), no un único objeto JSON. Debes procesar los fragmentos delta a medida que llegan para reconstruir el mensaje completo.
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)Recorre el flujo para mostrar el texto de forma incremental. Esto es crítico para aplicaciones donde importa la latencia, como la edición de prompts en vivo o interfaces de chat interactivas. Cada fragmento contiene una parte de la respuesta, lo que te permite renderizar el texto a medida que se genera.
Límites de peticiones y restricciones
Cada clave de API está limitada a 300 peticiones por minuto. El cuerpo de la petición no debe exceder 8 MB. Si excedes el límite, recibirás un error 429. Regenera tu clave si es necesario, lo que revocará la antigua.
Si tu crédito prepago se agota, la API rechazará las peticiones. No hay un nivel gratuito ilimitado; debes recargar con crédito. El error 401 indica una clave de API no válida o ausente. Asegúrate de que tu clave esté configurada correctamente en el encabezado de autorización. La ventana de contexto es de 100,000 tokens para prompt más completion.
Funciones y límites
Todos los límites y funciones reales de la API en un solo lugar: revísalos antes de recargar.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| ID del modelo | uncensored |
| Base URL | https://api.imagegenapi.com/v1 |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| 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) |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| Concurrencia | 8 peticiones a la vez por clave |
| Límite de peticiones | 300 por minuto por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Tamaño de petición | hasta 8 MB |
| 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 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Bono | +5 % desde $50, +10 % desde $100 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| 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 |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| Acceso | Google o correo y contraseña |
| 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
¿Es esta la API oficial de OpenAI?
No, es una API compatible con OpenAI. Usamos nuestro propio modelo sin censura, no GPT-3.5 ni GPT-4. La estructura del endpoint es idéntica, por lo que los clientes existentes de OpenAI funcionan con cambios mínimos de configuración.
¿La API genera imágenes o audio?
No, esta es una API solo de texto. Genera respuestas de texto que pueden usarse como prompts para servicios de generación de imágenes. No produce imágenes, audio ni video directamente.
¿Cómo manejo respuestas en streaming en Node.js?
Establece <code>stream: true</code> en tu petición. La API devuelve un flujo SSE. Debes recorrer el flujo para recopilar los fragmentos <code>delta</code> y reconstruir el mensaje completo. No esperes un único objeto JSON.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.
Obtener clave de API