Use the device’s acceleration
Slab checks model and device capabilities before selecting a backend. Use automatic selection or choose an engine explicitly for your application.
Slab / For developers
Bring your model from ONNX into an app that works offline. Slab handles image preparation, inference and outputs, with native bindings for Swift, Kotlin, Java, C and Python.
30-day trial · offline inference · CPU / GPU / NPU
Small runtime. Your choice of models.
arm64 · iOS / iPadOS 18+
arm64-v8a · Android 12+
Apple silicon · macOS 15+
Approximate runtime sizes for 0.1 builds. Models and optional Qualcomm NPU libraries are separate. Download sizes differ.
What Slab takes off your plate
An inference call is one part of the feature. Slab also handles image resizing, normalization and camera-frame inputs, with task helpers for interpreting model outputs.
Use one SDK for that path across your mobile apps. Hardware backend selection and model protection are part of the same integration.
See camera & image examples ↗iOS, Android and macOS
| Platform | Minimum | Integration | Acceleration |
|---|---|---|---|
| iOS & iPadOS | 18+ · arm64 | Swift package · Swift / C | Metal · Neural Engine |
| Android | 12 / API 31+ · arm64-v8a | AAR · Kotlin / Java / C | Vulkan · Qualcomm Hexagon |
| macOS | 15+ · Apple silicon | Shared library · C / Python / Swift | Metal · Neural Engine |
Convert supported ONNX models, or start with prepared packs for vision, OCR, language and other tasks. Each gallery entry includes model-specific instructions and license terms.
Browse ready-to-run models ↗Start with the Swift package, Android AAR or macOS library. The setup guides cover installation and backend configuration, including Qualcomm NPU setup on Android.
Platform requirements & setup ↗One complete integration
This Swift function opens a model, prepares an image, runs inference and returns the top five classes. Input size, normalization and labels come from the model pack.
For repeated inference, retain the session instead of reopening the model. Run inference off the main thread.
Swift package setup ↗// Classify an image and return the five most likely classes.
//
// The model file carries its own preprocessing (input size, color order,
// normalization) and labels, so the app only passes an image.
import Foundation
import SlabSwift
func classify(modelPath: String, imagePath: String, license: String) throws -> [SlabClassification] {
let config = try SlabConfig(cacheDirectory: NSTemporaryDirectory(), license: license)
let session = try SlabSession(config: config, path: modelPath, warmup: true)
let output = try session.run(SlabInput(frame: try SlabFrame(contentsOf: imagePath)))
print("\(output.backendUsed.map { "\($0)" } ?? "?"), \(output.latencyMs) ms")
return output.topK(5) // label is "" when the model has no labels
}
Use a licensed app, the SlabSwift package, a classification pack and a local image. The complete setup is linked alongside the example.
More of the integration, handled
Slab checks model and device capabilities before selecting a backend. Use automatic selection or choose an engine explicitly for your application.
Built-in model protection is included in the Slab license. Evaluate your proprietary model with protection enabled as part of the same integration.
Convert to a .slab model pack and use it across supported platforms. Native language bindings share the same approach to configuration, sessions and results.
Use the benchmark tools to compare backends for your model. Your application can choose the configuration that fits its latency and memory requirements.
Measured, model by model
See the model, hardware and test conditions behind each result. Gallery pages bring benchmarks and runnable examples together so you can reproduce the evaluation on your own hardware.
Image classification · Apple M1 Max · FP16 weights · 224 × 224 input
Session open: 7 ms
Session open: 106 ms
Session open: 641 ms
Median model runtime over 100 warm runs, measured 28 October 2026 on macOS 26.6.2. Image preprocessing excluded. Use the gallery’s methodology to compare on your target hardware.
Your first evaluation
Start with MobileNetV3-Large and the classification example above, or choose a gallery model closer to your own feature.
Choose your platform and follow its package setup. Add Slab to an app you can run on your target device.
Get SDK 0.1.0 ↗Create an account, register your application and copy its trial license into your app.
Start a 30-day trial ↗Download the Standard pack and a sample image. Pass their local paths and your license to the classification function.
Get the example model ↗Stuck during the trial? Ask the Slab team in your dashboard. For license errors, see the troubleshooting guide.
One product. Every installation.
Launch your product and grow its audience on the same Slab license. Unlimited installations let you price your own product with confidence.
Slab annual license
$3,000USD / year
Per product · unlimited installations
Start a 30-day trialNo credit card required. Evaluate before purchasing.
One license covers one product, including its development builds and flavors. Separate products have separate licenses.
Bring your own model or choose from the public gallery. Each gallery entry lists its model license.
What’s included & how renewal worksA full year of support included
Get help with your integration and SDK bugs from the people behind Slab. Your dashboard keeps the report, our replies and progress together.
Get help with SlabA conversion error or unexpected result should lead to an answer. Share it during your trial so we can help identify what needs attention.
Tell us how the issue affects your application. We prioritize production blockers, crashes and incorrect results.
See investigation updates, available workarounds and the release containing a fix. Reply in the same thread when you have more to share.
Need to bring a product or purchasing colleague into the decision?
Share the product overview ↗