DEV Community

Cover image for Gemini API 無制限無料利用
Akira
Akira

Posted on • Originally published at apidog.com

Gemini API 無制限無料利用

GoogleのGeminiファミリーは、大量ワークロード向けの費用対効果が高いフロンティアモデルラインです。ただし、無料の公開アプリ、サイドプロジェクト、ハッカソン用途でも、エンドポイントを数千人が使い始めるとAPI料金はすぐに増えます。Puter.jsを使うと、Google APIキーなしでGemini 2.5 Pro、Gemini 2.5 Flash、Gemini 2.0 Flash、Gemini 3 Flash Preview、Gemma 2/3/4ファミリーをブラウザから呼び出せます。課金は開発者ではなくエンドユーザーのPuterアカウント側で処理されるため、開発者側は無料で使えます。

今すぐApidogを試す

要するに

  • Puter.jsを使うと、Google APIキー、Google Cloudプロジェクト、バックエンドサーバーなしでGemini/Gemmaモデルを呼び出せます。
  • サポートされるGeminiには、2.5 Pro、2.5 Flash、2.5 Flash Lite、2.0 Flash、2.0 Flash Lite、3 Flash Previewなどがあります。
  • サポートされるGemmaには、複数サイズのGemma 2、3、4があります。
  • 実装は<script>タグ1つとputer.ai.chat()だけです。
  • ストリーミング、画像入力、温度調整、マルチターン会話をブラウザで扱えます。
  • エンドユーザーがPuterアカウント経由で使用料を負担するため、開発者側のAPIキー管理や請求リスクを避けられます。
  • 公式Gemini APIとPuterの比較・移行検証には、Apidogを使うと整理しやすくなります。

「無料無制限」の仕組み

Puter.jsはLLMの課金モデルを反転させます。

通常は開発者がGoogle AI Studioキーを持ち、すべてのトークンコストを負担します。一方、PuterではエンドユーザーがPuterにサインインし、そのユーザーの残高から利用分が処理されます。新規Puterアカウントにはスタータークレジットが付与され、必要に応じてユーザーがチャージできます。

開発者側の実装上のメリットは次の通りです。

  • Google Cloudプロジェクトが不要
  • Google AI Studioキーが不要
  • APIキーの漏洩対策やローテーションが不要
  • 開発者側の利用上限管理が不要
  • ユーザー数に応じて利用枠が分散される
  • Googleへの直接課金を持たずにGeminiを組み込める

ただし、Puterはブラウザファーストです。ログイン済みユーザーセッションを前提にするため、cron、バッチ、Webhookなどのバックエンド処理には向きません。

ステップ1: Puter.jsをインストールする

静的HTMLならCDNを1行追加します。

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

これでブラウザからputerオブジェクトを使えます。

バンドルされたアプリで使う場合はnpmからインストールします。

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

ステップ2: モデルを選ぶ

用途ごとにモデルを切り替えます。

モデルID 使用する場面
google/gemini-2.5-pro 深い推論、複雑な分析、長文コンテキストタスク
google/gemini-2.5-flash 日常的なデフォルト。速度、品質、コストのバランスが良い
google/gemini-2.5-flash-lite 大量分類、タグ付け、軽量Q&A
google/gemini-2.0-flash 安定したベースラインとして使いたい場合
google/gemini-3-flash-preview 最新プレビューを試したい場合
google/gemma-3-27b-it オープンGemmaの命令チューニング済みモデルを使いたい場合
google/gemma-4-31b-it より大きなGemmaモデルを試したい場合

多くのアプリでは、まずgoogle/gemini-2.5-flashをデフォルトにします。

推奨の切り替え方は次の通りです。

const MODEL = {
  default: 'google/gemini-2.5-flash',
  reasoning: 'google/gemini-2.5-pro',
  cheap: 'google/gemini-2.5-flash-lite',
};
Enter fullscreen mode Exit fullscreen mode
  • 通常のチャット: google/gemini-2.5-flash
  • 難しい推論: google/gemini-2.5-pro
  • 大量の分類・タグ付け: google/gemini-2.5-flash-lite

