Chrome hat ein KI-Modell direkt in den Browser integriert. Die Prompt API ist die JavaScript-Oberfläche, die Sie aufrufen, um sie zu nutzen. Kein API-Schlüssel, keine Netzwerk-Roundtrip, keine pro-Token-Abrechnung. Das Modell ist Gemini Nano, es läuft auf dem Gerät des Benutzers und ist ab Chrome 138 allgemein für Erweiterungen und hinter einem Flag für Webseiten verfügbar. Für API-Entwickler ändert dies, was auf dem Client sinnvoll ist.
Dieser Leitfaden behandelt, was die Chrome Prompt API ist, wie sie sich von der Cloud Gemini API unterscheidet, wann sie tatsächlich in einen API-Workflow passt, praktischen Code sowohl für Erweiterungen als auch für Webseiten und die Grenzen, auf die Sie schneller stoßen werden, als die Dokumentation zugibt. Wir koppeln sie am Ende mit Apidog, damit dieselben Aufgaben einen Fallback-Pfad haben, wenn das Modell nicht verfügbar ist.
TL;DR
- Die Chrome Prompt API macht Gemini Nano über
LanguageModelzugänglich, verfügbar unterwindow.LanguageModelfür Webseiten undchrome.languageModelfür Erweiterungen. - Das Modell läuft vollständig auf dem Gerät. Kein Netzwerkaufruf, kein Schlüssel, keine Token-Kosten.
- Stabil für Chrome-Erweiterungen in Chrome 138+. Für Webseiten wird es hinter dem Flag
chrome://flags/#prompt-api-for-gemini-nanound einem registrierten Origin Trial ausgeliefert. - Beste Anwendungen für API-Entwickler: clientseitiges Parsen von Eingaben, Reparatur von JSON-Strukturen, Zusammenfassung von API-Antworten für die Benutzeroberfläche und Stub-Generierung während der Entwicklung.
- Implementieren Sie immer einen Cloud-Fallback. Das On-Device-Modell fällt offen aus; Ihr Code sollte dies nicht tun.
Was die Prompt API tatsächlich bietet
Die Prompt API ist eine von einer kleinen Gruppe von „Integrierte KI“-APIs, die Chrome letztes Jahr zu liefern begann. Die anderen sind enger gefasst: Summarizer, Writer, Rewriter, Translator und Language Detector. Die Prompt API ist die allgemeine Oberfläche; die anderen umhüllen sie mit aufgabenspezifischen Standardeinstellungen.

