Chrome AI
Summarization
Summarize text using Chrome built-in Gemini Nano
Summarization
Chrome AI provides instant text summarization via the built-in Summarizer API. No model download required.
See it in action
Try Text Summarizer and Smart Writer for working demos.
Basic Usage
import { summarize } from '@localmode/core';
import { chromeAI } from '@localmode/chrome-ai';
const { summary, usage } = await summarize({
model: chromeAI.summarizer(),
text: 'Long article text that needs summarizing...',
});
console.log(summary);
console.log(`Completed in ${usage.durationMs}ms`);Summary Types
Chrome AI supports four summary types:
// TL;DR — concise summary (default)
chromeAI.summarizer({ type: 'tl;dr' })
// Key Points — bullet-style key points
chromeAI.summarizer({ type: 'key-points' })
// Teaser — engaging preview
chromeAI.summarizer({ type: 'teaser' })
// Headline — single-line headline
chromeAI.summarizer({ type: 'headline' })Output Format
// Plain text (default)
chromeAI.summarizer({ format: 'plain-text' })
// Markdown
chromeAI.summarizer({ format: 'markdown' })Summary Length
chromeAI.summarizer({ length: 'short' }) // Brief
chromeAI.summarizer({ length: 'medium' }) // Balanced (default)
chromeAI.summarizer({ length: 'long' }) // DetailedShared Context
Provide context that applies to all summarizations in a session:
const medicalSummarizer = chromeAI.summarizer({
type: 'key-points',
sharedContext: 'These are medical research papers. Focus on methodology and findings.',
});
const { summary } = await summarize({
model: medicalSummarizer,
text: researchPaper,
});With AbortSignal
const controller = new AbortController();
const { summary } = await summarize({
model: chromeAI.summarizer(),
text: longArticle,
abortSignal: controller.signal,
});
// Cancel if needed
controller.abort();For full API reference, options, and result types, see the Core Summarization guide.