ML Kit の生成 AI API の概要

ML Kit の GenAI API は、Gemini Nano の能力を活用してアプリのタスクを 実行します。これらの API は、高度なインターフェースを通じて、一般的なユースケースにすぐに使用できる品質を提供します。ML Kit の GenAI API は AICore上に構築されています。AICore は、オンデバイスでの生成 AI 基盤モデルの実行を可能にする Android システム サービスです。これにより、データをローカルで処理することで、アプリの機能強化や ユーザー プライバシーの向上などの機能が実現します。

GenAI API の使用には、ML Kit GenAI API 追加利用規約が適用されます。API クライアントの安全性とアプリのユーザー エクスペリエンスについては、デベロッパーが単独で責任を負います。

主な機能

ML Kit の GenAI API は、次の機能をサポートしています。

  • 要約: 記事やチャットの会話を箇条書きで要約します。
  • 校正: 文法を修正し、スペルミスを修正して、短いコンテンツを洗練させます。
  • 書き換え: 短いメッセージをさまざまなトーンやスタイルで書き換えます。
  • **画像の説明**: 指定された画像の簡単な説明を生成します。
  • 音声認識: 音声コンテンツをテキストに変換します。
  • プロンプト: カスタム テキストのみのプロンプトまたはマルチモーダル プロンプトに基づいてテキスト コンテンツを生成します。

生成 AI API のメリット

他の既存の ML Kit 機能と同様に、生成 AI API は完全にオンデバイスで実行されるため、次のようなメリットがあります。

  • 入力データ、推論データ、出力データはローカルで処理されます
  • 信頼性の高いインターネット接続がなくても機能は変わりません
  • API 呼び出しごとに追加のサーバー費用は発生しません

また、GenAI API は AICore 上に構築され、Gemini Nano を搭載しているため、すべてのアプリがデバイス上の共有 Gemini Nano モデルを使用できます。これにより、デバイスにモデルがすでに存在する場合にモデルのダウンロードを待つ必要がなくなり、ストレージ容量を節約できます。AICore がリクエストを分離してプライバシーを保護する方法について詳しくは 、こちらをご覧ください

ストリーミングと非ストリーミング

ML Kit の生成 AI API には、結果を受信するストリーミング オプションと非ストリーミング オプションの両方が用意されています。ストリーミング API は、レスポンスが生成されるたびに段階的に配信されるため、データの継続的な流れが実現します。一方、非ストリーミング API は、レスポンス全体が完了するまで待ってから、単一のブロックとして返します。

長いレスポンスの場合は、最初のフィードバックを迅速に行えるストリーミング API を選択します。非ストリーミング API は、短いレスポンスの場合や、結果をバッチで処理する場合に適しています。

デバイスのサポート

GenAI 機能固有の API(要約、校正、書き換え、画像の説明)は、次のセクションで説明するように、プロンプト API とは異なるデバイスをサポートしています。

機能固有の API のデバイス サポート

要約校正書き換え画像の説明の 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
  • Honor: Honor 400 Pro、Magic 7、Magic 7 Pro、Magic 8 Pro、Magic V5
  • iQOO: iQOO 13、iQOO 15
  • Motorola: Razr 60 Ultra、Razr Ultra 2025、Signature
  • OnePlus: OnePlus 15、OnePlus 15R、OnePlus 13、OnePlus 13s
  • OPPO: Find N5、Find X9、Find X9 Pro、Find X8、Find X8 Pro、Reno 14 Pro 5G、Reno 15 Pro 5G、Reno 15 Pro Mini 5G、Reno 15 Pro Max 5G
  • POCO: POCO F7 Ultra、POCO F8 Pro、POCO F8 Ultra、POCO X7 Pro、POCO X8 Pro
  • realme: realme GT 7 Pro、realme GT 7T
  • Samsung: Galaxy S25、Galaxy S25+、Galaxy S25 Ultra、Galaxy S26、Galaxy S26+、Galaxy S26 Ultra、Galaxy Z Fold7、Galaxy Z TriFold
  • vivo: vivo X200T、vivo X200 FE、vivo X200、vivo X200 Pro、vivo X300、X300 Pro、vivo X Fold3 Pro、vivo X Fold5、vivo T4 Ultra
  • Xiaomi: Xiaomi 14T Pro、Xiaomi 15、Xiaomi 15T、Xiaomi 15T Pro、Xiaomi 15 Ultra、Xiaomi 17、Xiaomi 17 Ultra、Xiaomi Pad Mini

