Hraness
Theme
Appearance

State of local AI, Oct 2026

by Hraness · drafted with ai assistance

In October 2026 an Apple Silicon Mac can run every model a small video editor needs without a server: a vision model to label clips, a model that calls tools, speech recognition with word timings, and one embedding space for text, frames, and audio. The best small options are task models measured in megabytes, from Cactus Compute and Desert Ant Labs, beside open general models from Google, OpenBMB, Liquid AI, and Qwen. Speech, sound, and image generation also run locally in seconds. Video generation is the exception: it works on a Mac, but a five-second clip still takes minutes.

This survey is written for Yapwing, a native Mac editor for captioned portrait videos that Hraness is building. Yapwing cuts a recording by editing its transcript, so it needs four models: vision for labeling clips, a tool-calling model, transcription, and multimodal embeddings. The four generation sections cover the media an editor might add. Each table lists the model, its size, license, the runtime that reaches a Mac, and what its authors report. Every figure comes from the linked model card or vendor page as of October 15, 2026; the vendors ran these benchmarks themselves, and numbers from different vendors are not directly comparable.

Two companies that build small task models

Cactus Compute ships one CPU engine and two models for it. Needle 3 is the tool-calling model: an 8 to 29 MB file that picks functions and fills their arguments, extracts typed fields from text, and returns text embeddings. Whistle is the speech-to-text model: 16.9 MB, with word timestamps and a speech embedding. Both load into the same Needle binary, which can transcribe a clip and answer it against your tools in one call. Both are Apache 2.0. Cactus also republishes Gemma 4, LFM2.5-VL, Qwen3.5, Parakeet, and Whisper in its own format.

Desert Ant Labs launched on September 8, 2026 with 18 single-task models for audio, vision, and text, 12 stable and six in beta, behind one Swift, Kotlin, and JavaScript SDK (launch post, Hraness reading digest). The team built them to replace cloud APIs in its video app, Detail, which makes the catalog unusually close to an editor’s needs: Voz for transcription, Align for word timestamps, Uhm for filler words, Clips for picking highlights from a transcript, Clear for audio cleanup, Who for speaker labels, and Eye for frame scoring. The models are source-available, not open source: the license is free below 100,000 monthly active devices per model and platform, requires a visible “Powered by Desert Ant Labs” credit, and forbids training a competing model on their outputs.

Vision for labeling clips

Vision models for labeling clips
Model and sizeLicenseMac runtimeWhat the source reports
MiniCPM-V 4.7 1B1BApache 2.0llama.cpp (GGUF), OllamaNative video input up to 128 frames. OpenBMB reports LongVideoBench 53.4 and MotionBench 54.55, ahead of Qwen3.5 0.8B and LFM2.5-VL 3B.
Gemma 4 E4B4.5B effective, 8B with embeddingsApache 2.0llama.cpp (QAT GGUF), MLX, LiteRTReads images, video frames, and audio in one model. Google reports MMMU Pro 52.6%.
Liquid d1-3B3.1BLFM Open License 1.0GGUF, MLXAnswers a set of named yes/no, choice, or score questions in one forward pass with no generated text. Liquid reports 30 ms a decision on an M5 Pro.
Liquid d1-omni-600M587MLFM Open License 1.0GGUF, MLXThe same decision interface over images and up to 30 seconds of speech. Audio training covered English requests only.
Desert Ant Eye (closed beta)Not publishedDesert Ant source-availableSwift SDKScores frames for composition, subject clarity, thumbnail quality, and aesthetics, adds tags, and groups near-duplicates. No public benchmark yet.

Pick: MiniCPM-V 4.7 1B for free-form clip descriptions. It takes video directly, it is Apache 2.0, and OpenBMB released it in October 2026 with GGUF builds for llama.cpp. When labels come from a fixed list, such as shot type, indoor or outdoor, or whether a face is visible, Liquid’s d1 models are a better fit: they return a calibrated answer to each question in one pass and never produce free text to parse. Gemma 4 E4B is the choice when a label depends on what is said as well as what is shown.

A model that calls tools

