Chrome Prompt API는 Chrome 브라우저에 내장된 Gemini Nano를 JavaScript로 직접 호출하는 온디바이스 AI API다. 외부 서버나 API 키 없이 웹 페이지와 크롬 확장 프로그램에서 자연어 처리, 텍스트 생성, 질문 응답 기능을 구현할 수 있다.
Chrome의 Built-in AI 이니셔티브 중 하나로, Summarizer·Writer·Rewriter·Proofreader·Language Detector·Translator API와 함께 제공된다. 현재 Chrome 138 이상에서 오리진 트라이얼(Origin Trial) 상태로 제공된다.
온디바이스 AI의 강점
기존 클라우드 AI API와의 핵심 차이는 데이터가 기기 밖으로 나가지 않는다는 점이다. 모델을 최초 다운로드한 이후에는 오프라인에서도 동작하며, Google이나 제3자에게 요청 내용이 전송되지 않는다.
| 항목 | Chrome Prompt API | 클라우드 AI API |
|---|---|---|
| 인터넷 연결 | 최초 모델 다운로드만 필요 | 매 요청마다 필요 |
| 데이터 프라이버시 | 기기 내 처리 | 서버 전송 |
| 비용 | 무료 | 토큰 과금 |
| 모델 크기 | Gemini Nano (경량) | Gemini 3.1 Pro, GPT-5.5 등 |
| 응답 지연 | 매우 낮음 | 네트워크 의존 |
하드웨어 요구 사항
Prompt API는 다음 조건을 모두 충족할 때 동작한다:
- OS: Windows 10/11, macOS 13 (Ventura)+, Linux, ChromeOS Chromebook Plus
- 저장 공간: 22 GB 이상 여유 공간 (모델 다운로드용)
- GPU: VRAM 4 GB 초과 또는 CPU: RAM 16 GB 이상 + CPU 코어 4개 이상
- 모바일: Chrome for Android·iOS는 미지원
10 GB 미만으로 여유 공간이 줄어들면 모델이 자동 삭제된다. 요구 사항 충족 시 재다운로드된다.
API 사용법
1. 모델 가용성 확인
const availability = await LanguageModel.availability({
// prompt()에 전달할 옵션과 동일하게 지정
});availability()에 전달하는 옵션은 이후 prompt() 또는 promptStreaming()에도 동일하게 전달해야 한다.
2. 세션 생성
const session = await LanguageModel.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`다운로드 ${e.loaded * 100}%`);
});
},
});다운로드 진행 중임을 사용자에게 알리려면 downloadprogress 이벤트를 리슨한다.
3. 프롬프트 실행
// 단일 응답
const response = await session.prompt("AI 규제의 현재 상황을 요약해줘");
// 스트리밍 응답
const stream = await session.promptStreaming("AI 규제 현황 요약");
for await (const chunk of stream) {
process.stdout.write(chunk);
}4. 초기 컨텍스트 설정
const session = await LanguageModel.create({
initialPrompts: [
{ role: 'system', content: '당신은 친절한 한국어 도우미입니다.' },
{ role: 'user', content: '서울의 수도는?' },
{ role: 'assistant', content: '서울은 대한민국의 수도입니다.' },
],
});initialPrompts로 이전 대화 내역을 주입해 세션을 재개할 수 있다.
5. 응답 접두사 제어 (prefix)
const result = await session.prompt([
{ role: 'user', content: '나는 내일 발표가 걱정돼.' },
{ role: 'assistant', content: '발표는 어렵죠!', prefix: true }
]);prefix: true를 붙이면 어시스턴트 응답의 시작 부분을 미리 지정해 원하는 형식으로 유도할 수 있다.
6. Chrome Extensions 전용: 파라미터 조정
// Chrome Extensions에서만 사용 가능
const params = await LanguageModel.params();
// { defaultTopK: 3, maxTopK: 128, defaultTemperature: 1, maxTemperature: 2 }
const session = await LanguageModel.create({
temperature: Math.max(params.defaultTemperature * 1.2, 2.0),
topK: params.defaultTopK,
});topK와 temperature를 함께 지정하거나 둘 다 생략해야 한다.
로컬호스트 개발 설정
chrome://flags에서 다음 두 플래그를 Enabled로 설정 후 재시작:
#optimization-guide-on-device-model#prompt-api-for-gemini-nano-multimodal-input
활용 시나리오
| 시나리오 | 설명 |
|---|---|
| 웹페이지 기반 Q&A | 현재 열린 페이지 내용으로 질문에 답변 |
| 개인화 뉴스 피드 | 기사를 실시간으로 카테고리 분류 |
| 커스텀 콘텐츠 필터 | 사용자 정의 주제 기반으로 콘텐츠 블러 처리 |
| 캘린더 이벤트 자동 생성 | 웹페이지에서 일정 정보를 추출해 캘린더 등록 |
| 연락처 자동 추출 | 웹사이트에서 비즈니스 연락처 파싱 |
Chrome Built-in AI 패밀리
Prompt API 외에도 Chrome에는 다음 내장 AI API가 제공된다:
- Summarizer API: 텍스트 요약
- Writer API: 텍스트 작성
- Rewriter API: 텍스트 재작성
- Proofreader API: 문법·맞춤법 교정
- Language Detector API: 언어 감지
- Translator API: 텍스트 번역
라이선스 및 정책
Gemini Nano 사용 전 Google 생성형 AI 금지 사용 정책 검토 필요. AI 설계 가이드는 People + AI Guidebook 참고.
transformersjs — 브라우저에서 HuggingFace 모델을 서버 없이 실행하는 대안 gemini — Gemini Nano의 상위 모델 계열 전체 개요