Deploy Your Model
Learn how to deploy and manage your models with ZETIC.MLange
Overview
ZETIC.MLange provides a streamlined workflow for deploying your models to production. Choose the method that best fits your workflow:
First-time setup required
Start with the Web Dashboard to complete initial setup, then switch to CLI for automation.
Core Concepts
Repository
Your workspace for model version control. Each repository manages multiple versions of a related model family.
username/my-model-repository
├── v1 (uploaded 2024-01-15)
├── v2 (uploaded 2024-02-20) ← default
└── v3 (uploaded 2024-03-10) ← latestKey features:
- Latest model is automatically selected by default
- Set a specific version as default model
- Version history management for all uploaded models
Model Identifier
Access your models using the format: username/repository_name
Default behavior: Always loads the latest model version
Custom default: Set a specific version as default in repository settings
// Automatically loads the latest or default version
val model = ZeticMLangeModel(
context,
BuildConfig.PERSONAL_KEY,
"Steve/MobileCLIP2-image"
)// Automatically loads the latest or default version
let model = ZeticMLangeModel(
tokenKey: personalKey,
name: "Steve/MobileCLIP2-image"
)// Automatically loads the latest or default version
const model = await ZeticMLange.load(
personalKey,
"Steve/MobileCLIP2-image"
);Deployment Status
Track your model's deployment progress through these stages:
| Status | Description | Ready for Use |
|---|---|---|
| N/A | Repository created, awaiting first upload | ❌ |
| Failed | Error during upload or conversion | ❌ |
| Converting | Model uploaded, converting to on-device format | ❌ |
| Optimizing | Conversion complete, optimization in progress | ✅ Testing only |
| Ready | Fully optimized and production-ready | ✅ Production |
Using Optimizing status
Models in Optimizing status are functional but not performance-optimized. Use for testing and development, not production deployments.
Authentication
Personal Key
Your authentication credential for accessing ZETIC.MLange APIs and services.
Generate and Copy Your Personal Key

- Navigate to Settings → Personal Access Tokens in the Web Dashboard
- Click the Generate New Token button
- Click the copy icon next to the generated token to copy it
Save this token securely
You won't be able to see it again!
Store securely
Add your key to local.properties (this file is git-ignored by default):
# local.properties
MLANGE_PERSONAL_KEY=your-personal-key-hereThen load it in your build.gradle.kts:
// app/build.gradle.kts
android {
defaultConfig {
val properties = Properties()
properties.load(project.rootProject.file("local.properties").inputStream())
buildConfigField(
"String",
"PERSONAL_KEY",
"\"${properties.getProperty("MLANGE_PERSONAL_KEY")}\""
)
}
}Create a Config.xcconfig file (add to .gitignore):
# Config.xcconfig
MLANGE_PERSONAL_KEY = your-personal-key-hereThen reference it in your Info.plist:
<!-- Info.plist -->
<key>MLangePersonalKey</key>
<string>$(MLANGE_PERSONAL_KEY)</string>Use in your application
// Access via BuildConfig
val model = ZeticMLangeModel(
context,
BuildConfig.PERSONAL_KEY,
"Steve/MobileCLIP2-image"
)// Read from Info.plist
guard let personalKey = Bundle.main.object(
forInfoDictionaryKey: "MLangePersonalKey"
) as? String else {
fatalError("Personal key not found")
}
let model = ZeticMLangeModel(
tokenKey: personalKey,
name: "Steve/MobileCLIP2-image"
)Security best practices
- Never commit
local.properties(Android) or.xcconfig(iOS) files to version control - Add them to
.gitignoreimmediately:# Android local.properties # iOS Config.xcconfig *.xcconfig - Rotate keys regularly
- Revoke compromised keys immediately in the Web Dashboard