Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/code-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,30 @@ jobs:
working-directory: ./packages/google_mlkit_subject_segmentation
run: flutter pub get

- name: Install dependencies for google_mlkit_genai_summarization
working-directory: ./packages/google_mlkit_genai_summarization
run: flutter pub get

- name: Install dependencies for google_mlkit_genai_proofreading
working-directory: ./packages/google_mlkit_genai_proofreading
run: flutter pub get

- name: Install dependencies for google_mlkit_genai_rewriting
working-directory: ./packages/google_mlkit_genai_rewriting
run: flutter pub get

- name: Install dependencies for google_mlkit_genai_image_description
working-directory: ./packages/google_mlkit_genai_image_description
run: flutter pub get

- name: Install dependencies for google_mlkit_genai_speech_recognition
working-directory: ./packages/google_mlkit_genai_speech_recognition
run: flutter pub get

- name: Install dependencies for google_mlkit_genai_prompt
working-directory: ./packages/google_mlkit_genai_prompt
run: flutter pub get

- name: Install dependencies for example
working-directory: ./packages/example
run: flutter pub get
Expand Down
74 changes: 72 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,20 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline

Packages with changes:

- [`google_ml_kit` - `v0.20.1`](#google_ml_kit---v0201)
- [`google_ml_kit` - `v0.21.0`](#google_ml_kit---v0210)
- [`google_mlkit_barcode_scanning` - `v0.14.2`](#google_mlkit_barcode_scanning---v0142)
- [`google_mlkit_commons` - `v0.11.1`](#google_mlkit_commons---v0111)
- [`google_mlkit_digital_ink_recognition` - `v0.14.2`](#google_mlkit_digital_ink_recognition---v0142)
- [`google_mlkit_document_scanner` - `v0.4.1`](#google_mlkit_document_scanner---v041)
- [`google_mlkit_entity_extraction` - `v0.15.3`](#google_mlkit_entity_extraction---v0153)
- [`google_mlkit_face_detection` - `v0.13.2`](#google_mlkit_face_detection---v0132)
- [`google_mlkit_face_mesh_detection` - `v0.4.2`](#google_mlkit_face_mesh_detection---v042)
- [`google_mlkit_genai_image_description` - `v0.1.0`](#google_mlkit_genai_image_description---v010)
- [`google_mlkit_genai_proofreading` - `v0.1.0`](#google_mlkit_genai_proofreading---v010)
- [`google_mlkit_genai_prompt` - `v0.1.0`](#google_mlkit_genai_prompt---v010)
- [`google_mlkit_genai_rewriting` - `v0.1.0`](#google_mlkit_genai_rewriting---v010)
- [`google_mlkit_genai_speech_recognition` - `v0.1.0`](#google_mlkit_genai_speech_recognition---v010)
- [`google_mlkit_genai_summarization` - `v0.1.0`](#google_mlkit_genai_summarization---v010)
- [`google_mlkit_image_labeling` - `v0.14.2`](#google_mlkit_image_labeling---v0142)
- [`google_mlkit_language_id` - `v0.13.1`](#google_mlkit_language_id---v0131)
- [`google_mlkit_object_detection` - `v0.15.1`](#google_mlkit_object_detection---v0151)
Expand All @@ -31,11 +37,75 @@ Packages with changes:

---

#### `google_ml_kit` - `v0.20.1`
#### `google_ml_kit` - `v0.21.0`

* Add support for Google's ML Kit GenAI APIs:
- `google_mlkit_genai_summarization` - Generate summaries of articles and conversations
- `google_mlkit_genai_proofreading` - Check grammar and spelling
- `google_mlkit_genai_rewriting` - Rewrite text in different styles
- `google_mlkit_genai_image_description` - Generate descriptions for images
- `google_mlkit_genai_speech_recognition` - Transcribe speech to text
- `google_mlkit_genai_prompt` - Generate text content based on custom prompts
* Update all native dependencies to latest versions
* See individual package changelogs for specific version updates

#### `google_mlkit_genai_summarization` - `v0.1.0`

* Initial release of Google's ML Kit GenAI Summarization API for Flutter
* Support for Android platform (API level 26+)
* Features:
- Generate summaries of articles and conversations
- Support for multiple input types (article, conversation)
- Support for multiple output types (1-3 bullet points)
- Support for multiple languages (English, Japanese, Korean)
- Feature status checking and downloading

#### `google_mlkit_genai_proofreading` - `v0.1.0`

* Initial release of Google's ML Kit GenAI Proofreading API for Flutter
* Support for Android platform (API level 26+)
* Features:
- Check grammar and spelling in text
- Support for multiple input types (keyboard, voice)
- Support for multiple languages (English, Japanese, French, German, Italian, Spanish, Korean)
- Feature status checking and downloading

#### `google_mlkit_genai_rewriting` - `v0.1.0`

* Initial release of Google's ML Kit GenAI Rewriting API for Flutter
* Support for Android platform (API level 26+)
* Features:
- Rewrite text in different styles (formal, concise, emoji)
- Support for multiple languages (English, Japanese, Korean)
- Feature status checking and downloading

#### `google_mlkit_genai_image_description` - `v0.1.0`

* Initial release of Google's ML Kit GenAI Image Description API for Flutter
* Support for Android platform (API level 26+)
* Features:
- Generate descriptions for images
- Support for multiple image input formats
- Feature status checking and downloading

#### `google_mlkit_genai_speech_recognition` - `v0.1.0`

* Initial release of Google's ML Kit GenAI Speech Recognition API for Flutter
* Support for Android platform (API level 26+)
* Features:
- Transcribe speech to text in real time
- Streaming recognition support
- Feature status checking

#### `google_mlkit_genai_prompt` - `v0.1.0`

* Initial release of Google's ML Kit GenAI Prompt API for Flutter
* Support for Android platform (API level 26+)
* Features:
- Generate text content based on custom prompts
- Support for text-only and multimodal (image + text) prompts
- Feature status checking and downloading

#### `google_mlkit_barcode_scanning` - `v0.14.2`

* Update Android native library `com.google.mlkit:barcode-scanning` to 17.3.0
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Bharat Biradar and Francisco Bernal.
Copyright (c) 2026 flutter-ml.dev.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,21 @@ Google's ML Kit for Flutter is a set of [Flutter plugins](https://flutter.io/pla
| [Smart Reply](https://developers.google.com/ml-kit/language/smart-reply) | [google_mlkit_smart_reply](https://pub.dev/packages/google_mlkit_smart_reply) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_smart_reply)](https://pub.dev/packages/google_mlkit_smart_reply) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_smart_reply) | ✅ | ✅ |
| [Entity Extraction (Beta)](https://developers.google.com/ml-kit/language/entity-extraction) | [google_mlkit_entity_extraction](https://pub.dev/packages/google_mlkit_entity_extraction) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_entity_extraction)](https://pub.dev/packages/google_mlkit_entity_extraction) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_entity_extraction) | ✅ | ✅ |

### GenAI APIs

> **⚠️ Important:** GenAI APIs are built on top of AICore and will not support all Android devices. These APIs require devices with AICore support. Please check device compatibility before using these features in production.
>
> **⚠️ Production Disclaimer:** Using GenAI plugins in production is the responsibility of the developers consuming the plugins, not the authors. The authors provide these plugins as-is and are not responsible for any issues, failures, or compatibility problems that may arise from using these plugins in production environments.

| Feature | Plugin | Source Code | Android | iOS |
|---------------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --- |
| [Summarization (Beta)](https://developers.google.com/ml-kit/genai/summarization) | [google_mlkit_genai_summarization](https://pub.dev/packages/google_mlkit_genai_summarization) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_genai_summarization)](https://pub.dev/packages/google_mlkit_genai_summarization) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_genai_summarization) | ✅ | ❌ |
| [Proofreading (Beta)](https://developers.google.com/ml-kit/genai/proofreading) | [google_mlkit_genai_proofreading](https://pub.dev/packages/google_mlkit_genai_proofreading) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_genai_proofreading)](https://pub.dev/packages/google_mlkit_genai_proofreading) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_genai_proofreading) | ✅ | ❌ |
| [Rewriting (Beta)](https://developers.google.com/ml-kit/genai/rewriting) | [google_mlkit_genai_rewriting](https://pub.dev/packages/google_mlkit_genai_rewriting) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_genai_rewriting)](https://pub.dev/packages/google_mlkit_genai_rewriting) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_genai_rewriting) | ✅ | ❌ |
| [Image Description (Beta)](https://developers.google.com/ml-kit/genai/image-description) | [google_mlkit_genai_image_description](https://pub.dev/packages/google_mlkit_genai_image_description) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_genai_image_description)](https://pub.dev/packages/google_mlkit_genai_image_description) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_genai_image_description) | ✅ | ❌ |
| [Speech Recognition (Alpha)](https://developers.google.com/ml-kit/genai/speech-recognition) | [google_mlkit_genai_speech_recognition](https://pub.dev/packages/google_mlkit_genai_speech_recognition) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_genai_speech_recognition)](https://pub.dev/packages/google_mlkit_genai_speech_recognition) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_genai_speech_recognition) | ✅ | ❌ |
| [Prompt (Beta)](https://developers.google.com/ml-kit/genai/prompt) | [google_mlkit_genai_prompt](https://pub.dev/packages/google_mlkit_genai_prompt) [![Pub Version](https://img.shields.io/pub/v/google_mlkit_genai_prompt)](https://pub.dev/packages/google_mlkit_genai_prompt) | [![GitHub](https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge&logo=github&logoColor=white)](https://github.com/flutter-ml/google_ml_kit_flutter/tree/master/packages/google_mlkit_genai_prompt) | ✅ | ❌ |

**PLEASE READ THIS** before continuing or posting a [new issue](https://github.com/flutter-ml/google_ml_kit_flutter/issues):

- [Google's ML Kit](https://developers.google.com/ml-kit) was build only for mobile platforms: iOS and Android apps. Web or any other platform is not supported, you can request support for those platform to Google in [their repo](https://github.com/googlesamples/mlkit/issues).
Expand Down
36 changes: 36 additions & 0 deletions packages/example/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,18 @@ PODS:
- google_mlkit_face_mesh_detection (0.4.2):
- Flutter
- google_mlkit_commons
- google_mlkit_genai_image_description (0.1.0):
- Flutter
- google_mlkit_genai_prompt (0.1.0):
- Flutter
- google_mlkit_genai_proofreading (0.1.0):
- Flutter
- google_mlkit_genai_rewriting (0.1.0):
- Flutter
- google_mlkit_genai_speech_recognition (0.1.0):
- Flutter
- google_mlkit_genai_summarization (0.1.0):
- Flutter
- google_mlkit_image_labeling (0.14.2):
- Flutter
- google_mlkit_commons
Expand Down Expand Up @@ -272,6 +284,12 @@ DEPENDENCIES:
- google_mlkit_entity_extraction (from `.symlinks/plugins/google_mlkit_entity_extraction/ios`)
- google_mlkit_face_detection (from `.symlinks/plugins/google_mlkit_face_detection/ios`)
- google_mlkit_face_mesh_detection (from `.symlinks/plugins/google_mlkit_face_mesh_detection/ios`)
- google_mlkit_genai_image_description (from `.symlinks/plugins/google_mlkit_genai_image_description/ios`)
- google_mlkit_genai_prompt (from `.symlinks/plugins/google_mlkit_genai_prompt/ios`)
- google_mlkit_genai_proofreading (from `.symlinks/plugins/google_mlkit_genai_proofreading/ios`)
- google_mlkit_genai_rewriting (from `.symlinks/plugins/google_mlkit_genai_rewriting/ios`)
- google_mlkit_genai_speech_recognition (from `.symlinks/plugins/google_mlkit_genai_speech_recognition/ios`)
- google_mlkit_genai_summarization (from `.symlinks/plugins/google_mlkit_genai_summarization/ios`)
- google_mlkit_image_labeling (from `.symlinks/plugins/google_mlkit_image_labeling/ios`)
- google_mlkit_language_id (from `.symlinks/plugins/google_mlkit_language_id/ios`)
- google_mlkit_object_detection (from `.symlinks/plugins/google_mlkit_object_detection/ios`)
Expand Down Expand Up @@ -345,6 +363,18 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/google_mlkit_face_detection/ios"
google_mlkit_face_mesh_detection:
:path: ".symlinks/plugins/google_mlkit_face_mesh_detection/ios"
google_mlkit_genai_image_description:
:path: ".symlinks/plugins/google_mlkit_genai_image_description/ios"
google_mlkit_genai_prompt:
:path: ".symlinks/plugins/google_mlkit_genai_prompt/ios"
google_mlkit_genai_proofreading:
:path: ".symlinks/plugins/google_mlkit_genai_proofreading/ios"
google_mlkit_genai_rewriting:
:path: ".symlinks/plugins/google_mlkit_genai_rewriting/ios"
google_mlkit_genai_speech_recognition:
:path: ".symlinks/plugins/google_mlkit_genai_speech_recognition/ios"
google_mlkit_genai_summarization:
:path: ".symlinks/plugins/google_mlkit_genai_summarization/ios"
google_mlkit_image_labeling:
:path: ".symlinks/plugins/google_mlkit_image_labeling/ios"
google_mlkit_language_id:
Expand Down Expand Up @@ -373,6 +403,12 @@ SPEC CHECKSUMS:
google_mlkit_entity_extraction: 45de8519319089085569ef9e10e2500b8d0d55a0
google_mlkit_face_detection: ee4b72cfae062b4c972204be955d83055a4bfd36
google_mlkit_face_mesh_detection: 644aad01e609e0962bc38495d1d807e2ae9f5e1b
google_mlkit_genai_image_description: 84e90c2ad87ae5e2f05cc4d5f1924059c799fc12
google_mlkit_genai_prompt: f4a41c9548172a86c6723e5c83c1c3295b6ad299
google_mlkit_genai_proofreading: 09ca9edfaa66e58ff165d2047286c10ba0a831ca
google_mlkit_genai_rewriting: 7a647b345cf7d9fe8fda004142ca980abbba9724
google_mlkit_genai_speech_recognition: 783fd846946877dc812a81d629c676b41973ce72
google_mlkit_genai_summarization: 8d750cfca622746aef09d6521bf2e764e8647ded
google_mlkit_image_labeling: 6f6fdb11c14600e01898e59a8c4413b255ede272
google_mlkit_language_id: de6f5cc02967420549c3c3a1624b359217442db9
google_mlkit_object_detection: 6a81b32faf7a9b700bed7a2caa67254818553257
Expand Down
69 changes: 69 additions & 0 deletions packages/example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,26 @@ class Home extends StatelessWidget {
CustomCard('Entity Extraction', EntityExtractionView()),
],
),
SizedBox(
height: 20,
),
if (Platform.isAndroid)
ExpansionTile(
title: const Text('GenAI APIs'),
children: [
CustomCard('Summarization',
_GenAIPlaceholderView('Summarization')),
CustomCard('Proofreading',
_GenAIPlaceholderView('Proofreading')),
CustomCard(
'Rewriting', _GenAIPlaceholderView('Rewriting')),
CustomCard('Image Description',
_GenAIPlaceholderView('Image Description')),
CustomCard('Speech Recognition',
_GenAIPlaceholderView('Speech Recognition')),
CustomCard('Prompt', _GenAIPlaceholderView('Prompt')),
],
),
],
),
),
Expand All @@ -95,6 +115,55 @@ class Home extends StatelessWidget {
}
}

class _GenAIPlaceholderView extends StatelessWidget {
final String featureName;

const _GenAIPlaceholderView(this.featureName);

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('$featureName (GenAI)'),
),
body: Center(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.info_outline,
size: 64,
color: Colors.blue,
),
SizedBox(height: 16),
Text(
'$featureName API',
style: Theme.of(context).textTheme.headlineSmall,
),
SizedBox(height: 16),
Text(
'This GenAI feature is available on Android devices with API level 26 or higher.',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodyMedium,
),
SizedBox(height: 8),
Text(
'Implementation coming soon.',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodySmall?.copyWith(
fontStyle: FontStyle.italic,
),
),
],
),
),
),
);
}
}

class CustomCard extends StatelessWidget {
final String _label;
final Widget _viewPage;
Expand Down
Loading