Drei grundlegende Elemente sind wichtig:
LanguageModel.availability(). Gibtavailable,downloadable,downloadingoderunavailablezurück. Das Modell ist etwa 2 GB groß und wird beim ersten Aufruf durch eine Webseite im Hintergrund heruntergeladen.LanguageModel.create(options). Startet eine Sitzung. Die Sitzung speichert den Turn-Status, den System-Prompt und einige Sampling-Einstellungen.session.prompt(text)undsession.promptStreaming(text). Die beiden Wege, das Modell tatsächlich aufzurufen.
Die Form ist bewusst nahe am Gemini Cloud SDK, aber gekürzt. Es gibt noch kein Tool-Calling, keine Bildeingabe auf dem stabilen Kanal (es befindet sich im Origin Trial), und das Kontextfenster ist klein (4K Token Eingabe, 1K Ausgabe, mit einer weichen Erweiterung auf insgesamt 8K).
Ein erster Aufruf von einer Webseite sieht so aus:
if (!('LanguageModel' in window)) {
console.warn('Prompt API not available. Falling back to cloud.');
} else {
const status = await LanguageModel.availability();
if (status === 'unavailable') {
console.warn('Device does not support Gemini Nano.');
} else {
if (status !== 'available') {
// Triggers a background download. Show a UI.
await LanguageModel.create({ monitor(m) {
m.addEventListener('downloadprogress', e => {
console.log(`downloaded ${(e.loaded * 100).toFixed(0)}%`);
});
}});
}
const session = await LanguageModel.create({
systemPrompt: 'You answer in three concise bullets. JSON only.',
});
const reply = await session.prompt(
'Summarize this changelog in three bullets.\n\n' + changelog
);
console.log(reply);
}
}
Jeder wichtige Teil ist im Snippet ersichtlich: Feature-Erkennung, Verfügbarkeitsprüfung, optionaler Download, Sitzungserstellung, System-Prompt, Prompt-Aufruf.
Wie es sich von der Cloud Gemini API unterscheidet
Gleiche Familie, unterschiedliche Bereitstellung. Die Unterschiede prägen, was Sie darauf aufbauen können und was nicht.
| Eigenschaft | Chrome Prompt API | Gemini API (Cloud) |
|---|---|---|
| Modell | Gemini Nano (auf dem Gerät) | gemini-3-flash, gemini-3-flash-preview, gemini-3-pro |
| Kosten pro Aufruf | Null | Pro-Token-Abrechnung |
| Latenz | 50 bis 300 ms typisch für den ersten Token | 200 bis 800 ms für den ersten Token |
| Netzwerk | Nach dem Modell-Download nicht erforderlich | Bei jedem Aufruf erforderlich |
| Datenschutz | Eingabe verlässt das Gerät nie | Wird an Google-Server gesendet |
| Kontextfenster | 4K Eingabe / 1K Ausgabe (8K kombiniert) | Bis zu 1M Token |
| Tool-Calling | Nein (geplant) | Ja |
| Multimodal | Bildeingabe im Origin Trial | Ja |
| JSON-Modus | Best-Effort über System-Prompt | Erstklassig mit Schema |
| Verfügbarkeit | Nur Chrome, nur fähige Hardware | Jeder Client mit Netzwerk |
Das On-Device-Modell ist etwa zwei Größenordnungen kleiner als gemini-3-flash. Verwenden Sie es für kurze Aufgaben, bei denen Sie sonst einen Regex oder einen handoptimierten Prompt-Klassifizierer verwendet hätten. Verwenden Sie es nicht als direkten Ersatz für Cloud Gemini.
Wo es tatsächlich in den Workflow eines API-Entwicklers passt
Vier Anwendungsfälle rechtfertigen die Integrationskosten. Außerhalb dieser ist die Cloud API immer noch die richtige Wahl.
- Parsen und Umformen von Benutzereingaben clientseitig. Nehmen Sie eine Freiformabfrage und verwandeln Sie sie in einen strukturierten Filter für Ihre API. Der Benutzer tippt „Stripe-Gebühren über 100 $ letzte Woche“; die Prompt API wandelt dies in
{ "amount_gt": 100, "since": "2026-04-22", "provider": "stripe" }um, bevor Sie Ihren Such-Endpunkt aufrufen. Spart einen Roundtrip und schützt die Privatsphäre der Benutzer. - Zusammenfassen von API-Antworten für die Benutzeroberfläche. Sie rufen Ihre eigene API auf, erhalten 40 Datensätze zurück und benötigen eine einzeilige Zusammenfassung, um sie in einer Karte anzuzeigen. Das Senden der Datensätze an ein Cloud-Modell erhöht die Latenz und die Kosten. Die Prompt API läuft lokal und liefert Ergebnisse in weniger als 200 ms.
- Reparatur von JSON-Strukturen. LLM-Antworten kommen oft genug fehlerhaft an, um relevant zu sein. Führen Sie einen einmaligen Reparaturdurchlauf durch Gemini Nano durch: „Hier ist ungültiges JSON. Geben Sie nur gültiges JSON mit denselben Feldern zurück.“ Günstig, schnell, kostenlos.
- Lokales Stubbing während der Entwicklung. Während Sie einen neuen Endpunkt verdrahten und das Backend halb fertig ist, generieren Sie plausible Antworttexte im Handumdrehen. Die Strukturen werden nicht produktionsgerecht sein, aber sie entsperren die Frontend-Arbeit. Kombinieren Sie dies mit dem Mock-Server von Apidog für eine hybride Einrichtung, bei der kritische Endpunkte von gespeicherten Beispielen stammen und explorative von der Prompt API.
Integration in eine Erweiterung
Erweiterungen erhalten die Prompt API ab Chrome 138 auf dem stabilen Kanal. Sie deklarieren die Berechtigung und rufen chrome.languageModel auf.
manifest.json:
{
"manifest_version": 3,
"name": "Endpoint Summarizer",
"version": "1.0.0",
"permissions": ["languageModel"],
"action": { "default_popup": "popup.html" }
}
popup.js:
const status = await chrome.languageModel.availability();
if (status === 'unavailable') {
document.getElementById('out').textContent =
'Device does not support on-device AI.';
return;
}
const session = await chrome.languageModel.create({
systemPrompt: [
'You summarize HTTP responses in three short bullets.',
'Mention status, the most-changed field, and any error keys.',
].join(' '),
temperature: 0.3,
topK: 3,
});
document.getElementById('go').addEventListener('click', async () => {
const tab = await chrome.tabs.query({ active: true, currentWindow: true });
const [{ result }] = await chrome.scripting.executeScript({
target: { tabId: tab[0].id },
func: () => document.body.innerText.slice(0, 4000),
});
const stream = session.promptStreaming(result);
const out = document.getElementById('out');
out.textContent = '';
for await (const chunk of stream) {
out.textContent += chunk;
}
});
Zwei Dinge sind erwähnenswert. temperature und topK sind die einzigen Sampling-Parameter, die die API freilegt; topP wird auf dem stabilen Kanal nicht unterstützt. Streaming ist ein asynchroner Iterator, keine Server-Sent Events, daher ist das Konsummuster for await anstelle des SSE-Readers, den Sie für Cloud Gemini schreiben würden.
Integration in eine Webseite
Webseiten benötigen, dass der Benutzer ein Flag umlegt oder Ihr Origin für den Origin Trial registriert ist. Der Trial-Token kommt in ein Meta-Tag.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="origin-trial" content="YOUR_TRIAL_TOKEN_HERE" />
</head>
<body>
<textarea id="in" placeholder="Eine API-Antwort hier einfügen..."></textarea>
<button id="go">Zusammenfassen</button>
<pre id="out"></pre>
<script type="module">
if (!('LanguageModel' in window)) {
document.getElementById('out').textContent =
'Prompt API in diesem Browser nicht verfügbar.';
} else {
const session = await LanguageModel.create({
systemPrompt: 'Reply in JSON: { "summary": "...", "tags": [...] }',
temperature: 0.2,
});
document.getElementById('go').onclick = async () => {
const text = document.getElementById('in').value;
const reply = await session.prompt(text);
try {
document.getElementById('out').textContent =
JSON.stringify(JSON.parse(reply), null, 2);
} catch {
document.getElementById('out').textContent = reply;
}
};
}
</script>
</body>
</html>
Wenn Sie die Seite ohne Origin Trial Token testen möchten, öffnen Sie chrome://flags/#prompt-api-for-gemini-nano, setzen Sie es auf „Aktiviert“ und starten Sie Chrome neu. Das Flag war über die letzten sechs Versionen stabil, aber es wird nicht versprochen, dass es für immer bleibt; verwenden Sie den Origin Trial-Pfad, wenn Sie ein vorhersagbares Verhalten wünschen.
Grenzen und Fallstricke, die in der Dokumentation nicht ausreichend betont werden
Sechs Dinge, die Sie stolpern lassen werden.
- Der Kontext ist klein. 4K Eingabe, 1K Ausgabe. Aggressiv kürzen. Fügen Sie kein 50K-Token-JSON-Dokument ein und erwarten Sie eine nützliche Antwort.
- Die Hardware-Unterstützung ist ungleichmäßig. Das Modell benötigt etwa 4 GB VRAM oder vereinheitlichten Speicher und läuft nur auf Chrome 138+ unter Windows, macOS, Linux und neueren ChromeOS-Versionen. Mobile Chrome wird zum Zeitpunkt dieses Schreibens nicht unterstützt.
- Der erste Ladevorgang ist langsam. Der 2 GB große Download erfolgt im Hintergrund, blockiert aber die erste Sitzung. Zeigen Sie immer eine Benutzeroberfläche für den Download-Fortschritt an.
- Kein Tool-Calling. Wenn Ihre Aufgabe erfordert, dass das Modell Ihre API aufruft, tun Sie dies selbst auf dem Client; das Modell entscheidet nur, was aufgerufen werden soll.
- System-Prompt-Drift. Das On-Device-Modell folgt System-Prompts weniger starr als die Cloud-Varianten. Fixieren Sie das Format mit One-Shot-Beispielen im System-Prompt.
- Berechtigungen sind wichtig. Erweiterungen benötigen
"languageModel"inpermissions. Wenn Sie es vergessen, gibt die API stillschweigendunavailablezurück.
Implementieren Sie einen Cloud-Fallback, bevor Sie veröffentlichen
Ihre App wird an Benutzer ausgeliefert, die das Modell nicht haben. Implementieren Sie immer einen Fallback. Das Muster ist kurz:
async function summarize(text) {
if ('LanguageModel' in window) {
const status = await LanguageModel.availability();
if (status === 'available') {
const session = await LanguageModel.create({
systemPrompt: 'Reply with one bullet summary, max 12 words.',
});
return session.prompt(text);
}
}
// Fallback: call your server, which calls cloud Gemini or your own model.
const r = await fetch('/api/summarize', {
method: 'POST', body: JSON.stringify({ text }),
});
return (await r.json()).summary;
}
Datenschutz und was den Benutzern mitzuteilen ist
Das Verkaufsargument der Prompt API ist, dass Eingaben das Gerät nie verlassen. Das ist heute wahr und ist die explizite Designabsicht der Built-in AI-Initiative. Zwei wichtige Einschränkungen:
- Das Modell selbst wurde von Google mit Googles Daten trainiert; die lokale Ausführung ändert daran nichts. Chrome liefert die Gewichte mit dem Browser-Update aus.
- Telemetriedaten zur Nutzung können von Chrome weiterhin gemäß den normalen Chrome-Telemetrieeinstellungen des Benutzers gemeldet werden. Der Prompt-Inhalt ist nicht Teil dieser Telemetrie.
Für die meisten Consumer-Apps ist dies eine starke Datenschutzgeschichte, die Sie ohne rechtliche Prüfung in Ihre Benutzeroberfläche integrieren können. Für regulierte Workloads (HIPAA, PCI) sollten Sie sich vor der Verwendung rechtlich beraten lassen.
Wann die Prompt API zu überspringen ist
Wählen Sie stattdessen die Cloud Gemini API, wenn:
- Ihre Aufgabe mehr als 4K Tokens Eingabe benötigt.
- Sie Tool-Calling, strukturierte Ausgabe mit Schema-Durchsetzung oder multimodale Eingaben über den Origin Trial hinaus benötigen.
- Sie Benutzer auf Safari, Firefox oder mobilem Chrome bedienen. Die Browser-Unterstützung ist heute nur für Chrome verfügbar, und Apple hat noch keinen Liefertermin bekannt gegeben.
- Die Ausgabequalität wichtiger ist als die Latenz. Nano ist klein; Pro ist es nicht.
Für den Open-Weight-Aspekt behandelt How to run DeepSeek V4 locally, wie man ein deutlich größeres Modell auf einem Entwicklerrechner ausführt, ohne das lokale Netzwerk zu verlassen.
FAQ
Ist die Prompt API im offiziellen Webstandardisierungsprozess? Sie befindet sich als Vorschlag in der W3C WebML Community Group. Betrachten Sie sie als Chrome-spezifisch, bis andere Engines sie implementieren.
Kann ich sie von einem Service Worker aus verwenden? In Chrome 138+ ja für Erweiterungen. Webseiten beschränken sie derzeit auf den Dokumentkontext. Überprüfen Sie die Dokumentation, bevor Sie sie in einem Service Worker bereitstellen.
Welche Modellgröße erhalte ich tatsächlich? Gemini Nano liegt im Bereich von 2-4 Mrd. Parametern, quantisiert, um zu passen. Google hat sich nicht auf eine bestimmte Größe festgelegt; erwarten Sie, dass es wachsen wird.
Unterstützt es Funktion-Calling? Auf dem stabilen Kanal nein. Der Origin Trial-Zweig hat experimentelle Tool-Unterstützung; verlassen Sie sich nicht darauf für die Produktion.
Wie teste ich es in einer automatisierten CI? Sie können das On-Device-Modell noch nicht in headless Chromium ausführen. Mocken Sie das globale LanguageModel in Tests und führen Sie den Cloud-Fallback-Pfad in CI aus.
Ist es kostenlos für die kommerzielle Nutzung? Ja. Es gibt keine Pro-Aufruf-Abrechnung. Sie tragen die Speicherkosten auf dem Gerät des Benutzers (ca. 2 GB) und Chrome kümmert sich um Updates.
Für Teams, die bereits Cloud-seitige LLM-Workflows parallel dazu ausführen, behandelt der Beitrag What is GPT-5.5 die Cloud-seitigen Kompromisse ausführlicher, und Apidog übernimmt die Mock- und Fallback-Verdrahtung ohne ein separates Testtool.