Models that call tools
Model and sizeLicenseMac runtimeWhat the source reports
Cactus Needle 329M to 121M, 8 to 29 MB fileApache 2.0Needle engine (macOS arm64 binary, C API, Python, WASI)Cactus reports 86.0% exact-call accuracy on Mobile Actions for the 121M model, against 82.4% for LFM2.5 1.2B and 65.1% for FunctionGemma 270M. On BFCL v4 it scores 50.2 to LFM2.5 1.2B’s 62.0. Built for single requests and extraction, not chat.
Gemma 4 E4B4.5B effectiveApache 2.0llama.cpp, MLX, OllamaNative function calling. Google reports 42.2% on Tau2, against 24.5% for E2B and 69.0% for the 12B model.
LFM2.5-24B-A2B24B total, 2.45B activeLFM Open License 1.0GGUF, MLX (4 to 8 bit), ONNXA mixture of experts with 2.45B active parameters. Liquid reports BFCL v4 65.01, against 65.00 for Qwen3.6-35B-A3B and 57.09 for Gemma 4 26B-A4B.
Qwen3.8-27B27BApache 2.0MLX, llama.cppThe strongest open dense model in this survey. Qwen reports 73.0 on Terminal Bench 2.1 and 84.3 on OSWorld-Verified. At 27B dense parameters it is a model for a high-memory Mac, not for CPU-only use.

Pick: Needle 3 for turning a request into one of Yapwing’s editing commands. Its decoder is constrained by a grammar compiled from the tool schemas, so every call parses, and an off-topic request returns an empty list. Cactus also reports that fine-tuning on one product’s tools lifts each Needle depth by 18 to 36 points on DroidCall. Needle is weaker on broad benchmarks such as BFCL v4, so a task with several dependent steps needs a general model. Gemma 4 E4B is the smaller general option. LFM2.5-24B-A2B scores higher on Liquid’s tool benchmarks but has to hold 24B parameters in memory.

Transcription

Speech recognition
Model and sizeLicenseMac runtimeWhat the source reports
Cactus Whistle16.9 MBApache 2.0Needle engine on CPUWord timestamps, seven languages, keyword biasing. Cactus reports 4.31% WER on LibriSpeech test-clean, 10.49% on test-other, and 11.1 ms to first token on an M4 Pro CPU.
Qwen3-ASR 1.7B and 0.6B1.7B and 0.6BApache 2.0llama.cpp (GGUF), MLX5.75% and 6.60% average WER on the Open ASR Leaderboard, the best open-weight scores in this survey. 52 languages and dialects; a separate 0.6B forced aligner adds timestamps.
Desert Ant Voz467 MBDesert Ant source-availableCore ML (Swift SDK), ONNXParakeet TDT 0.6B v3, compressed for the Neural Engine. 7.40% average WER on six Open ASR sets against 7.00% for Whisper large-v3-turbo, with word starts within 83 ms of a forced aligner on average. Transcribes 10 minutes in 2.4 s on an M1 Mac mini.
Parakeet TDT 0.6B v3 / Whisper large-v3-turbo0.6B / 1.6 GBCC BY 4.0 / MITCore ML, whisper.cpp, MLXThe common baselines. Parakeet v3 averages 6.38% on the Open ASR Leaderboard.

Pick: Whistle, which Yapwing already uses. It is 28 times smaller than Voz, runs on the CPU with no other runtime, and returns the word timestamps that transcript cutting depends on. Qwen3-ASR 1.7B is the accuracy reference to test it against on real recordings. Two Desert Ant models fill gaps no recognizer covers: Uhm marks “uh,” “um,” and “hmm” to 20 ms without running speech recognition, and Align corrects the word timings from Apple’s SpeechAnalyzer, cutting average timing error by 65% on clean audio in Desert Ant’s tests.

Multimodal embeddings

Multimodal embeddings
Model and sizeLicenseMac runtimeWhat the source reports
EmbeddingGemma 2740M (270M text, 170M vision, 300M audio)Apache 2.0MLX, llama.cpp (GGUF), ONNX, LiteRT, community Core MLText, images, video at 1 frame per second, and audio in one 768-dimension space. Google reports 50.67 Hit@1 on MMEB v2 video and 69.54 MRR@10 on MSEB audio retrieval. One 8,192-token input holds about 58 frames or 327 seconds of audio.
Qwen3-VL-Embedding 2B2BApache 2.0TransformersText, images, and video with 32K context and up to 2,048 dimensions. No audio.
jina-embeddings-v5-omni-small1.74BCC BY-NC 4.0TransformersText, images, video, and audio. The license rules out commercial use.

Pick: EmbeddingGemma 2. The original EmbeddingGemma, released in 2025, embedded text only. EmbeddingGemma 2, released October 6, 2026, puts text, images, video, and audio in one vector space, so a typed query, a voice memo, and a clip can be compared directly (Hraness reading digest). Its vision and audio encoders load separately: text alone needs 270M parameters, and text with images needs 440M. Vectors truncate from 768 to 256 dimensions with little loss in Google’s tables. The alternatives either drop audio, like Qwen3-VL-Embedding, or forbid commercial use, like Jina’s omni models.

Speech generation

