{
  "id": 5150933,
  "title": "Running Apple's On-Device AI From Flutter, With No API Key and No Server",
  "url": "https://urgent.news/2026/09/02/running-apples-on-device-ai-from-flutter-with-no-api-key-and-no-server",
  "topic": "ai",
  "section": "AI",
  "published": "2026-09-02T19:08:58.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/devshakib/running-apples-on-device-ai-from-flutter-with-no-api-key-and-no-server-1o78"
  },
  "original_language": "en",
  "account": "Apple's on-device AI capabilities within Flutter apps are revolutionizing the way developers can incorporate AI features without relying on external servers or API keys. This eliminates the need for billing cards and reduces latency by processing AI functions directly on the user's device. The initiative encompasses three packages: LanguageModelSession for text processing, ImageCreator for image generation, and RoomScanController for LiDAR-based room scanning.\n\nOne of the key advantages of this on-device AI solution is schema-constrained structured output. Traditional hosted models often require complicated retry loops and jsonDecode processes to obtain precise, structured responses. With Apple's on-device AI, developers can define the desired output structure, and the model is constrained to generate data that adheres to this schema, streamlining the integration process.\n\nThe language model package allows developers to summarize text, extract information, classify data, and rewrite content—all without the need for external servers. Additionally, the package enables tool calling, where the model can interact with functions defined by the developer. This allows the model to work with the user's local data, such as notes or transactions, without transmitting any information outside the device. This feature is particularly valuable for answering user-specific questions and providing personalized assistance.\n\nImage generation is another powerful capability offered on-device. The ImageCreator package streams partial images as they are being generated, providing a more engaging user experience. Rather than a static spinner, users witness the image being created in real-time, resulting in a more interactive and satisfying experience. The package also supports the image editing tools provided by Apple, such as rewriting, proofreading, and summarizing, enhancing the overall functionality of the app.\n\nFinally, the RoomScanController package leverages Apple's LiDAR sensor to scan and map out physical spaces, generating structured geometry data. This feature opens up a wide range of applications, from interior design and property management to furniture retail. The package packages Apple's native scanning UI, providing users with a familiar and intuitive experience, while delivering precise and structured data about the scanned environment.\n\nIn conclusion, Apple's on-device AI capabilities within Flutter apps offer a compelling alternative to traditional hosted AI solutions. By processing AI functions directly on the user's device, developers can enjoy reduced latency, no API keys, and no reliance on external servers. The three packages—LanguageModelSession, ImageCreator, and RoomScanController—each provide unique and powerful features that enable developers to create innovative, private, and efficient AI-driven applications.",
  "summary": "Every \"add AI to your Flutter app\" tutorial ends the same way: get an API key, add a billing card, send the user's text to somebody else's server, and hope the latency is tolerable. On iOS 26 and macOS 26 there is a different option that most Flutter developers have not tried, because the plugins did not exist. Apple ships a language model, an image generator and a LiDAR room scanner on the…",
  "key_points": [
    "Apple's on-device AI capabilities in Flutter apps eliminate need for API keys and servers.",
    "Schema-constrained structured output simplifies integration of AI features.",
    "RoomScanController package enables LiDAR-based room scanning with structured geometry data."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}