For developers · Checked 1 October 2026

Gemini Nano for Android developers

Short answer: Android apps reach Gemini Nano, Google’s on-device model, through ML Kit’s GenAI APIs, which run on the AICore system service. Use the ready-made Summarization, Proofreading, Rewriting and Image Description APIs for standard tasks, or the Prompt API (beta) for your own text or image-and-text prompts. Everything runs on the device, with no per-call server cost, but only on supported devices, only while your app is in the foreground, and within a per-app quota.

Prompt API support by Gemini Nano version (selected devices)

Excerpt from Google’s ML Kit GenAI device support list, read 1 October 2026. The full list includes more models from Honor, iQOO, Lenovo, Motorola, OnePlus, OPPO, POCO, realme, Sharp, Sony, vivo and Xiaomi.

Nano versionExamples from Google’s list
nano-v4Pixel 11, 11 Pro, 11 Pro XL, 11 Pro Fold; Galaxy Z Flip8, Z Fold8, Z Fold8 Ultra
nano-v3Pixel 9 and Pixel 10 series; Galaxy S26, S26+, S26 Ultra; OnePlus 15, 15R; OPPO Find X9, X8; vivo X300, X200
nano-v2Galaxy Z Fold7, Z TriFold; OnePlus 13, 13s; Xiaomi 15, 15 Ultra, 17; Honor Magic 7, Magic V5; Motorola Razr 60 Ultra

Prompt API or a feature-specific API

The feature-specific APIs are already tuned: low integration effort, no prompt engineering, but fixed behavior, such as summaries of 1 to 3 bullet points, generic short image descriptions and predefined rewriting styles. The Prompt API accepts text or image plus text, returns text or structured output, and suits tasks like image classification, short translations, guided summaries, entity extraction and receipt scanning, at the cost of more prompt engineering and quality testing. The feature APIs also run on a somewhat different device list, including the Galaxy S25 series. Prompt API is in beta, with no SLA or deprecation policy, and can change in breaking ways.

Getting started

The Prompt API needs Android API level 26 or higher; Google’s getting-started page adds it as com.google.mlkit:genai-prompt:1.0.0-beta4. Get a client with Generation.getClient(), then call checkStatus(): UNAVAILABLE means the device isn’t supported or hasn’t fetched its configuration yet, DOWNLOADABLE means you can call download(), and AVAILABLE means the model is ready. Because apps share the one Gemini Nano model that AICore manages, it doesn’t count against your app’s size or memory budget. Use getBaseModelName() to see which Nano version a device runs, since versions can answer the same prompt differently. Optional parameters include temperature, topK and candidateCount, and you can stream responses.

Quotas and the foreground rule

AICore enforces an inference quota per app: too many requests in a short time return ErrorCode.BUSY, so retry with exponential backoff, and exceeding a longer quota, such as a daily one, returns PER_APP_BATTERY_USE_QUOTA_EXCEEDED. Inference only runs while your app is the top foreground app; calls from the background, including from a foreground service, return BACKGROUND_USE_BLOCKED. Google doesn’t publish the quota numbers.

Privacy

AICore follows Android’s Private Compute Core principles: it is isolated from most other packages, has no direct internet access, with model downloads routed through the open-source Private Compute Services app, and doesn’t keep a record of inputs or outputs after processing. Apple’s equivalent is covered in Apple Foundation Models; to expose your own features to Gemini, see Android AppFunctions.

Where Censuus fits

An on-device AI feature gives people a reason to install; being found is what gets them to your listing. Censuus ranks apps by the visits they draw, and adding your app is free on the List my app form. Placement comes from traffic and sponsorship: apps climb on the visits they draw, and a sponsor can pay to rise higher.

Frequently asked questions

Which phones support Gemini Nano for developers?

Google keeps a device list per API. For the Prompt API it groups devices by Nano version: nano-v4 includes the Pixel 11 series and Galaxy Z Fold8 and Z Flip8; nano-v3 includes the Pixel 9 and Pixel 10 series and Galaxy S26 series; nano-v2 includes phones such as the Galaxy Z Fold7, OnePlus 13 and Xiaomi 15.

How do I use Gemini Nano in my Android app?

Through ML Kit’s GenAI APIs: add the Prompt API dependency, get a client with Generation.getClient(), check checkStatus(), download the model if needed, then call generateContent().

Does Gemini Nano work in the background?

No. Inference is allowed only when your app is the top foreground app; background calls, including from a foreground service, return BACKGROUND_USE_BLOCKED.

Is there a usage limit?

Yes. AICore applies a per-app inference quota: short bursts return ErrorCode.BUSY and exceeding a longer quota returns PER_APP_BATTERY_USE_QUOTA_EXCEEDED. Google doesn’t publish the limits.

Does Gemini Nano cost anything per request?

No server cost per call: inference runs on the device through AICore.

Guides for app developers

Put your app in the ranking

Censuus ranks apps by the visits they draw and by sponsorship, no bots. Listing is free; sponsorship raises placement.