AI Core CLI
ai-core is the release CLI artifact for invoking narrowly scoped AI Core capabilities from a host process. The host owns scheduling, cancellation, timeouts, process restart policy, stdout/stderr capture, and durable storage.
Authorization
Every operation except --version and help requires:
--license PATH: a Marketplace-signedcore.license.v1document;--license-key PATH: the matching ML-KEM private key, as raw bytes or multibase-base64url text.
The CLI only transports these inputs. AI Core verifies the signature, current validity period, and that the private key matches the KEM public key in the license. An invalid or missing license fails before Core performs the operation.
Release commands
Every release binary supports:
ai-core --version
ai-core helpThe builtin-speech-whisper and builtin-local-all variants additionally provide direct audio-to-text:
ai-core transcribe-audio /path/to/input.wav \
--license /secure/core.license.json \
--license-key /secure/core.kem.key \
--language rutranscribe-audio writes only the transcript to stdout. It accepts optional --format, --sample-rate-hz, and --language; the format otherwise comes from the filename extension. The Whisper model is resolved through SPEECH_WHISPER_MODEL, then SPEECH_WHISPER_MODEL_DIR, then the platform default for ggml-large-v3-turbo.bin.
If the binary was built without speech support, transcribe-audio is not compiled into it and does not appear in --help.
Subprocess integration
use tokio::process::Command;
let output = Command::new("/opt/ai-core/bin/ai-core")
.arg("transcribe-audio")
.arg("/data/input.wav")
.arg("--license")
.arg("/secure/core.license.json")
.arg("--license-key")
.arg("/secure/core.kem.key")
.output()
.await?;
if !output.status.success() {
return Err(String::from_utf8_lossy(&output.stderr).into());
}
let transcript = String::from_utf8(output.stdout)?;Select a release artifact matching the target platform, trust mode, AI Core version, and required native capability. Release variants are emitted under dist/cli/release/<variant>/ai-core by make build-cli-release-all.