エッジAIラボ
エッジAIラボ
CHROME AI

Chrome Prompt API 完全解説

Chrome 148に内蔵されたGemini Nano。インストール不要・API課金不要で、ブラウザ内ローカルLLM推論を実現するPrompt APIを徹底解説します。

Chrome Built-in AI(Prompt API)とは?

Chrome Built-in AIは、GoogleがChrome 148以降のデスクトップ版に組み込んだAI機能です。 ブラウザ内にGoogleの軽量LLM「Gemini Nano」を内蔵し、 Webサイトやウェブアプリから window.ai.languageModel APIを通じて 直接ローカルLLM推論を呼び出せます。

従来のクラウドAI APIと異なり、サーバーへのデータ送信が一切なくAPI課金もゼロ。ユーザーのブラウザ内だけで処理が完結するため、 プライバシーが根本的に保護されます。

開発者にとっての最大のメリットは、モデルの管理・配信がChrome側で自動化されることです。 npmパッケージのインストールもモデルファイルのホスティングも不要。 数行のJavaScriptコードだけで、あらゆるWebサイトにAI機能を組み込めます。

1

Chrome 148+を用意

デスクトップ版Chromeを最新版に更新するだけ

2

モデル自動ダウンロード

初回アクセス時にGemini Nano(約4GB)が自動DL

3

APIを呼び出すだけ

window.ai.languageModel で即座にAI推論

動作要件

項目
要件
備考
Chrome バージョン
Chrome 148 以降(デスクトップ版)
chrome://version で確認可能
OS
Windows 10/11、macOS 13+、Linux(一部)
モバイル版Chromeは現時点で非対応
ストレージ
約4GB の空き容量
Gemini Nanoモデルの自動ダウンロードに必要
メモリ
8GB以上のRAM推奨
4GBでも動作するが、他タブとの競合に注意
GPU
推奨(ただしCPUフォールバックあり)
dGPU搭載PCで最も高速。iGPUでも動作

API概要(window.ai.languageModel)

Prompt APIの主要メソッドと戻り値の一覧です。

window.ai.languageModel.availability()Promise<string>

Prompt APIの利用可能状態を返す。'available'(即時利用可)、'downloadable'(モデルDL可能)、'downloading'(DL中)、'unavailable'(非対応)のいずれか。

window.ai.languageModel.create(options?)Promise<AILanguageModel>

言語モデルセッションを作成。optionsでsystemPrompt、temperature、topKを指定可能。モデル未DLの場合は自動でダウンロード開始。

session.prompt(input, options?)Promise<string>

テキスト入力に対する完全な応答を返す。応答が完了するまで待機(非ストリーミング)。

session.promptStreaming(input, options?)ReadableStream

テキスト入力に対するストリーミング応答を返す。チャットUIでのリアルタイム表示に最適。

session.clone()Promise<AILanguageModel>

現在のセッション(会話履歴含む)を複製。A/Bテストや分岐会話に活用可能。

session.destroy()void

セッションを破棄しリソースを解放。不要になったセッションは明示的に破棄を推奨。

コード例

コピー&ペーストで即座に試せる実践的なコード例を5パターン紹介します。

1. 利用可能性チェック

まずPrompt APIが利用可能かどうかを確認します。

// Prompt API の利用可能性を確認
async function checkAvailability() {
  if (!window.ai?.languageModel) {
    console.log("このブラウザはPrompt APIに対応していません");
    return "unavailable";
  }
  const status = await window.ai.languageModel.availability();
  console.log("Prompt API 状態:", status);
  // "available" | "downloadable" | "downloading" | "unavailable"
  return status;
}

2. 基本的なテキスト生成

セッションを作成し、テキストを生成する最もシンプルな例。

// セッション作成 & テキスト生成
async function generateText() {
  const session = await window.ai.languageModel.create({
    systemPrompt: "あなたは親切な日本語アシスタントです。",
    temperature: 0.7,
    topK: 40,
  });

  const response = await session.prompt(
    "エッジAIとは何ですか?100文字以内で説明してください。"
  );
  console.log(response);

  // セッションの破棄を忘れずに
  session.destroy();
}

3. ストリーミング応答

応答をリアルタイムで表示するストリーミング方式。チャットUIに最適。

// ストリーミングでリアルタイム表示
async function streamResponse() {
  const session = await window.ai.languageModel.create();
  const stream = session.promptStreaming("日本の四季について教えて");

  const reader = stream.getReader();
  let result = "";

  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    // value は累積テキスト(差分ではなく全体)
    result = value;
    document.getElementById("output").textContent = result;
  }

  session.destroy();
}

4. テキスト分類(ゼロショット)