特定の言語サポートの利用可否は、デバイスの構成とデバイスにダウンロードされているモデルによって異なります。

プロンプト API のデバイス サポート

プロンプト API は、次のデバイスでサポートされています。

nano-v2

  • Google: Google Pixel 9、Google Pixel 9 Pro、Google Pixel 9 Pro XL、Google Pixel 9 Pro Fold
  • Honor: Magic V5、Magic 7、Magic 7 Pro
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra、Razr Ultra 2025
  • OnePlus: OnePlus 13、OnePlus 13s
  • OPPO: Find N5
  • POCO: POCO F7 Ultra、POCO F8 Pro、POCO F8 Ultra、POCO X7 Pro、POCO X8 Pro
  • realme: realme GT 7 Pro
  • Samsung: Galaxy Z Fold7、Galaxy Z TriFold
  • Xiaomi: Xiaomi 14T Pro、Xiaomi 15、Xiaomi 15T、Xiaomi 15T Pro、 Xiaomi 15 Ultra、Xiaomi 17、Xiaomi 17 Ultra、Xiaomi Pad Mini
  • vivo: vivo X200 FE、vivo T4 Ultra

nano-v3

  • Google: Pixel 10、Google Pixel 10 Pro、Google Pixel 10 Pro XL、 Google Pixel 10 Pro Fold
  • Honor: Honor Magic 8 Pro
  • iQOO: iQOO 15
  • Motorola: Signature
  • OnePlus: OnePlus 15、OnePlus 15R
  • OPPO: Find X9、Find X9 Pro、Find X8、Find X8 Pro、Reno 14 Pro 5G、Reno 15 Pro 5G、Reno 15 Pro Mini 5G、Reno 15 Pro Max 5G
  • realme: realme GT 7T
  • Samsung: Galaxy S26、Galaxy S26+、Galaxy S26 Ultra
  • vivo: vivo X200T、vivo X200、vivo X200 Pro、vivo X300、vivo X300 Pro

Speech Recognition API のデバイス サポート

Speech Recognition API は、次のデバイスでサポートされています。

基本モード API レベル 31 以降を搭載した ほとんどの Android デバイスで利用できる、従来のオンデバイス音声認識モデルを使用します。
詳細モード GenAI モデルを活用して、高品質で幅広い言語 に対応しています。Google Pixel 10 デバイスでサポートされており、他のデバイスも開発中です。

Gemini Nano のバージョンを取得する

Gemini Nano のバージョンはデバイスによって異なります。デバイス上の Gemini Nano のバージョンを返すには、getBaseModelName() を使用します。

アプリケーションごとの割り当て

AICore は、アプリごとに推論割り当てを適用します。短期間に GenAI API リクエストを送信しすぎると、ErrorCode.BUSY レスポンスが返されます。このようなエラーが発生した場合は、指数バックオフを使用してリクエストを再試行することを検討してください。また、アプリが長期間の割り当て(1 日の割り当てなど)を超過した場合、ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED が返されることがあります。

バックグラウンドでの使用

GenAI API の推論は、アプリが最上位のフォアグラウンド アプリケーションの場合にのみ許可されます。アプリがフォアグラウンドにないときに API を使用すると(フォアグラウンド サービスの使用を含む)、ErrorCode.BACKGROUND_USE_BLOCKED レスポンスが返されます。

サンプルコード

このコードを取得するには、次のサンプルをご覧ください。