ステップ3: Geminiと会話する

最小構成は次の通りです。

<!DOCTYPE html>
<html>
<body>
  <script src="https://js.puter.com/v2/"></script>
  <script>
    puter.ai.chat(
      "Explain machine learning in three sentences",
      { model: 'google/gemini-2.5-flash' }
    ).then(response => {
      puter.print(response);
    });
  </script>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

このHTMLをブラウザで開くと、PuterがGemini呼び出しを処理します。ユーザーがPuterにサインインしていない場合は、初回実行時にサインインまたはアカウント作成の流れになります。

APIキー、環境変数、バックエンドサーバーは不要です。

ステップ4: UIに組み込む

実際のアプリでは、入力欄と出力領域を用意して呼び出します。

<!DOCTYPE html>
<html>
<body>
  <textarea id="prompt" rows="5" cols="60">
日本語で、REST APIとGraphQLの違いを説明してください。
  </textarea>
  <br />
  <button id="send">送信</button>
  <pre id="output"></pre>

  <script src="https://js.puter.com/v2/"></script>
  <script>
    const promptEl = document.getElementById('prompt');
    const outputEl = document.getElementById('output');
    const sendBtn = document.getElementById('send');

    sendBtn.addEventListener('click', async () => {
      outputEl.textContent = '生成中...';

      try {
        const response = await puter.ai.chat(promptEl.value, {
          model: 'google/gemini-2.5-flash',
        });

        outputEl.textContent = response;
      } catch (error) {
        outputEl.textContent = `Error: ${error.message}`;
      }
    });
  </script>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

最初はこの形で動作確認し、その後にReact、Vue、Svelteなどへ移植すると実装しやすくなります。

ステップ5: 応答をストリーミングする

チャットUIや長文回答では、ストリーミングを有効にします。

const response = await puter.ai.chat(
  "Explain photosynthesis in detail",
  {
    model: 'google/gemini-2.5-flash',
    stream: true,
  }
);

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

part.textには応答の断片が入ります。UIに順次追加すれば、ユーザーは回答がリアルタイムに生成される様子を見られます。

HTMLに組み込むと次のようになります。

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