追加学習なしで、テキストをカテゴリに分類する例。

// テキスト分類
async function classifyText(text) {
  const session = await window.ai.languageModel.create({
    systemPrompt: `あなたはテキスト分類器です。
入力テキストを以下のカテゴリのいずれかに分類し、
カテゴリ名のみを返してください:
- ポジティブ
- ネガティブ
- 中立`,
    temperature: 0.1,  // 分類は低temperatureで安定化
  });

  const category = await session.prompt(text);
  session.destroy();
  return category.trim();
}

// 使用例
const result = await classifyText("この製品はとても使いやすい!");
console.log(result); // "ポジティブ"

5. テキスト要約

長文テキストを要約する例。コンテキストウィンドウの制限に注意。

// テキスト要約
async function summarizeText(text) {
  const session = await window.ai.languageModel.create({
    systemPrompt: "入力されたテキストを3行以内で要約してください。",
    temperature: 0.3,
  });

  // トークン数の確認(超過時は分割処理)
  const tokenCount = await session.countPromptTokens(text);
  console.log(`入力トークン数: ${tokenCount}`);

  const summary = await session.prompt(text);
  session.destroy();
  return summary;
}

上記のコード例を実際にブラウザで試すなら → Chrome内蔵AI(Prompt API)デモ

Gemini Nanoの能力と制限事項

Gemini Nanoは軽量LLMのため、クラウド版Geminiとは異なる特性を持ちます。

得意なタスク

  • テキスト分類(感情分析、カテゴリ振り分け)
  • 短文の要約・言い換え
  • 定型フォーマットでの回答生成
  • 日本語の自然な文章生成
  • プロンプト指示に沿った応答

苦手・非対応なタスク

  • 長文の高精度な要約(コンテキスト制限)
  • 専門知識を要する高度な質疑応答
  • コード生成(大型モデルに劣る)
  • 数学的推論・論理的推論
  • 画像・音声の処理(テキストのみ)

制限事項の詳細

仕様

モデルが固定(Gemini Nano)

Chrome内蔵のGemini Nanoのみ使用可能。カスタムモデルの読み込みや、モデルの切り替えはできません。より高性能なモデルが必要な場合はTransformers.jsやWebLLMを併用してください。

仕様

テキスト生成のみ対応

現時点ではテキスト入力→テキスト出力のみ。画像認識、音声処理、埋め込み(Embedding)生成には対応していません。将来のバージョンで拡張される可能性があります。

制約

コンテキストウィンドウの制限

入力+出力の合計トークン数に上限があります。session.maxTokens / session.tokensLeft で残トークン数を確認し、長文は分割処理してください。

制約

Chrome デスクトップのみ

Chrome 148以降のデスクトップ版(Windows/Mac/Linux)のみ対応。モバイル版Chrome、Safari、Firefox、Edgeでは利用できません(2026年6月時点)。

注意

初回モデルダウンロード

初回利用時にGemini Nanoモデル(約4GB)のダウンロードが発生します。ダウンロードはChromeのバックグラウンドで自動実行されますが、完了まで時間がかかる場合があります。

注意

出力の一貫性

temperature/topKの設定により出力が変動します。分類タスクにはtemperature=0.1程度の低値を推奨。同一入力に対して常に同一出力を保証するものではありません。

他のブラウザAIアプローチとの比較

Chrome Prompt API、Transformers.js、WebLLMの3方式を10項目で比較。用途に応じて最適なアプローチを選べます。

Chrome Prompt API
Transformers.js
WebLLM
セットアップ
Chrome更新のみ(自動)
npmインストール + モデルDL
npmインストール + モデルDL
モデル
Gemini Nano(固定)
200+モデルから選択
LLM特化(Llama, Qwen等)
モデルサイズ
約4GB(自動管理)
モデル依存(数MB〜数GB)
500MB〜数GB
バックエンド
Chrome内蔵(最適化済み)
ONNX Runtime Web(WASM/WebGPU)
WebGPU(MLC)
日本語性能
良好(Gemini系列)
モデル依存
Qwen系で良好
ストリーミング
対応(ReadableStream)
対応(コールバック)
対応(コールバック)
タスク種類
テキスト生成のみ
画像・音声・テキスト全般
テキスト生成特化
カスタムモデル
不可(Gemini Nano固定)
ONNX変換で自由に追加
MLC変換で追加可能
ブラウザ対応
Chrome 148+のみ
全主要ブラウザ
WebGPU対応ブラウザ
導入の手軽さ
非常に簡単
やや複雑
やや複雑

ブラウザAI技術の全体像は ブラウザAIとは?完全ガイド で詳しく解説しています。

