<br />

Evaluate MediaPipe Tasks interactively in your browser with
[MediaPipe Web Demos](https://google-ai-edge.github.io/mediapipe-samples-web/),
fork runnable TypeScript apps in
[StackBlitz](https://stackblitz.com/github/google-ai-edge/mediapipe-samples-web),
or clone complete Android, iOS, Web, Python, and Flutter starter projects from
GitHub. You can also try the Flutter tasks in the
[Flutter live gallery](https://google.github.io/flutter-mediapipe/).
[Launch Web Demos](https://google-ai-edge.github.io/mediapipe-samples-web/) [Flutter Gallery](https://google.github.io/flutter-mediapipe/) [Samples (Android, iOS, Python)](https://github.com/google-ai-edge/mediapipe-samples) [Samples (Web)](https://github.com/google-ai-edge/mediapipe-samples-web) [Samples (Flutter)](https://github.com/google/flutter-mediapipe/tree/main/samples)

## Run a sample locally

Official starter apps are maintained across three repositories:
[`google-ai-edge/mediapipe-samples`](https://github.com/google-ai-edge/mediapipe-samples)
for Android, iOS, and Python,
[`google-ai-edge/mediapipe-samples-web`](https://github.com/google-ai-edge/mediapipe-samples-web)
for Web and TypeScript, and
[`google/flutter-mediapipe`](https://github.com/google/flutter-mediapipe)
for Flutter. Select your target platform to clone and run an example:

### Web

Clone `mediapipe-samples-web` to run the Vite + TypeScript sample suite
locally, or [open it directly in StackBlitz](https://stackblitz.com/github/google-ai-edge/mediapipe-samples-web)
with zero local setup:

```bash
git clone https://github.com/google-ai-edge/mediapipe-samples-web.git
cd mediapipe-samples-web
pnpm install
pnpm dev
```

Each task implementation lives in `src/tasks/<task-name>.ts` and uses the
published `@mediapipe/tasks-*` npm packages with WebGL, WebGPU, and
WebAssembly acceleration.

### Android (Kotlin \& Java)

Clone `mediapipe-samples` and open any task's `android/` directory in
Android Studio:

```bash
git clone https://github.com/google-ai-edge/mediapipe-samples.git
# Open a project folder in Android Studio, for example:
# mediapipe-samples/examples/object_detector/android
```

Each Android Studio project includes a CameraX live camera feed, a media
picker for still images and video files, runtime controls for confidence
thresholds and `CPU`/`GPU` delegates, and a Gradle download script
that fetches the model files automatically during Gradle sync.

### iOS (Swift)

Clone `mediapipe-samples`, navigate to a task's `ios/` folder, and open the
Xcode project (Xcode resolves Swift Package Manager dependencies
automatically):

```bash
git clone https://github.com/google-ai-edge/mediapipe-samples.git
cd mediapipe-samples/examples/<task_name>/ios   # for example: object_detector/ios
open *.xcodeproj
```

Each iOS sample wraps the MediaPipe Tasks Swift SDK with an
`AVCaptureSession` camera pipeline, an overlay renderer, and interactive
controls ready to deploy to an iPhone or iPad.

### Python \& Colab

Open any task's `.ipynb` notebook in Google Colab or Jupyter, or clone
`mediapipe-samples` and run the standalone OpenCV scripts in the
`raspberry_pi/` directories (they also run on desktop Linux and macOS with a
USB webcam):

```bash
git clone https://github.com/google-ai-edge/mediapipe-samples.git
cd mediapipe-samples/examples/<task_name>/raspberry_pi   # for example: object_detector/raspberry_pi
sh setup.sh
python3 detect.py   # script name varies by task: detect.py, classify.py, recognize.py, ...
```

Python examples include self-contained `.ipynb` notebooks for interactive
experimentation alongside standalone OpenCV and Raspberry Pi scripts.

### Flutter

Clone `flutter-mediapipe` and run the object detection app, a Flutter
counterpart of the Android object detection sample, on any supported
platform (Android, iOS, macOS, Linux, Windows, or the web):

```bash
git clone https://github.com/google/flutter-mediapipe.git
cd flutter-mediapipe/samples/apps/object_detection
flutter pub get
dart run mediapipe_core:bundle_models
flutter run -d <device>   # for example: macos, linux, windows, or chrome
```

The sample covers live camera detection, still images, and video files,
with settings for the score threshold, the maximum number of results, and
the `CPU`/`GPU` delegate. The repository's
[`samples/`](https://github.com/google/flutter-mediapipe/tree/main/samples)
folder has a runnable Dart sample for every task and running mode, and the
`gallery/` app in the same repository runs
every supported task; see its
[README](https://github.com/google/flutter-mediapipe/blob/main/gallery/README.md)
for build steps, or [try it in your browser](https://google.github.io/flutter-mediapipe/).

## Sample directory by task

Jump directly to the documentation guide, hosted browser demo, or platform
source directory for any of the 22 MediaPipe Tasks.

### Audio

| Task | Browser demo | Sample code \& notebooks |
|---|---|---|
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/audio_classifier.svg)Audio Classifier](https://developers.google.com/edge/mediapipe/solutions/audio/audio_classifier.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/audio/audio_classifier) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/audio-classifier.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/audio_classifier/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/audio_classifier/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/audio/audio_classifier)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/audio_classifier/python/audio_classification.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/audio_transcriber.svg)Audio Transcriber](https://developers.google.com/edge/mediapipe/solutions/audio/audio_transcriber.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/audio/audio_transcriber) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/audio-transcriber.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/audio_transcriber/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/audio_transcriber/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/audio/audio_transcriber)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/audio_transcriber/python/audio_transcriber.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/text_to_speech.svg)Text-to-Speech](https://developers.google.com/edge/mediapipe/solutions/audio/text_to_speech.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/audio/text_to_speech) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/text-to-speech.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_to_speech/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_to_speech/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/audio/text_to_speech)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/text_to_speech/python/text_to_speech.ipynb) |

### Decision

| Task | Browser demo | Sample code \& notebooks |
|---|---|---|
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/decision_maker.svg)Decision Maker](https://developers.google.com/edge/mediapipe/solutions/decision/decision_maker.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/decision/decision_maker) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/decision-maker.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/decision_maker/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/decision_maker/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/decision/decision_maker)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/decision_maker/python/decision_maker.ipynb) |

### Retrieval

| Task | Browser demo | Sample code \& notebooks |
|---|---|---|
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/semantic_retriever.svg)Semantic Retriever](https://developers.google.com/edge/mediapipe/solutions/retrieval/semantic_retriever.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/retrieval/semantic_retriever) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/semantic-retriever.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/semantic_retriever/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/semantic_retriever/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/retrieval/semantic_retriever)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/semantic_retriever/python/semantic_retriever.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/universal_embedder.svg)Universal Embedder](https://developers.google.com/edge/mediapipe/solutions/retrieval/universal_embedder.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/retrieval/universal_embedder) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/universal-embedder.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/universal_embedder/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/universal_embedder/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/retrieval/universal_embedder)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/universal_embedder/python/universal_embedder.ipynb) |

### Text

| Task | Browser demo | Sample code \& notebooks |
|---|---|---|
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/language_detector.svg)Language Detector](https://developers.google.com/edge/mediapipe/solutions/text/language_detector.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/text/language_detector) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/language-detector.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/language_detector/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/language_detector/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/text/language_detector)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/language_detector/python/%5BMediaPipe_Python_Tasks%5D_Language_Detector.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/text_classifier.svg)Text Classifier](https://developers.google.com/edge/mediapipe/solutions/text/text_classifier.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/text/text_classifier) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/text-classifier.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_classification/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_classification/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/text/text_classifier)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/text_classification/python/text_classifier.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/text_embedder.svg)Text Embedder](https://developers.google.com/edge/mediapipe/solutions/text/text_embedder.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/text/text_embedder) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/text-embedder.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_embedder/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_embedder/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/text/text_embedder)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/text_embedder/python/text_embedder.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/text_proofreader.svg)Text Proofreader](https://developers.google.com/edge/mediapipe/solutions/text/text_proofreader.md.txt) | Coming soon | [Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_proofreader/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_proofreader/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/text/text_proofreader)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/text_proofreader/python/text_proofreader.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/text_summarizer.svg)Text Summarizer](https://developers.google.com/edge/mediapipe/solutions/text/text_summarizer.md.txt) | Coming soon | [Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_summarizer/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/text_summarizer/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/text/text_summarizer)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/text_summarizer/python/text_summarizer.ipynb) |

### Vision

| Task | Browser demo | Sample code \& notebooks |
|---|---|---|
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/face_detector_v2.webp)Face Detector](https://developers.google.com/edge/mediapipe/solutions/vision/face_detector.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/face_detector) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/face-detector.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/face_detector/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/face_detector/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/face_detector)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/face_detector/python/face_detector.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/face_landmarker_v2.webp)Face Landmarker](https://developers.google.com/edge/mediapipe/solutions/vision/face_landmarker.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/face_landmarker) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/face-landmarker.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/face_landmarker/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/face_landmarker/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/face_landmarker)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/face_landmarker/python/%5BMediaPipe_Python_Tasks%5D_Face_Landmarker.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/gesture_recognizer.webp)Gesture Recognizer](https://developers.google.com/edge/mediapipe/solutions/vision/gesture_recognizer.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/gesture_recognizer) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/gesture-recognizer.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/gesture_recognizer/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/gesture_recognizer/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/gesture_recognizer)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/gesture_recognizer/python/gesture_recognizer.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/hand_landmarker.webp)Hand Landmarker](https://developers.google.com/edge/mediapipe/solutions/vision/hand_landmarker.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/hand_landmarker) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/hand-landmarker.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/hand_landmarker/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/hand_landmarker/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/hand_landmarker)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/hand_landmarker/python/hand_landmarker.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/holistic_landmarker_v3.webp)Holistic Landmarker](https://developers.google.com/edge/mediapipe/solutions/vision/holistic_landmarker.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/holistic_landmarker) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/holistic-landmarker.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/holistic_landmarker/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/holistic_landmarker/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/holistic_landmarker)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/holistic_landmarker/python/%5BMediaPipe_Python_Tasks%5D_Holistic_Landmarker.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/image_classifier.webp)Image Classifier](https://developers.google.com/edge/mediapipe/solutions/vision/image_classifier.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/image_classifier) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/image-classifier.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/image_classification/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/image_classification/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/image_classifier)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/image_classification/python/image_classifier.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/image_embedder.svg)Image Embedder](https://developers.google.com/edge/mediapipe/solutions/vision/image_embedder.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/image_embedder) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/image-embedder.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/image_embedder/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/image_embedder/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/image_embedder)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/image_embedder/python/image_embedder.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/image_segmenter.webp)Image Segmenter](https://developers.google.com/edge/mediapipe/solutions/vision/image_segmenter.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/image_segmenter) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/image-segmenter.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/image_segmentation/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/image_segmentation/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/image_segmenter)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/image_segmentation/python/image_segmentation.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/interactive_segmenter.webp)Interactive Segmenter](https://developers.google.com/edge/mediapipe/solutions/vision/interactive_segmenter.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/interactive_segmenter) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/interactive-segmenter.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/interactive_segmentation/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/interactive_segmentation/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/interactive_segmenter)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/interactive_segmentation/python/interactive_segmenter.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/object_detector.webp)Object Detector](https://developers.google.com/edge/mediapipe/solutions/vision/object_detector.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/object_detector) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/object-detector.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/object_detection/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/object_detection/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/object_detector)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/object_detection/python/object_detector.ipynb) |
| [![](https://developers.google.com/static/edge/mediapipe/images/solutions/posters/pose_landmarker_v2.webp)Pose Landmarker](https://developers.google.com/edge/mediapipe/solutions/vision/pose_landmarker.md.txt) | [Web demo](https://google-ai-edge.github.io/mediapipe-samples-web/#/vision/pose_landmarker) | [Web](https://github.com/google-ai-edge/mediapipe-samples-web/blob/main/src/tasks/pose-landmarker.ts)[Android](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/pose_landmarker/android)[iOS](https://github.com/google-ai-edge/mediapipe-samples/tree/main/examples/pose_landmarker/ios)[Flutter](https://github.com/google/flutter-mediapipe/tree/main/samples/vision/pose_landmarker)[Colab](https://colab.research.google.com/github/google-ai-edge/mediapipe-samples/blob/main/examples/pose_landmarker/python/%5BMediaPipe_Python_Tasks%5D_Pose_Landmarker.ipynb) |

## Test custom models and inputs in Web Demos

Both the embedded playgrounds in each task guide and the standalone
[MediaPipe Web Demos](https://google-ai-edge.github.io/mediapipe-samples-web/)
suite run locally in your browser using WebGL, WebGPU, and WebAssembly:

- **Bring your own model bundle** : In [MediaPipe Web Demos](https://google-ai-edge.github.io/mediapipe-samples-web/), open the **Model** selector and choose a local `.task`, `.tflite`, or `.litertlm` file that matches the task's input and output tensor metadata to evaluate custom models before shipping them in a mobile or desktop build.
- **Test real inputs**: Stream live frames from a webcam or microphone, upload your own test images or audio clips, or enter custom text prompts and search queries. All inputs are processed locally on your device.
- **Compare runtime settings** : Adjust confidence thresholds, maximum results, and `CPU` versus `GPU` delegates interactively to measure on-device inference latency in milliseconds.