<script>
  async function streamAnswer() {
    const outputDiv = document.getElementById('output');
    outputDiv.innerHTML = '';

    const response = await puter.ai.chat(
      "Geminiをブラウザアプリに組み込む手順を説明してください。",
      {
        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

ステップ6: 画像入力を使う

Geminiの強みの1つはマルチモーダル入力です。画像URLを渡すと、画像の内容を説明させたり、画像に関する質問をしたりできます。

puter.ai.chat(
  "What do you see in this image? Describe colors, objects, and mood.",
  "https://assets.puter.site/doge.jpeg",
  { model: 'google/gemini-2.5-flash' }
).then(response => {
  puter.print(response);
});
Enter fullscreen mode Exit fullscreen mode

主なユースケースは次の通りです。

  • 代替テキスト生成
  • ビジュアルQA
  • スクリーンショット分析
  • OCR補助
  • アクセシビリティツール
  • 商品画像のタグ付け
  • 図やチャートの説明

自然画像や図の理解ではGeminiは強力です。ただし、テキストが非常に密集したスクリーンショットでは、GPT-5.xの方が有利な場合があります。

ステップ7: 温度を調整する

temperatureを指定すると、出力のランダム性を調整できます。

const response = await puter.ai.chat(
  'Write a creative short story about a robot chef',
  {
    model: 'google/gemini-2.5-flash',
    temperature: 0.2,
  }
);
Enter fullscreen mode Exit fullscreen mode

目安は次の通りです。

用途 temperature
事実ベースの回答 0.00.3
JSONや分類など構造化出力 0.00.2
通常のチャット 0.50.7
クリエイティブライティング 0.71.0

Gemini Flashでは、一般的なチャット用途なら0.7前後から試すとよいです。

ステップ8: マルチターン会話を実装する

会話履歴はメッセージ配列として渡します。

const messages = [
  { role: 'user', content: 'I am building a Next.js app with Postgres.' },
  { role: 'assistant', content: 'Got it. What do you need help with?' },
  { role: 'user', content: 'How should I structure migrations?' },
];

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

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

実装では、ユーザー発話とアシスタント応答を配列に追加していきます。

const messages = [];

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

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

  messages.push({
    role: 'assistant',
    content: response,
  });

  return response;
}
Enter fullscreen mode Exit fullscreen mode

Geminiは渡された履歴全体を読み取り、会話の文脈を維持します。

同じプロンプトでGeminiを他のモデルと比較する

Puterは主要なLLMを単一のインターフェースで扱えます。ユースケースに合うモデルを見つけるには、同じプロンプトを複数モデルに投げて比較します。

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

const prompt = "Refactor this React component to use 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

比較時は、少なくとも次の項目を記録します。

  • レイテンシー
  • 回答品質
  • コードの正確性
  • 指示追従性
  • 日本語品質
  • 長文での安定性
  • ユーザーにとって許容できる応答時間

傾向として、Gemini Flashはレイテンシー面で使いやすく、Sonnetはコーディング品質、GPT-5.5は長文生成、Grok 4.3はコスト面で比較対象になります。最終的には、実際のプロンプトでベンチマークしてください。

得られるものと得られないもの

Puter経由で得られるもの:

  • Gemini 2.5/2.0/3 Flash系モデル
  • Gemini 2.5 Pro
  • Open Gemmaファミリー
  • マルチターン会話
  • ストリーミング応答
  • 画像URL入力
  • 温度、最大トークン数、システムプロンプト
  • ブラウザベースの本番アプリで使える実行パス

Puterのバージョンや公開状況によっては得られない可能性があるもの:

  • Geminiでのネイティブ関数呼び出し
  • コード実行ツール
  • Google検索による根拠付け
  • Geminiの最大200万トークンの長文コンテキスト
  • ブラウザセッションなしのサーバーサイド実行
  • Google側レート制限の直接的な可視化

コード実行、検索グラウンディング、長大コンテキストが必要なエージェント型ワークフローでは、公式Google AI Studio APIの方が適しています。

一般的なチャット、Q&A、コンテンツ生成、画像理解、プロトタイプでは、Puterで十分に始められます。

Puterと公式Gemini APIの使い分け

Puterを使うべきケース

  • 無料の公開アプリを出したい
  • APIキー漏洩や高額請求のリスクを避けたい
  • Google Cloudプロジェクトを作りたくない
  • 静的サイトでGeminiを使いたい
  • ハッカソンやプロトタイプを高速に作りたい
  • ブラウザ拡張機能にLLMを組み込みたい
  • ユーザーがPuterへのサインインを許容できる

公式Gemini APIを使うべきケース

  • cron、バッチ、Webhookなどサーバーサイド呼び出しが必要
  • コード実行が必要
  • Google検索による根拠付けが必要
  • 最大200万トークンのフルコンテキストが必要
  • Googleとの直接契約やコンプライアンス要件がある
  • 独自データセットでファインチューニングしたい
  • ユーザーにPuterサインインを要求できない

Gemini 3 Flashの単独ウォークスルーは、Gemini 3 Flash Preview APIの利用方法を参照してください。

Apidogで統合テストを整理する

Puterの呼び出しはブラウザ内で実行されるため、通常のバックエンド用APIテストランナーからそのままスクリプト化するのは難しいです。

実装時は次の流れにすると整理しやすくなります。

  1. Puterスクリプトを含む小さな静的ページを作る
  2. プロンプトやモデル名をクエリパラメータで渡せるようにする
  3. 公式APIへ移行する可能性がある場合は、ApidogでGoogle Gemini APIのリクエストを別環境として管理する
  4. puter-prototypegemini-prodを分けて、同じ仕様を比較できるようにする

例:

  • puter-prototype: Puterページをホストするlocalhost URL
  • gemini-prod: https://generativelanguage.googleapis.com/v1

Apidogをダウンロードし、Puterプロトタイプと公式Gemini APIを別環境として管理しておくと、移行時に比較しやすくなります。

より広範なAPIテストパターンは、QAエンジニア向けAPIテストツールも参考になります。

Puter経由で使える他のLLMパス

同じユーザー課金モデルは、他の主要LLMにも適用されます。

Puterでは、model文字列を切り替えるだけでプロバイダーも切り替えられます。

await puter.ai.chat("Summarize this text", {
  model: 'google/gemini-2.5-flash',
});

await puter.ai.chat("Summarize this text", {
  model: 'gpt-5.5',
});
Enter fullscreen mode Exit fullscreen mode

FAQ

これは本当に無制限ですか?

開発者側から見ると無制限です。エンドユーザーはPuterアカウントの残高に応じて利用します。新規アカウントにはスタータークレジットが付与され、必要に応じてユーザーがチャージできます。

GoogleアカウントやGoogle Cloudプロジェクトは必要ですか?

不要です。PuterがGoogleとの接続を処理します。開発者がGoogle APIキーを扱う必要はありません。

本番環境で使えますか?

ブラウザベースのアプリであれば使えます。重要なのは、ユーザーがPuterへのサインインを許容できるかどうかです。

Puter経由のGeminiは公式APIと同じですか?

Puterはユーザーの代わりにGoogleのAPIを呼び出します。モデルの基本的な動作は変わりません。ただし、Puterを経由する分、レイテンシーがわずかに増える可能性があります。

Geminiの200万トークンコンテキストは使えますか?

Puterは現在、すべてのモデルバリアントで200万トークン上限を完全に公開しているわけではありません。非常に長いコンテキストが必要な場合は、公式Google AI Studio APIを選ぶべきです。多くのユースケースは20万トークンを大きく下回るため、その範囲ではPuterで対応できます。

Discordボットやバックエンドサービスで使えますか?

Puterはブラウザファーストで、ユーザーセッションを前提とします。Discordボット、cron、バックエンドサービスでは、公式Gemini APIを直接使う方が適しています。

どのモデルをデフォルトにすべきですか?

まずはgoogle/gemini-2.5-flashです。速度、品質、コストのバランスが良く、多くのプロンプトに対応できます。

  • 通常用途: google/gemini-2.5-flash
  • 難しい推論: google/gemini-2.5-pro
  • 大量分類: google/gemini-2.5-flash-lite

画像生成はサポートされていますか?

Puterは現在、OpenAIのgpt-image-2およびDALL-Eバリアントを介した画像生成を公開しており、Imagenではありません。画像生成パスについては、無料無制限のGPT-5.5 APIを入手を参照してください。

まとめ

Puter.jsを使うと、Google CloudのセットアップなしでGeminiをブラウザアプリに組み込めます。最小実装は、CDNスクリプトを読み込み、puter.ai.chat()を呼び出すだけです。

まずは次の構成から始めるのが実用的です。

const response = await puter.ai.chat("あなたのプロンプト", {
  model: 'google/gemini-2.5-flash',
});
Enter fullscreen mode Exit fullscreen mode

無料公開アプリ、静的サイト、ハッカソン、プロトタイプでは、PuterはAPIキーなしでGeminiを試すためのシンプルな選択肢です。

一方で、サーバーサイド実行、ファインチューニング、コード実行、検索グラウンディング、最大200万トークンの長文コンテキストが必要な場合は、公式Google AI Studio APIを使うべきです。

Apidogで公式APIリクエストを整理しつつ、Puterプロトタイプと比較すれば、実装段階でどちらを採用すべきか判断しやすくなります。

Top comments (0)