Présentation des API ML Kit GenAI

Les API d'IA générative de ML Kit exploitent la puissance de Gemini Nano pour aider vos applications à effectuer des tâches d'IA générative sur l'appareil. Ces API sont basées sur AICore, un service système Android qui gère les modèles de fondation sur l'appareil et accélère l'inférence tout en préservant la confidentialité des données utilisateur.

Les Conditions d'utilisation supplémentaires de l'API GenAI de ML Kit s'appliquent à l'utilisation des API GenAI. Les développeurs sont seuls responsables de la sécurité de leur client API et de l'expérience utilisateur de leur application.

Capacités clés

ML Kit organise ses fonctionnalités d'IA générative dans les catégories suivantes :

Génération et agents personnalisés

Utilisez directement le modèle de fondation Gemini Nano pour le prompting personnalisé et les workflows agentiques autonomes :

  • Accès direct au modèle (à l'aide de la classe GenerativeModel) : générez du texte ou une sortie structurée typée à partir de requêtes textuelles ou multimodales personnalisées, ou gérez votre propre historique de chat multitour directement à l'aide d'un objet List<Content> avec les rôles USER et MODEL et une valeur sessionId, et gérez directement les déclarations d'outils.
  • Workflows agentiques (à l'aide de la classe AgentRunner) : basés sur la classe GenerativeModel, ils automatisent la gestion des sessions multitours (y compris l'historique des conversations en mémoire) et les boucles d'appel d'outils en plusieurs étapes.

Voix et audio

Transcrivez, traduisez et synthétisez des contenus audio sur l'appareil :

  • Reconnaissance vocale : transcrivez du contenu audio parlé en texte dans la même langue.
  • Traduction vocale : traduisez en temps réel du contenu audio parlé en texte dans une autre langue.
  • Text-to-Speech : synthétisez des contenus audio au son naturel à partir de texte.

Tâches de texte et d'image

Utilisez des API spécifiques aux tâches, optimisées pour les tâches courantes de vision, d'écriture et de recherche, sans prompt engineering :

  • Description de l'image : générez une brève description d'une image donnée.
  • Résumé : résumez des articles ou des conversations de chat sous forme de liste à puces.
  • Relecture : peaufinez les contenus courts en améliorant la grammaire et en corrigeant les fautes d'orthographe.
  • Réécriture : réécrivez des messages courts dans différents tons ou styles.
  • Embeddings : générez des embeddings vectoriels pour du texte et des images à l'aide de l'API Embeddings, et associez-les à AndroidX AppSearch pour rechercher du contenu par signification.

Avantages des API d'IA générative

Comme les autres fonctionnalités ML Kit existantes, les API GenAI s'exécutent entièrement sur l'appareil et offrent ainsi les avantages suivants :

  • Les données d'entrée, d'inférence et de sortie sont traitées localement
  • La fonctionnalité reste la même sans connexion Internet fiable
  • Aucun coût de serveur supplémentaire n'est facturé pour chaque appel d'API.

De plus, comme les API d'IA générative sont basées sur AICore et optimisées par Gemini Nano, les applications et les API spécifiques à une tâche partagent le même modèle de base Gemini Nano sous-jacent sur l'appareil. Cela évite d'avoir à attendre le téléchargement d'un modèle distinct si Gemini Nano existe déjà sur un appareil, ce qui permet d'économiser de l'espace de stockage. Découvrez comment AICore isole les requêtes pour protéger la confidentialité.

Streaming ou non-streaming

Les API d'IA générative ML Kit proposent des options de streaming et de non-streaming pour recevoir les résultats. L'API de streaming fournit des réponses de manière incrémentielle au fur et à mesure qu'elles sont générées, ce qui permet d'obtenir un flux continu de données. En revanche, l'API sans flux attend que la réponse soit complète avant de la renvoyer sous la forme d'un seul bloc.

Choisissez l'API de streaming pour les réponses longues, car elle permet d'obtenir des commentaires initiaux plus rapidement. L'API sans flux est plus adaptée aux réponses courtes ou au traitement des résultats par lots.

Vérifier si l'appareil est compatible

La compatibilité des appareils avec la génération personnalisée, les agents et les API de tâches de texte et d'image est décrite dans les sections suivantes. Pour les fonctionnalités qui ne sont pas listées dans cette section, consultez les pages des fonctionnalités individuelles pour obtenir des informations sur la compatibilité des appareils.

Génération personnalisée et compatibilité avec les appareils des agents

L'accès direct aux modèles et les workflows agentiques sont compatibles avec les appareils suivants :

Gemini Nano 2

  • POCO : POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme : realme GT 7
  • Redmi : Redmi Turbo 5
  • vivo : vivo T4 Ultra, vivo X200 FE
  • Xiaomi : Leitzphone optimisé par Xiaomi, Xiaomi 15, Xiaomi 15T, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17T, Xiaomi 17 Ultra

Gemini Nano 3

  • Acer : Acer Googlebook 14
  • ASUS : ASUS Googlebook 14
  • Dell : XPS Googlebook
  • Google : Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • HP : HP Googlebook 14
  • Lenovo : Lenovo Googlebook 15
  • OPPO : Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G, Reno 16 Pro 5G
  • realme : realme GT 7T

Gemini Nano 4

  • Google : Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold
  • Honor : Honor 600 Pro, Magic 7, Magic 7 Pro, Porsche Design Magic 7 RSR, Magic 8 Pro, Magic V5, Magic V6, MagicPad 4
  • iQOO : iQOO 13, iQOO 15
  • Lenovo : Lenovo Idea Tab Pro 2e génération, Lenovo Legion Tab 5e génération (8,8 pouces), Lenovo Yoga Tab Plus 2e génération
  • Motorola : Edge 70 Pro, Edge 70 Pro+, Razr 60 Ultra, Razr Ultra 2025, Razr Fold, Signature
  • OnePlus : OnePlus 13, OnePlus 13s, OnePlus 15, OnePlus 15R, OnePlus Pad 3
  • OPPO : Find N5, Find N6, Find X8, Find X8 Pro, Find X9, Find X9 Pro, Find X9s, Find X9 Ultra, Find X10, Find X10 Pro Max
  • POCO : POCO F9 Pro, POCO X8 Pro Max
  • realme : realme GT 7 Pro, realme GT 8 Pro
  • Samsung : Galaxy S25, Galaxy S25+, Galaxy S25 Edge, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 FE, Galaxy S26 Ultra, Galaxy Tab S12+, Galaxy Tab S12 Ultra, Galaxy Z Flip7, Galaxy Z Flip8, Galaxy Z Fold7, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z TriFold
  • Sharp : AQUOS R11
  • Sony : Xperia 1 VIII
  • vivo : vivo X200, vivo X200 Pro, vivo X200T, vivo X300, vivo X300 FE, vivo X300 Pro, vivo X300 Ultra, vivo X500 Pro, vivo X500 Pro Max, vivo X Fold3 Pro, vivo X Fold5, vivo X Fold6
  • Xiaomi : Xiaomi 15T Pro, Xiaomi 17T Pro, Xiaomi Pad Mini

La disponibilité et la version du modèle peuvent varier en fonction de la configuration de la RAM de l'appareil, de la version de l'OS et de l'état de la mise à jour d'AICore. Pour vérifier la version du modèle actif sur un appareil, consultez Récupérer la version de Gemini Nano.

Compatibilité des appareils avec les tâches de texte et d'image

Les API Description d'image, Résumé, Relecture et Réécriture sont disponibles sur les appareils suivants, et nous prévoyons d'étendre la compatibilité à d'autres appareils :

  • Acer : Acer Googlebook 14
  • ASUS : ASUS Googlebook 14
  • Dell : XPS Googlebook
  • Google : Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, 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
  • Honor : Honor 400 Pro, Honor 600 Pro, Magic 7, Magic 7 Pro, Porsche Design Magic 7 RSR, Magic 8 Pro, Magic V5, Magic V6, MagicPad 4
  • HP : HP Googlebook 14
  • iQOO : iQOO 13, iQOO 15
  • Lenovo : Lenovo Googlebook 15, Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5 (8,8 pouces), Lenovo Yoga Tab Plus Gen 2
  • Motorola : Edge 70 Pro, Edge 70 Pro+, Razr 60 Ultra, Razr Ultra 2025, Razr Fold, Signature
  • OnePlus : OnePlus 13, OnePlus 13s, OnePlus 15, OnePlus 15R, OnePlus Pad 3
  • OPPO : Find N5, Find N6, Find X8, Find X8 Pro, Find X9, Find X9 Pro, Find X9s, Find X9 Ultra, Find X10, Find X10 Pro Max, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G, Reno 16 Pro 5G
  • POCO : POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO F9 Pro, POCO X7 Pro, POCO X8 Pro, POCO X8 Pro Max
  • realme : realme GT 7, realme GT 7 Pro, realme GT 7T, realme GT 8 Pro
  • Redmi : Redmi Turbo 5
  • Samsung : Galaxy S25, Galaxy S25+, Galaxy S25 Edge, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 FE, Galaxy S26 Ultra, Galaxy Tab S12+, Galaxy Tab S12 Ultra, Galaxy Z Flip7, Galaxy Z Flip8, Galaxy Z Fold7, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z TriFold
  • Sharp : AQUOS R11
  • Sony : Xperia 1 VIII
  • vivo : vivo T4 Ultra, vivo X200, vivo X200 FE, vivo X200 Pro, vivo X200T, vivo X300, vivo X300 FE, vivo X300 Pro, vivo X300 Ultra, vivo X500 Pro, vivo X500 Pro Max, vivo X Fold3 Pro, vivo X Fold5, vivo X Fold6
  • Xiaomi : Leitzphone powered by Xiaomi, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17T, Xiaomi 17T Pro, Xiaomi 17 Ultra, Xiaomi Pad Mini

La disponibilité de la prise en charge d'une langue spécifique peut varier en fonction de la configuration de l'appareil et des modèles qui y ont été téléchargés.

Récupérer la version de Gemini Nano

Différentes versions de Gemini Nano s'exécutent sur différents appareils. Pour renvoyer la version de Gemini Nano sur un appareil, utilisez la méthode getBaseModelName().

Quota par application

AICore applique un quota d'inférence par application. Si vous effectuez trop de requêtes API GenAI sur une courte période, vous obtiendrez une réponse ErrorCode.BUSY. Lorsque vous recevez une telle erreur, envisagez d'utiliser un intervalle exponentiel entre les tentatives pour relancer la requête. ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED peut également être renvoyé si une application dépasse un quota de longue durée (par exemple, un quota quotidien).

Utilisation en arrière-plan

L'inférence de l'API GenAI n'est autorisée que lorsque l'application est l'application de premier plan principale. L'utilisation de l'API lorsque l'application n'est pas au premier plan, y compris l'utilisation d'un service de premier plan, entraîne une réponse ErrorCode.BACKGROUND_USE_BLOCKED.

Exemple de code

Pour obtenir ce code, consultez les exemples suivants :