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機能を組み込めます。
Chrome 148+を用意
デスクトップ版Chromeを最新版に更新するだけ
モデル自動ダウンロード
初回アクセス時にGemini Nano(約4GB)が自動DL
APIを呼び出すだけ
window.ai.languageModel で即座にAI推論
動作要件
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項目で比較。用途に応じて最適なアプローチを選べます。
ブラウザ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程度が目安です。