É a API de imagem Gemini do Google?
Não. Se você chegou procurando um endpoint de imagem Gemini, o primeiro passo é definir quem executa o quê. Gemini é a família de modelos do Google, e o Google oferece geração de imagem através de seus próprios produtos para desenvolvedores. Seja o que esses produtos puderem fazer, você os acessa através do Google, com contas, chaves e termos do Google.
Este site é outra coisa. É uma API de texto hospedada na qual um único modelo de pesos abertos, executado por um provedor independente, é ajustado para responder sem recusas de conteúdo para uso adulto lícito. Não é um revendedor do Gemini, não encaminha solicitações para o Google e não tem endosso do Google ou de qualquer outro fornecedor de modelos. O nome de domínio menciona geração de imagem porque muitos visitantes vêm procurando ajuda com prompts, não porque imagens sejam produzidas aqui.
O que você realmente recebe
O escopo é deliberadamente pequeno, o que facilita a avaliação em alguns minutos.
- Protocolo: Compatível com OpenAI. Qualquer SDK ou cliente OpenAI funciona após você alterar duas coisas: a URL base e a chave.
- URL base:
https://api.imagegenapi.com/v1 - ID do modelo:
uncensored - Métodos:
POST /v1/chat/completionseGET /v1/models - Recursos: streaming via SSE, chamada de funções, modo JSON e passagem de parâmetros de amostragem (
temperature,top_p,stop,seed, penalidades). - Contexto: 100.000 tokens, prompt mais conclusão.
Não incluídos: geração de imagem, entrada de imagem, áudio, vídeo, embeddings e ajuste fino. Se um recurso não estiver na lista acima, considere-o ausente. A página de documentação contém o formato da requisição e os códigos de erro.
Terceiro versus oficial: como distinguir
A confusão é comum em todo o mercado, então uma lista de verificação rápida ajuda sempre que você encontra uma API cujo nome soa como o de um grande fornecedor.
- Olhe o domínio e os termos. Uma API oficial vive no próprio domínio e termos do fornecedor. Um serviço de terceiros diz isso ou, pelo menos, nomeia seu próprio operador.
- Verifique a lista de modelos. Aqui,
GET /v1/modelsretorna o único modelo,uncensored. Um roteador listaria muitos nomes de modelos de fornecedores. - Leia o que é prometido. Afirmações como "a coisa real, mas mais barata" merecem suspeita. Um serviço confiável diz quais recursos estão ausentes.
- Teste. Envie algumas solicitações com o crédito de teste grátis antes de mover qualquer carga de trabalho.
Neste site, as respostas são claras: provedor independente, um único modelo de pesos abertos, apenas texto. Trate qualquer outra interpretação como um erro. Você pode verificar a identidade do modelo por meio do comportamento, mas não deve esperar que ele se declare como o produto de um fornecedor específico.
Uma maneira sensata de combinar ferramentas de texto e imagem
Modelos de imagem são direcionados por prompts, e escrever bons prompts é principalmente uma tarefa de texto. Um fluxo de trabalho comum é, portanto, duas etapas: pedir a um modelo de linguagem para produzir um prompt detalhado e depois colar ou canalizar esse prompt no serviço de imagem que você escolheu, seja do Google ou de qualquer outro. O modelo de texto aqui cuida da etapa um.
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 um pipeline, peça JSON para que a próxima etapa possa ler os campos. Aqui está em Node com o pacote 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);
Algumas notas sobre esses trechos. A mensagem do sistema faz o trabalho pesado, então gaste seu tempo nela. A chave de API deve estar em uma variável de ambiente, nunca no controle de origem. E se a chamada falhar com 429, aguarde e tente novamente em vez de fazer um loop em velocidade máxima, pois um loop apertado apenas consome sua cota por minuto mais rapidamente. O mesmo código é executado inalterado contra outros hosts compatíveis com OpenAI, que é o ponto do protocolo compartilhado: você pode mudar de provedor alterando a URL base e o nome do modelo.
Lembre-se de que o foco em uso adulto lícito se aplica ao conteúdo que você solicita. Ficção, roleplay e aplicativos de companhia são os usos típicos, e o conteúdo sexual envolvendo menores de idade é bloqueado sem exceção.
Escrevendo prompts adequados para um modelo de imagem
A maior parte do valor na etapa de texto vem das instruções que você dá, não apenas do modelo. Alguns hábitos tornam a saída muito mais utilizável.
Dê ao modelo uma receita fixa
Diga a ele a ordem das partes que você deseja: assunto primeiro, depois cenário, depois luz, depois paleta, depois estilo. Modelos de imagem tendem a dar mais peso às palavras iniciais, então uma ordem estável mantém os resultados comparáveis entre execuções. Adicione um limite de palavras, pois prompts muito longos muitas vezes diluem o assunto principal em vez de melhorá-lo.
Diga o que excluir
Algumas ferramentas de imagem usam um prompt negativo separado, outras o ignoram. Peça ao modelo de texto para retornar as duas partes como campos JSON separados e depois descarte a segunda se sua ferramenta não tiver uso para ela. Isso é mais simples do que editar um parágrafo longo manualmente.
Itere na mesma conversa
Mantenha as mensagens anteriores na lista messages e peça alterações: luz mais quente, um plano mais amplo, menos personagens. A janela de contexto tem 100.000 tokens, então mesmo uma sessão de edição longa cabe. Diminua temperature quando quiser edições pequenas e aumente quando quiser ideias novas.
Teste algumas sementes
Se você passar a mesma seed com as mesmas mensagens e configurações, a saída permanece próxima de execução para execução. Altere apenas uma coisa de cada vez, como a mensagem do sistema, e você pode dizer qual alteração melhorou o resultado. Essa disciplina economiza mais dinheiro do que qualquer nível de preço, pois menos gerações de imagem desperdiçadas são a verdadeira economia de custos.
Custo da etapa de texto
O preço é $0,15 por 1M de tokens de entrada e $0,50 por 1M de tokens de saída, a partir de crédito pré-pago, sem assinatura. Solicitações recusadas ou falhas não são cobradas. Pegue um lote de 1.000 chamadas de escrita de prompt, cada uma com 400 tokens de entrada e 250 tokens de saída.
- Entrada por chamada: 400 / 1.000.000 x $0,15 = $0,00006.
- Saída por chamada: 250 / 1.000.000 x $0,50 = $0,000125.
- Por chamada: $0,000185.
- Por 1.000 chamadas: $0,185.
Isso são 18,5 centavos para o lote. Compare com o preço do seu provedor de imagem por imagem, que você deve consultar na página de preços deles, e você geralmente verá que a etapa de escrita de prompt é a mais barata.
Começando com crédito
Novos usuários podem solicitar $0,50 de crédito de teste com um clique na página da chave de API após se cadastrar com Google ou com e-mail e senha. Não exige pagamento e dura 7 dias. Depois disso, recarregue com qualquer valor inteiro de $20 a $500 em cripto (USDT na TRC20 ou USDC na Base). Bônus de +5% a partir de $50, +10% a partir de $100 e +15% a partir de $200, e o crédito nunca expira. Veja preços para o panorama completo.
Limites para planejar
Uma chave completa permite 8 requisições simultâneas e 300 requisições por minuto. Uma chave de teste permite 2 simultâneas e 60 por minuto. Exceder o primeiro dá HTTP 429 com código rate_limited, exceder o segundo dá 429 com código concurrency, e sobrecarga temporária dá 429 com um cabeçalho Retry-After: 5. Uma solicitação streaming mantém seu slot até que o stream termine, então feche streams que você não precisa mais.
Os cabeçalhos de resposta incluem X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests e X-RateLimit-Limit-Concurrency. Registre o ID da requisição com cada erro, pois é a maneira mais rápida de obter ajuda do suporte. O tamanho máximo do corpo é 8 MB.
Se o que você precisa é de uma chamada nativa de imagem do Gemini, vá ao Google e leia a documentação atual deles. Se o que você precisa é de um modelo de texto sem censura que fala o protocolo OpenAI, para escrever prompts, histórias ou diálogos de personagens para uso adulto lícito, isso foi feito para isso.
