DEV Community

Cover image for API Gemini Gratuita e Ilimitada
Lucas
Lucas

Posted on • Originally published at apidog.com

API Gemini Gratuita e Ilimitada

A família Gemini do Google é uma opção econômica para cargas de trabalho de alto volume, mas os custos ainda crescem quando um app público, projeto paralelo ou hackathon começa a receber milhares de chamadas. O Puter.js muda esse modelo: ele permite chamar modelos Gemini e Gemma no navegador sem chave de API do Google, sem projeto no Google Cloud e sem backend próprio. O uso é cobrado do usuário final via conta Puter; para você, desenvolvedor, a integração não exige faturamento direto.

Experimente o Apidog hoje

Resumo

  • Puter.js dá acesso ao catálogo Gemini/Gemma sem chave de API do Google, sem Google Cloud e sem servidor.
  • Modelos Gemini suportados incluem: 2.5 Pro, 2.5 Flash, 2.5 Flash Lite, 2.0 Flash, 2.0 Flash Lite, 3 Flash Preview e prévias anteriores.
  • Modelos Gemma suportados incluem: Gemma 2, 3 e 4 em vários tamanhos.
  • A integração mínima usa uma tag <script> e uma chamada JavaScript.
  • Streaming, entrada de imagem e parâmetros como temperature funcionam direto no navegador.
  • O usuário final cobre o uso a partir da conta Puter; você não gerencia cobrança.
  • Use Apidog para comparar o fluxo via Puter com a API oficial do Gemini antes de migrar.

Como funciona o modelo “gratuito ilimitado”

Com a API oficial do Gemini, você cria um projeto, gera uma chave, gerencia cotas e paga pelos tokens usados. Com Puter.js, o usuário faz login em uma conta Puter e a chamada é associada ao saldo dele.

Na prática, isso remove três tarefas do seu lado:

  • Sem Google Cloud: você não cria projeto, não configura billing e não guarda API keys.
  • Sem backend obrigatório: a chamada pode sair diretamente do navegador.
  • Sem custo centralizado no seu app: cada usuário usa a própria conta Puter.

A limitação principal: esse fluxo é focado em navegador. Jobs de backend, cron, filas e webhooks ainda devem usar a API oficial do Gemini.

Passo 1: Instale o Puter.js

Para um protótipo ou página estática, inclua o SDK via CDN:

<script src="https://js.puter.com/v2/"></script>
Enter fullscreen mode Exit fullscreen mode

Isso já é suficiente para chamar modelos Gemini no navegador.

Se você estiver empacotando o app com Vite, Next.js, React ou outro bundler, instale via npm:

npm install @heyputer/puter.js
Enter fullscreen mode Exit fullscreen mode

E importe no código:

import { puter } from '@heyputer/puter.js';
Enter fullscreen mode Exit fullscreen mode

Passo 2: Escolha o modelo Gemini/Gemma

Use o ID do modelo no parâmetro model.

ID do modelo Quando usar
google/gemini-2.5-pro Raciocínio mais profundo, análise complexa e tarefas com contexto maior
google/gemini-2.5-flash Padrão recomendado para a maioria dos apps de chat, Q&A e geração de conteúdo
google/gemini-2.5-flash-lite Classificação, marcação e tarefas simples de alto volume
google/gemini-2.0-flash Base estável com comportamento conhecido
google/gemini-3-flash-preview Prévia mais recente para testes com baixa latência
google/gemma-3-27b-it Modelo Gemma aberto, ajustado para instruções
google/gemma-4-31b-it Modelo Gemma maior, útil quando você quer testar alternativas abertas

Para começar, use:

google/gemini-2.5-flash
Enter fullscreen mode Exit fullscreen mode

Troque para google/gemini-2.5-pro apenas quando precisar de raciocínio mais forte. Use as variantes Lite para tarefas simples e repetitivas.

Passo 3: Faça a primeira chamada ao Gemini

Exemplo mínimo em HTML:

<!DOCTYPE html>
<html lang="pt-BR">
<body>
  <div id="output"></div>

  <script src="https://js.puter.com/v2/"></script>
  <script>
    async function main() {
      const response = await puter.ai.chat(
        "Explique aprendizado de máquina em três frases.",
        {
          model: "google/gemini-2.5-flash"
        }
      );

      document.getElementById("output").innerText = response;
    }

    main();
  </script>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Abra o arquivo no navegador. Na primeira execução, o usuário pode precisar fazer login ou criar uma conta Puter. Depois disso, a resposta é exibida na página.

Passo 4: Crie uma função reutilizável

Em vez de chamar puter.ai.chat() diretamente em vários pontos do app, encapsule a chamada:

async function askGemini(prompt, options = {}) {
  return puter.ai.chat(prompt, {
    model: options.model || "google/gemini-2.5-flash",
    temperature: options.temperature ?? 0.7,
  });
}

const answer = await askGemini("Gere cinco ideias de nomes para um app de tarefas.");
console.log(answer);
Enter fullscreen mode Exit fullscreen mode