Prompt APIのユースケース8選

テキスト分類からアクセシビリティ支援まで、Prompt APIの実践的な活用シーンを紹介します。

🏷️

テキスト分類

実装難度:

お問い合わせ内容の自動振り分け、レビューの感情分析、スパム判定。systemPromptでカテゴリを定義するだけでゼロショット分類が可能。

📝

テキスト要約

実装難度:

長文記事の要約、議事録の要点抽出、ニュース記事のダイジェスト生成。コンテキストウィンドウの制限に注意(長文は分割処理)。

🌏

翻訳

実装難度:

日本語→英語、英語→日本語のテキスト翻訳。Gemini Nanoの多言語能力を活用。専門用語の翻訳精度は要検証。

🛡️

コンテンツモデレーション

実装難度:

ユーザー投稿の不適切コンテンツ検出。データをサーバーに送信せずブラウザ内で判定するため、プライバシーを保護しながらモデレーション可能。

入力補助・サジェスト

実装難度:

テキスト入力フィールドでの文章補完、メール返信の候補生成。ストリーミングAPIでリアルタイム表示。

📊

データ抽出・構造化

実装難度:

非構造テキストからの情報抽出(住所、日付、金額等)。JSON形式での出力指示により、後続処理との連携が容易。

💬

対話型ヘルプ

実装難度:

Webサイトの組み込みFAQボット。サーバー不要・API課金不要で、サイト情報に基づく対話応答を提供。

アクセシビリティ支援

実装難度:

画像のalt属性自動生成(将来のマルチモーダル対応時)、難読テキストの平易化、多言語対応の即時翻訳。

プライバシーへの影響

🔒

データは端末から出ない

Prompt APIの推論はすべてブラウザ内のGemini Nanoで処理されます。 ユーザーの入力テキストがGoogleのサーバーに送信されることはありません。 GDPR・個人情報保護法への対応が根本的にシンプルになります。

💰

API課金ゼロ

クラウドAI APIの従量課金が完全に不要。ユーザー数が10人でも100万人でも サーバー側のAI処理コストはゼロです。スタートアップや個人開発者にとって 大きなコストメリットがあります。

🌐

オフライン動作

Gemini Nanoがローカルに保存された後は、インターネット接続なしで推論を実行できます。 通信環境の悪い場所や、機内モード中でもAI機能が利用可能です。

🛡️

セキュリティ

Chromeのセキュリティサンドボックス内で動作するため、モデルがファイルシステムや 他のタブのデータにアクセスすることはできません。ブラウザの既存のセキュリティモデルが そのまま適用されます。

よくある質問(FAQ)

Q. Prompt APIはどのバージョンのChromeから使えますか?

Chrome 148以降のデスクトップ版(Windows、macOS、Linux)で利用可能です。chrome://version でバージョンを確認できます。Chrome 147以前やモバイル版Chrome、他ブラウザ(Safari、Firefox、Edge)では利用できません。

Q. Gemini Nanoのモデルサイズはどのくらいですか?

約4GBです。初回利用時にChromeが自動でバックグラウンドダウンロードします。ダウンロード後はローカルに保存され、オフラインでも利用可能です。ストレージの空き容量を事前に確認してください。

Q. Prompt APIは無料で使えますか?

はい、完全に無料です。Chromeに内蔵されたモデルを使用するため、API課金は一切発生しません。ユーザー数がどれだけ増えてもサーバー側のコストはゼロです。

Q. Prompt APIとGemini API(クラウド版)の違いは何ですか?

Prompt APIはブラウザ内のGemini Nano(軽量版)を使用し、データがサーバーに送信されません。Gemini API(クラウド版)はGemini Pro/Ultraなどの大型モデルをサーバー側で実行し、API課金が発生します。精度はクラウド版が上ですが、プライバシーとコストではPrompt APIが優位です。

Q. Prompt APIで画像認識はできますか?

2026年6月時点では、Prompt APIはテキスト入出力のみに対応しています。画像認識が必要な場合は、Transformers.js(画像分類・物体検出モデル対応)やMediaPipe(ポーズ推定・顔検出等)をご利用ください。当サイトにはこれらのブラウザAIデモが多数あります。

Q. systemPromptはどう設定すべきですか?

タスクの目的と出力形式を明確に指示してください。分類タスクでは候補カテゴリを列挙し、要約タスクでは字数制限を指定すると安定します。日本語でsystemPromptを書けば日本語で応答します。temperatureは分類=0.1、創作=0.8程度が目安です。

Chrome内蔵AIを今すぐ体験

Chrome 148以降をお使いなら、インストール不要で即座にAI推論を体験できます。