Speech generation
Model and sizeLicenseMac runtimeWhat the source reports
Kyutai Pocket TTS100MCC BY 4.0CPU (Python), MLX port, browserVoice cloning from a WAV file, streaming, seven languages. Kyutai reports about 200 ms to first audio and 6x real time on two CPU cores of an M4 MacBook Air.
Kokoro-82M82MApache 2.0ONNX, MLX (mlx-audio)Leads English intelligibility on the Hugging Face Open TTS Leaderboard with Supertonic 3 and Fish Audio S2 Pro. Fixed voices only.
Supertonic 3About 99MOpenRAILONNX Runtime31 languages through ONNX Runtime on CPU, with no GPU required.
KittenTTS 21.7BStellon Labs Community Licensellama.cpp fork on CPUA 1-bit speech model that clones a voice from 5 to 30 seconds of audio. The commercial grant ends at a usage threshold.

Pick: Pocket TTS when a voice has to match the speaker, because it clones from a short recording and runs on two CPU cores. Kokoro is the smaller choice for fixed narrator voices. The Open TTS Leaderboard scores intelligibility and speaker similarity with automatic metrics; it does not measure naturalness, so listen before choosing.

Music and sound effects

Music and sound effects
Model and sizeLicenseMac runtimeWhat the source reports
Stable Audio 3 Small-SFX and Small-Music433M eachStability AI Community LicenseCPU, Core ML, LiteRTSeparate sound-effect and music models, up to 120 seconds. Stability reports a 30-second clip in 1.72 s on Mac CPU and 0.63 s through Core ML.
MOSS-SoundEffect v2.0Not stated in the portApache 2.0MLX (community port)Text to foley, ambience, and action sounds at 48 kHz, up to 30 seconds. The MLX port is a community project.
ACE-Step 1.52B DiT turbo, 4B XLMITMLX on Apple SiliconFull songs from 10 seconds to 10 minutes, with LoRA style training from a few songs. The 2B model runs in under 4 GB of VRAM; the 4B XL model needs at least 12 GB with offloading.

Pick: Stable Audio 3 Small-SFX for sound effects and Small-Music for short beds, since both run on a Mac CPU in a few seconds. Read the Stability AI Community License before shipping. ACE-Step 1.5 is the MIT-licensed option for full songs.

Image generation

Image generation
Model and sizeLicenseMac runtimeWhat the source reports
FLUX.2 [klein] 4B4BApache 2.0mflux (MLX)Generation and multi-reference editing in one model. Black Forest Labs lists about 13 GB of VRAM.
Z-Image-Turbo6BApache 2.0mflux (MLX)Eight steps, fits 16 GB devices. Tongyi reports the best open-source result on Alibaba AI Arena’s human-preference ranking.
Qwen-Image-2.1-Turbo7BQwen research licensemflux (MLX)Eight steps, strong text rendering, transparent PNG output. The research license rules it out for a shipping product.

Pick: FLUX.2 [klein] 4B for overlay images, because it generates and edits in one Apache 2.0 model and mflux runs it natively on Apple Silicon. Z-Image-Turbo is the alternative when realism matters more than editing.

Video generation

Video generation
Model and sizeLicenseMac runtimeWhat the source reports
FastMetal-5B-QAD5BApache 2.0FastVideo MLX runtimeA three-step INT8 student of Wan2.2-TI2V-5B. On an M4 Max it makes a five-second 720p clip in 151 s at a 9.34 GiB peak, or 47 s in fast mode.
FastMetal-1.3B-QAD1.3BApache 2.0FastVideo MLX runtimeFive seconds at 480p in 110 s with a 3.87 GiB peak. Runs on a fanless MacBook Air.
LTX-2.3 and LTX-2.5Not stated in the portLTX-2.x Community LicenseMLX (community port)Image-to-video, keyframes, retakes, and extensions. The community MLX port recommends 32 GB of RAM at int8, or 16 GB with block streaming.

Pick: FastMetal-5B-QAD for generated b-roll. It is the only model here with published Mac timings at 720p, and it fits in 16 GB of unified memory. At 47 to 151 seconds a clip on an M4 Max, it suits a background job that imports the result as a new asset, not an interactive preview.

Limits

Every quality figure above is a vendor’s own measurement on public test sets. None of these models has been tested on Yapwing’s recordings. Desert Ant notes that clean audiobooks score 2 to 4% word error rate while meetings and podcasts score 10 to 13%, and that most real recordings sound like the second group. Licenses vary from Apache 2.0 to research-only, and several change terms at a revenue or usage threshold, so check the current license on the model page before shipping. Desert Ant Eye is in closed beta and has no published benchmark.