<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s" -->

---
title: See how ML Kit and ARKit play together | daily.dev
description: A sample project combines Google's ML Kit with Apple's ARKit to build an augmented reality app that labels objects in a live camera feed. The app uses ML Kit's...
canonical: https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: See how ML Kit and ARKit play together | daily.dev
og:description: A sample project combines Google's ML Kit with Apple's ARKit to build an augmented reality app that labels objects in a live camera feed. The app uses ML Kit's...
og:url: https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s
og:image: https://api.daily.dev/og/posts/tZHMgcn4S.png
og:image:alt: See how ML Kit and ARKit play together
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# See how ML Kit and ARKit play together

**[Firebase](https://daily.dev/sources/firebase-blog)** · 5 min read · 0 upvotes · 0 comments

## Summary

A sample project combines Google's ML Kit with Apple's ARKit to build an augmented reality app that labels objects in a live camera feed. The app uses ML Kit's on-device image labeling API for fast, real-time results at 60fps, then asynchronously calls the Cloud Vision API when a user taps the screen to replace the label with a higher-accuracy result. Setup instructions cover cloning the MLKit-ARKit repo, installing pods, configuring Firebase, and optionally enabling the Blaze plan for Cloud Vision API access.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2018/12/see-how-ml-kit-and-arkit-play-together>

## Questions this post answers

### How can I combine on-device and cloud-based image labeling in an ARKit app for both speed and accuracy?

Run ML Kit's on-device image labeling API continuously to keep the AR frame rate steady at 60fps, then fire an async call to the Cloud Vision image labeling API when the user taps the screen. Once the cloud response arrives, replace the on-device label with the higher-accuracy cloud result in the 3D scene.

_See how developers structure AR object-labeling projects like this one on daily.dev._

### How many free calls does Firebase ML Kit's cloud-based Vision API include per month?

The cloud-based Vision API in Firebase ML Kit is free for the first 1000 API calls, with charges applying beyond that limit. Using the cloud APIs also requires switching the Firebase project to the Blaze pay-as-you-go plan, even though the first 1000 monthly uses remain free.

_Developers weighing on-device versus cloud ML pricing can track details like this on daily.dev._

## Similar posts on daily.dev

- [Firebase \+ Genkit: How I Actually Brought AI Into My Mobile App \(Without Losing My Mind\)](https://daily.dev/posts/firebase-genkit-how-i-actually-brought-ai-into-my-mobile-app-without-losing-my-mind--ta6av8kvz) · Medium · 0 upvotes · 0 comments
- [Build intelligent Android apps: Cloud and hybrid inference](https://daily.dev/posts/build-intelligent-android-apps-cloud-and-hybrid-inference-eyctih4y9) · Android Developers Blog · 0 upvotes · 0 comments
- [Android AI Just Changed — and Most Developers Haven’t Noticed Yet](https://daily.dev/posts/android-ai-just-changed-and-most-developers-haven-t-noticed-yet-ew4d0vzac) · ProAndroidDev · 0 upvotes · 0 comments

---

Tags: [#machine-learning](https://daily.dev/tags/machine-learning), [#ios](https://daily.dev/tags/ios), [#firebase](https://daily.dev/tags/firebase)

[View this post on daily.dev](https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"See how ML Kit and ARKit play together","url":"https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s"},"datePublished":"2026-08-23T12:18:50.748Z","dateModified":"2026-08-23T12:27:25.421Z","description":"A sample project combines Google's ML Kit with Apple's ARKit to build an augmented reality app that labels objects in a live camera feed. The app uses ML Kit's...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"machine-learning,ios,firebase","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"See how ML Kit and ARKit play together"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/see-how-ml-kit-and-arkit-play-together-tzhmgcn4s#faq","mainEntity":[{"@type":"Question","name":"How can I combine on-device and cloud-based image labeling in an ARKit app for both speed and accuracy?","acceptedAnswer":{"@type":"Answer","text":"Run ML Kit's on-device image labeling API continuously to keep the AR frame rate steady at 60fps, then fire an async call to the Cloud Vision image labeling API when the user taps the screen. Once the cloud response arrives, replace the on-device label with the higher-accuracy cloud result in the 3D scene. See how developers structure AR object-labeling projects like this one on daily.dev."}},{"@type":"Question","name":"How many free calls does Firebase ML Kit's cloud-based Vision API include per month?","acceptedAnswer":{"@type":"Answer","text":"The cloud-based Vision API in Firebase ML Kit is free for the first 1000 API calls, with charges applying beyond that limit. Using the cloud APIs also requires switching the Firebase project to the Blaze pay-as-you-go plan, even though the first 1000 monthly uses remain free. Developers weighing on-device versus cloud ML pricing can track details like this on daily.dev."}}]}
```