Isso facilita trocar o modelo depois sem refatorar toda a aplicação.

Passo 5: Use streaming para interfaces de chat

Para respostas longas, streaming melhora a experiência do usuário porque o texto aparece conforme é gerado.

<div id="output"></div>

<script src="https://js.puter.com/v2/"></script>
<script>
  async function streamAnswer() {
    const outputDiv = document.getElementById("output");

    const response = await puter.ai.chat(
      "Explique a fotossíntese em detalhes.",
      {
        model: "google/gemini-2.5-flash",
        stream: true,
      }
    );

    for await (const part of response) {
      if (part?.text) {
        outputDiv.innerHTML += part.text;
      }
    }
  }

  streamAnswer();
</script>
Enter fullscreen mode Exit fullscreen mode

Cada part.text contém um pedaço da resposta. Em um app real, você pode anexar esse conteúdo ao componente de mensagens do chat.

Passo 6: Envie imagens para o Gemini

O Gemini aceita entrada multimodal. Com Puter.js, você pode passar uma URL de imagem como segundo argumento:

puter.ai.chat(
  "O que você vê nesta imagem? Descreva cores, objetos e humor.",
  "https://assets.puter.site/doge.jpeg",
  {
    model: "google/gemini-2.5-flash"
  }
).then(response => {
  puter.print(response);
});
Enter fullscreen mode Exit fullscreen mode

Casos de uso práticos:

  • geração de texto alternativo;
  • análise de screenshots;
  • QA visual;
  • OCR;
  • acessibilidade;
  • descrição de produtos;
  • classificação de imagens.

Para screenshots com muito texto pequeno, teste a qualidade antes de colocar em produção.

Passo 7: Ajuste temperature

Use temperature para controlar o nível de criatividade da resposta.

const response = await puter.ai.chat(
  "Escreva um conto curto sobre um chef robô.",
  {
    model: "google/gemini-2.5-flash",
    temperature: 0.8,
  }
);

console.log(response);
Enter fullscreen mode Exit fullscreen mode

Regra prática:

  • 0.0 a 0.3: respostas mais determinísticas, úteis para dados estruturados, classificação e conteúdo factual.
  • 0.4 a 0.7: equilíbrio para chat e assistentes gerais.
  • 0.8 a 1.0: geração mais criativa, útil para brainstorming e escrita.

Passo 8: Mantenha contexto em conversas

Para conversas com múltiplas interações, envie um array de mensagens:

const messages = [
  {
    role: "user",
    content: "Estou construindo um aplicativo Next.js com Postgres."
  },
  {
    role: "assistant",
    content: "Entendi. Com o que você precisa de ajuda?"
  },
  {
    role: "user",
    content: "Como devo estruturar as migrações?"
  },
];

const response = await puter.ai.chat(messages, {
  model: "google/gemini-2.5-pro",
});

console.log(response);
Enter fullscreen mode Exit fullscreen mode

Em um app de chat, mantenha esse array no estado da aplicação:

const messages = [];

async function sendMessage(userText) {
  messages.push({
    role: "user",
    content: userText,
  });

  const answer = await puter.ai.chat(messages, {
    model: "google/gemini-2.5-flash",
  });

  messages.push({
    role: "assistant",
    content: answer,
  });

  return answer;
}
Enter fullscreen mode Exit fullscreen mode

Assim, o modelo recebe o histórico completo a cada chamada.

Comparando Gemini com outros modelos no mesmo prompt

O Puter expõe diferentes provedores por uma interface comum. Para comparar modelos, rode o mesmo prompt contra várias opções:

const models = [
  "google/gemini-2.5-flash",
  "claude-sonnet-4-6",
  "gpt-5.5",
  "x-ai/grok-4.3",
];

const prompt = "Refatore este componente React para usar hooks: ...";

for (const model of models) {
  const start = performance.now();

  const response = await puter.ai.chat(prompt, { model });

  const elapsed = performance.now() - start;

  console.log(`${model}: ${elapsed.toFixed(0)}ms`);
  console.log(response);
  console.log("---");
}
Enter fullscreen mode Exit fullscreen mode

Use esse teste para avaliar:

  • latência;
  • qualidade da resposta;
  • aderência ao formato esperado;
  • consistência entre execuções;
  • custo para o usuário final.

Para a maioria dos fluxos de produto, comece com google/gemini-2.5-flash e só troque quando o resultado não atender ao requisito.

O que você obtém e o que você não obtém

Você obtém

  • Catálogo Gemini 2.5/2.0/3 Flash e 2.5 Pro.
  • Família Gemma aberta.
  • Conversas com múltiplas interações.
  • Streaming.
  • Entrada de imagem por URL.
  • Parâmetros como temperature, max_tokens e prompts de sistema.
  • Integração direta no navegador.

Você pode não obter, dependendo da versão do Puter

  • Chamada de função nativa no Gemini.
  • Ferramenta de execução de código.
  • Fundamentação com Google Search.
  • Contexto longo até o teto total de 2M tokens do Gemini.
  • Uso limpo no lado do servidor sem contexto de navegador.
  • Visibilidade direta dos limites de taxa do Google.

