ML Kit の GenAI API は、Gemini Nano のパワーを活用して、アプリがタスクを実行できるようにします。これらの API は、高度なインターフェースを通じて、一般的なユースケースにすぐに使用できる品質を提供します。ML Kit GenAI API は AICore をベースに構築されています。AICore は、生成 AI 基盤モデルのオンデバイス実行を可能にする Android システム サービスです。ローカルでデータを処理することで、アプリの機能強化やユーザーのプライバシー保護の強化などの機能を実現します。
ML Kit GenAI API では、結果を受信するストリーミング オプションと非ストリーミング オプションの両方が用意されています。ストリーミング API は、レスポンスが生成されるたびに段階的に配信し、データの継続的なフローを提供します。一方、非ストリーミング API は、レスポンス全体が完了するまで待機してから、単一のブロックとして返します。
長いレスポンスには、ストリーミング API を選択します。これにより、初期フィードバックを迅速に取得できます。非ストリーミング API は、短いレスポンスや結果を一括で処理する場合に適しています。
デバイスのサポート
ML Kit GenAI API は、以下のデバイスで利用できます。今後、サポート対象のデバイスを拡大する予定です。
Google: Google Pixel 10、Google Pixel 10 Pro、Google Pixel 10 Pro XL、Google Pixel 10 Pro Fold、Google Pixel 9、Google Pixel 9 Pro、Google Pixel 9 Pro XL、Google Pixel 9 Pro Fold
AICore はアプリごとに推論割り当てを適用します。つまり、短期間に GenAI API リクエストを過剰に送信すると、ErrorCode.BUSY レスポンスが返されます。このようなエラーを受け取った場合は、指数バックオフを使用してリクエストを再試行することを検討してください。
バックグラウンドでの使用
GenAI API の推論は、アプリがトップ フォアグラウンド アプリケーションの場合にのみ許可されます。アプリがフォアグラウンドにないときに API を使用すると(フォアグラウンド サービスの使用を含む)、現在のところバックグラウンド使用量の割り当てがないため、ErrorCode.BUSY レスポンスが返されます。
[null,null,["最終更新日 2025-09-04 UTC。"],[],[],null,["| This API is offered in beta, and is not subject to any SLA or deprecation policy. Changes may be made to this API that break backward compatibility.\n\nML Kit's GenAI APIs harness the power of [Gemini Nano](https://developer.android.com/ai/gemini-nano/) to help your apps\nperform tasks. These APIs provide out-of-the-box quality for popular use cases\nthrough a high-level interface. The ML Kit GenAI APIs are built on top of\n[AICore](https://android-developers.googleblog.com/2023/12/a-new-foundation-for-ai-on-android.html), an Android system service that enables on-device execution of GenAI\nfoundation models to facilitate features such as enhanced app functionality and\nimproved user privacy by processing data locally.\n\nThe ML Kit GenAI APIs support the following features:\n\n- [**Summarization**](/ml-kit/genai/summarization/android): Summarize articles or chat conversations as a bulleted list.\n- [**Proofreading**](/ml-kit/genai/proofreading/android): Polish short content by refining grammar and fixing spelling errors.\n- [**Rewriting**](/ml-kit/genai/rewriting/android): Rewrite short messages in different tones or styles.\n- [**Image description**](/ml-kit/genai/image-description/android): Generate a short description of a given image.\n\nBenefits of GenAI APIs\n\nSimilar to other existing ML Kit features, GenAI APIs run entirely on-device and\nthus provide the following benefits:\n\n- Input, inference, and output data is processed locally\n- Functionality remains the same without reliable internet connection\n- No additional server cost incurred for each API call\n\nIn addition, since GenAI APIs are built on top of AICore and powered by Gemini\nNano, every app is able to use the shared Gemini Nano model that is on the\ndevice. This avoids the need to have to wait for a model to be downloaded if it\nalready exists on a device, and in turn conserves storage space. Learn [more\nabout how AICore isolates requests to protect privacy](https://android-developers.googleblog.com/2024/10/introduction-to-privacy-and-safety-gemini-nano.html).\n\nStreaming versus non-streaming\n\nML Kit GenAI APIs offer both streaming and non-streaming options for receiving\nresults. The streaming API delivers responses incrementally as they are\ngenerated, providing a continuous flow of data. In contrast, the non-streaming\nAPI waits until the entire response is complete before returning it as a single\nblock.\n\nChoose the streaming API for lengthy responses, as it allows for quicker initial\nfeedback. The non-streaming API is more suitable for short responses or when\nprocessing results in batches.\n\nDevice support\n\nThe ML Kit GenAI APIs are available on the following devices, with\nplans to expand support to additional devices:\n\n- Google: Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold\n- Honor: Honor 400 Pro, Magic 6 Pro, Magic 6 RSR, Magic 7, Magic 7 Pro, Magic V3\n- iQOO: iQOO 13\n- Motorola: Razr 60 Ultra\n- OnePlus: OnePlus 13, OnePlus 13s\n- OPPO: Find N5, Find X8, Find X8 Pro\n- POCO: POCO F7 Ultra\n- realme: realme GT 7 Pro\n- Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra\n- vivo: vivo X200, vivo X200 Pro, vivo X Fold3 Pro, vivo X Fold5\n- Xiaomi: Xiaomi 15 Ultra, Xiaomi 15\n\nAvailability of specific language support may vary depending on the particular\ndevice's configuration and the models that have been downloaded to the device.\n\nQuota per application\n\nAICore enforces an inference quota per app. This means that making too many\nGenAI API requests in a short period will result in an `ErrorCode.BUSY`\nresponse. When receiving such an error, consider using exponential backoff to\nretry the request.\n\nBackground usage\n\nGenAI API inference is permitted only when the app is the top foreground\napplication. Using the API when the app is not in the foreground, including\nusing a foreground service, will result in an `ErrorCode.BUSY` response due to\nthe current lack of background usage quota.\n\nSample code\n\nTo get this code, check out the following samples:\n\n- [ML Kit GenAI Samples](https://github.com/googlesamples/mlkit/tree/master/android/genai)\n- [Android AI Catalog Sample](https://github.com/android/ai-samples/tree/main/ai-catalog)"]]