¿Es la API de imágenes Gemini de Google?
No. Si llegaste buscando un endpoint de imágenes Gemini, lo primero es aclarar quién gestiona qué. Gemini es la familia de modelos de Google, y Google ofrece generación de imágenes a través de sus propios productos para desarrolladores. Sea cual sea la capacidad de esos productos, se accede a través de Google, con cuentas, claves y términos de Google.
Este sitio es otra cosa. Es una API de texto alojada en la que un único modelo de pesos abiertos, ejecutado por un proveedor independiente, está ajustado para responder sin rechazos de contenido para uso adulto lícito. No es un revendedor de Gemini, no envía peticiones a Google y no cuenta con el respaldo de Google ni de ningún otro proveedor de modelos. El nombre de dominio menciona la generación de imágenes porque muchos visitantes buscan ayuda con prompts, no porque se produzcan imágenes aquí.
Lo que realmente obtienes
El alcance es deliberadamente pequeño, lo que facilita su evaluación en unos minutos.
- Protocolo: Compatible con OpenAI. Cualquier SDK o cliente de OpenAI funciona tras cambiar dos cosas: la URL base y la clave.
- URL base:
https://api.imagegenapi.com/v1 - ID de modelo:
uncensored - Métodos:
POST /v1/chat/completionsyGET /v1/models - Características: streaming sobre SSE, llamadas a funciones, modo JSON y parámetros de muestreo directos (
temperature,top_p,stop,seed, penalizaciones). - Contexto: 100.000 tokens, prompt más completion.
No incluido: generación de imágenes, entrada de imágenes, audio, video, embeddings y ajuste fino. Si una característica no está en la lista anterior, asume que está ausente. La página de documentación tiene el formato de petición y los códigos de error.
Terceros versus oficial: cómo distinguirlo
La confusión es común en todo el mercado, por lo que una lista de verificación rápida ayuda cada vez que te encuentras con una API cuyo nombre suena como el de un gran proveedor.
- Mira el dominio y los términos. Una API oficial vive bajo el dominio y los términos del proveedor. Un servicio de terceros lo indica o, al menos, nombra a su propio operador.
- Comprueba la lista de modelos. Aquí,
GET /v1/modelsdevuelve el único modelo,uncensored. Un router enumeraría muchos nombres de modelos de proveedores. - Lee lo que se promete. Afirmaciones como "lo auténtico, pero más barato" merecen sospecha. Un servicio fiable te dice qué funcionalidades faltan.
- Pruébalo. Envía algunas peticiones con la prueba gratuita antes de mover cualquier carga de trabajo.
En este sitio, las respuestas son claras: proveedor independiente, un modelo de pesos abiertos, solo texto. Trata cualquier otra interpretación como un error. Puedes verificar la identidad del modelo mediante su comportamiento, pero no debes esperar que reclame ser el producto de un proveedor en particular.
Una forma sensata de combinar herramientas de texto e imagen
Los modelos de imágenes se basan en prompts, y escribir buenos prompts es principalmente una tarea de texto. Por tanto, un flujo de trabajo común tiene dos pasos: pedir a un modelo de lenguaje que produzca un prompt detallado y luego pegar o canalizar ese prompt en el servicio de imágenes que hayas elegido, ya sea de Google o de otro. El modelo de texto aquí maneja el primer paso.
from openai import OpenAI
client = OpenAI(base_url="https://api.imagegenapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
temperature=0.7,
messages=[
{"role": "system", "content": "Turn a short idea into a detailed prompt for a text-to-image model. Include subject, setting, lighting, color palette and mood. One paragraph."},
{"role": "user", "content": "A smuggler's market inside a hollowed-out whale skeleton, neon lanterns."},
],
)
print(resp.choices[0].message.content)
Para una canalización, pide JSON para que la siguiente etapa pueda leer los campos. Aquí está en Node con el paquete oficial openai:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.imagegenapi.com/v1",
apiKey: process.env.API_KEY,
});
const res = await client.chat.completions.create({
model: "uncensored",
response_format: { type: "json_object" },
messages: [
{ role: "user", content: "Return JSON with keys prompt and style for: a whale-skeleton night market." },
],
});
const out = JSON.parse(res.choices[0].message.content);
console.log(out.prompt);
Algunas notas sobre esos fragmentos. El mensaje del sistema hace el trabajo pesado, así que dedica tu tiempo allí. La clave de API debe estar en una variable de entorno, nunca en el control de código fuente. Y si la llamada falla con un 429, espera y reintenta en lugar de hacer un bucle a máxima velocidad, ya que un bucle ajustado solo consume tu asignación por minuto más rápido. El mismo código se ejecuta sin cambios contra otros hosts compatibles con OpenAI, que es el punto del protocolo compartido: puedes cambiar de proveedor cambiando la URL base y el nombre del modelo.
Recuerda que el enfoque de uso adulto lícito se aplica al contenido que solicitas. La ficción, el roleplay y las aplicaciones de compañía son los usos típicos, y el contenido sexual que involucra a menores de edad se bloquea sin excepción.
Redacción de prompts adecuados para un modelo de imagen
La mayor parte del valor del paso de texto proviene de las instrucciones que das, no solo del modelo. Algunos hábitos hacen que la salida sea mucho más utilizable.
Dale al modelo una receta fija
Dile el orden de las partes que quieres: sujeto primero, luego entorno, luego luz, luego paleta, luego estilo. Los modelos de imágenes tienden a ponderar más las palabras iniciales, por lo que un orden estable mantiene los resultados comparables entre ejecuciones. Añade un límite de palabras, ya que los prompts muy largos a menudo diluyen el sujeto principal en lugar de mejorarlo.
Di qué excluir
Algunas herramientas de imagen toman un prompt negativo separado, otras lo ignoran. Pide al modelo de texto que devuelva las dos partes como campos JSON separados, y luego descarta la segunda si tu herramienta no la usa. Esto es más simple que editar un párrafo largo a mano.
Itera en la misma conversación
Mantén los mensajes anteriores en la lista messages y pide cambios: luz más cálida, un plano más amplio, menos personajes. La ventana de contexto es de 100.000 tokens, por lo que incluso una sesión de edición larga cabe. Reduce temperature cuando quieras ediciones pequeñas y auméntalo cuando quieras ideas nuevas.
Prueba algunas semillas
Si pasas el mismo seed con los mismos mensajes y configuraciones, la salida se mantiene cercana de ejecución en ejecución. Cambia solo una cosa a la vez, como el mensaje del sistema, y podrás saber qué cambio mejoró el resultado. Esa disciplina ahorra más dinero que cualquier nivel de precio, ya que menos generaciones de imágenes desperdiciadas son el verdadero ahorro de costos.
Coste del paso de texto
El precio es $0,15 por cada 1M de tokens de entrada y $0,50 por cada 1M de tokens de salida, desde crédito prepago, sin suscripción. Las peticiones rechazadas o fallidas no se cobran. Toma un lote de 1.000 llamadas de redacción de prompts, cada una con 400 tokens de entrada y 250 tokens de salida.
- Entrada por llamada: 400 / 1.000.000 x $0,15 = $0,00006.
- Salida por llamada: 250 / 1.000.000 x $0,50 = $0,000125.
- Por llamada: $0,000185.
- Por 1.000 llamadas: $0,185.
Eso son 18,5 centavos para el lote. Compáralo con el precio por imagen del proveedor de imágenes, que deberías consultar en su página de precios, y normalmente verás que el paso de escritura del prompt es el más barato.
Primeros pasos con crédito
Los usuarios nuevos pueden reclamar $0,50 de crédito de prueba con un clic en la página de la clave de API tras registrarse con Google o con correo electrónico y contraseña. No requiere pago y dura 7 días. Después, recarga con cualquier cantidad entera de $20 a $500 en cripto (USDT en TRC20 o USDC en Base). Los bonos son +5% desde $50, +10% desde $100 y +15% desde $200, y el crédito no caduca. Consulta precios para ver el panorama completo.
Límites para planificar
Una clave completa permite 8 peticiones simultáneas y 300 peticiones por minuto. Una clave de prueba permite 2 simultáneas y 60 por minuto. Exceder el primero da HTTP 429 con código rate_limited, exceder el segundo da 429 con código concurrency, y la sobrecarga temporal da 429 con un encabezado Retry-After: 5. Una petición en streaming mantiene su espacio hasta que termina el flujo, así que cierra los flujos que ya no necesites.
Los encabezados de respuesta incluyen X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests y X-RateLimit-Limit-Concurrency. Registra el ID de petición con cada error, porque es la forma más rápida de obtener ayuda de soporte. El tamaño máximo del cuerpo es de 8 MB.
Si lo que necesitas es una llamada nativa de imágenes Gemini, ve a Google y lee su documentación actual. Si lo que necesitas es un modelo de texto sin censura que use el protocolo de OpenAI, para escribir prompts, historias o diálogos de personajes para uso adulto lícito, esto está hecho para eso.