Se você precisa de agentes complexos, execução de código, fundamentação com Search ou integrações estritamente server-side, use a API oficial do Google AI Studio. Para chat, Q&A, geração de conteúdo e análise visual em apps de navegador, Puter.js costuma ser suficiente.

Quando usar Puter vs API oficial do Gemini

Use Puter quando

  • Você está criando um app público gratuito e não quer exposição direta a faturamento.
  • Você está prototipando e quer evitar configuração de Google Cloud.
  • Você quer usar Gemini em site estático, extensão de navegador ou hackathon sem backend.
  • Seus usuários aceitam fazer login no Puter.
  • A aplicação roda principalmente no navegador.

Use a API oficial do Gemini quando

  • Você precisa de chamadas server-side, cron, batch jobs ou webhooks.
  • Você precisa de execução de código, fundamentação com Search ou contexto total de 2M tokens.
  • Você precisa de contrato, compliance ou controle direto com o Google.
  • Você precisa de fine-tuning no seu próprio dataset.
  • Seus usuários não podem passar por login no Puter.

Para o tutorial autônomo do Gemini 3 Flash, consulte Como usar a API de prévia do Gemini 3 Flash.

Testando a integração no Apidog

Como as chamadas do Puter acontecem no navegador, você não testa esse fluxo exatamente como uma API de backend. Um padrão prático é separar protótipo e produção:

  1. Crie uma página estática com Puter.js.
  2. Passe o prompt por query string ou por um campo de formulário.
  3. Use essa página para validar UX, login e resposta do modelo.
  4. No Apidog, modele a API oficial do Gemini para quando você precisar migrar para backend.
  5. Mantenha ambientes separados para protótipo e produção.

Exemplo de ambientes no Apidog:

  • puter-prototype: aponta para seu localhost ou página estática com Puter.js.
  • gemini-prod: aponta para https://generativelanguage.googleapis.com/v1.

Baixe o Apidog e configure os dois ambientes na mesma coleção. Assim você consegue comparar o fluxo via navegador com a API oficial antes de decidir a arquitetura final.

Para padrões mais amplos de teste de API, consulte Ferramenta de teste de API para engenheiros de QA.

Outros caminhos gratuitos para LLMs via Puter

O mesmo modelo de “usuário paga” também funciona com outros LLMs expostos pelo Puter:

O padrão de implementação é o mesmo: altere a string model e mantenha a mesma chamada puter.ai.chat().

FAQ

É realmente ilimitado ou há um limite oculto?

Do lado do desenvolvedor, sim: você não gerencia uma cota própria nem paga pelos tokens diretamente. O usuário final usa o saldo disponível na conta Puter.

Preciso de uma conta Google ou projeto Google Cloud?

Não. O Puter lida com a chamada ao Google. Você não precisa gerar nem armazenar uma chave de API do Google.

Posso usar isso em produção?

Sim, para aplicações baseadas em navegador. A decisão principal é de produto: seus usuários aceitam fazer login no Puter?

O Gemini via Puter se comporta igual à API oficial?

A saída vem do modelo Gemini, mas a chamada passa pelo Puter. A latência pode ter um salto extra. Para requisitos críticos de latência, compliance ou controle, compare com a API oficial.

E a janela de contexto de 2M tokens do Gemini?

O Puter pode não expor o teto total de 2M tokens em todas as variantes. Para contextos extremamente longos, use a API oficial do Google AI Studio.

Posso usar Gemini via Puter em um bot do Discord ou serviço backend?

Não de forma limpa. O Puter é focado em navegador e assume uma sessão de usuário. Para bots, workers e serviços backend, use a API oficial do Gemini.

Qual modelo devo usar como padrão?

Use google/gemini-2.5-flash. Ele oferece bom equilíbrio entre velocidade e qualidade. Use google/gemini-2.5-pro para tarefas mais complexas e google/gemini-2.5-flash-lite para classificação ou marcação em alto volume.

A geração de imagens com Imagen é suportada?

O Puter expõe geração de imagens por variantes como gpt-image-2 e DALL-E da OpenAI, não Imagen. Veja Obtenha API GPT-5.5 gratuita ilimitada para esse caminho.

Conclusão

Puter.js é uma forma direta de usar Gemini em apps de navegador sem configurar Google Cloud, sem guardar API key e sem centralizar o custo no seu projeto. Para começar, inclua o script, escolha google/gemini-2.5-flash e chame puter.ai.chat().

Para backend, fine-tuning, execução de código, Search grounding ou contexto completo de 2M tokens, a API oficial do Google AI Studio continua sendo o caminho mais adequado. Para protótipos, hackathons, sites estáticos e apps públicos gratuitos, Puter.js reduz bastante o atrito de implementação.

Construa a solicitação uma vez no Apidog, compare o Puter com a API oficial e escolha o fluxo que se encaixa melhor na sua arquitetura.

Top comments (0)