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 機能と同様に、GenAI API は完全にオンデバイスで実行されるため、次のようなメリットがあります。

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

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

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

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

長いレスポンスには、ストリーミング API を選択します。これにより、初期フィードバックを迅速に取得できます。非ストリーミング API は、短いレスポンスや結果を一括で処理する場合に適しています。

デバイスのサポート

以降のセクションで説明するように、生成 AI 機能固有の 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 6 Pro、Magic 6 RSR、Magic 7、Magic 7 Pro、Magic V3、Magic V5
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra
  • OnePlus: OnePlus 13、OnePlus 13s、OnePlus Pad 3
  • OPPO: Find N5、Find X8、Find X8 Pro、Reno 14 Pro
  • POCO: POCO F7 Ultra、POCO X7 Pro
  • realme: realme GT 7 Pro、realme GT 7T
  • Samsung: Galaxy S25、Galaxy S25+、Galaxy S25 Ultra、Galaxy Z Fold7
  • vivo: vivo X200、vivo X200 Pro、vivo X Fold3 Pro、vivo X Fold5
  • Xiaomi: Xiaomi 15 Ultra、Xiaomi 15、Xiaomi 15T Pro、Xiaomi 15T、Xiaomi Pad Mini

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

Prompt 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
  • OnePlus: OnePlus 13、OnePlus 13s、OnePlus Pad 3
  • OPPO: Find N5、Find X8、Find X8 Pro、Reno 14 Pro
  • POCO: POCO F7 Ultra、POCO X7 Pro
  • realme: realme GT 7 Pro、realme GT 7T
  • Samsung: Galaxy Z Fold7
  • vivo: vivo X200、vivo X200 Pro
  • Xiaomi: Xiaomi 15 Ultra、Xiaomi 15、Xiaomi 15T Pro、Xiaomi 15T、Xiaomi Pad Mini

nano-v3

  • Google: Google Pixel 10、Google Pixel 10 Pro、Google Pixel 10 Pro XL、Google Pixel 10 Pro Fold

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

音声認識 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 レスポンスが返されます。

サンプルコード

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