Kronk
Kronk is a Go SDK and model server for hardware-accelerated local inference. It provides high-level Go APIs over native inference engines without requiring Python or a separate model-serving stack:
- Kronk runs text, vision, embedding, and reranking models through
- Bucky provides speech-to-text through
- Malina is an experimental image-generation SDK built on
The Kronk model server exposes OpenAI-compatible APIs for Chat Completions, Responses, embeddings, reranking, and audio transcription, plus an Anthropic-compatible Messages API. It also includes a browser interface, model management, security, observability, and integrations with OpenWebUI, OpenCode, and Claude Code. Malina is currently SDK-only and is not integrated into the model server.
Visit kronkai.com or read the manual for complete documentation.
Quick Start
The recommended installation method on macOS and Linux is Homebrew:
brew install ardanlabs/kronk/kronk
kronk server start
The fully qualified formula name trusts only the Kronk formula, not every item
in the ardanlabs/kronk tap.
You can also install the CLI with Go on a supported platform:
go install github.com/ardanlabs/kronk/cmd/kronk@latest
kronk server start
Open http://localhost:11435 to manage models and use the Browser UI. The first model or SDK example you run can download the compatible native libraries and model files automatically.
For container deployment, persistent storage, and production setup, see Container Quick Start.
SDK or Model Server
The model server is built on the same public SDKs available to Go applications.
| Use the SDK when you need | Use the model server when you need | | ---------------------------------------------- | --------------------------------------------------- | | Inference inside a Go process | HTTP APIs for one or more clients | | Direct control over model loading and lifetime | OpenAI- and Anthropic-compatible APIs | | No separate server process | Browser-based model management and testing | | Application-specific caching and concurrency | Authentication, rate limiting, metrics, and tracing |
The Kronk SDK supports text generation, streaming, reasoning, tool calls, vision, embeddings, reranking, concurrent processing, and incremental message caching. Bucky supports file transcription, translation, channel-separated diarization, and live streaming transcription. Experimental Malina supports text-to-image, image-to-image, Canny ControlNet conditioning, ADetailer face refinement, AnimateDiff video generation, Real-ESRGAN upscaling, single-checkpoint and multi-file diffusion pipelines, and Motion-JPEG encoding.
Platform Support
Hardware acceleration depends on the operating system, architecture, inference engine, and library bundle. Kronk downloads native libraries that are compatible with the installed release.
| OS | CPU architectures | Available GPU backends | | ------- | ----------------- | ------------------------------- | | Linux | amd64, arm64 | CUDA, Vulkan, HIP, ROCm, SYCL | | macOS | arm64 | Metal | | Windows | amd64 | CUDA, Vulkan, HIP, SYCL, OpenCL |
Not every backend is available for every SDK or architecture. Use the CLI or SDK library manager as the source of truth for combinations supported by your installed version. See Installation and Quick Start for current requirements.
Project Status
Kronk follows the native engines it integrates, and upstream changes can require coordinated releases of Yzma, Bucky, Malina, and Kronk. Use each subsystem's downloader instead of mixing native libraries from unrelated releases; every Kronk release is bound to known-compatible library versions.
[!WARNING]
Malina is experimental. Its public API is subject to change, and it is not yet a
Kronk model-server backend.
See Breaking Changes, the release history, and the open issues for current status.
Sometimes there are breaking changes to the family of ggml libraries that require an update to yzma, bucky, malina and/or Kronk. Always choose to use the downloader for each system to make sure you have a compatible version of the libraries. A working version of each library is bound to each release.
Here are some of the known compatible versions:
| kronk | yzma | llama.cpp | bucky | whisper.cpp | malina | stable-diffusion.cpp | | --------- | ------- | --------- | ------ | ----------- | ------ | -------------------- | | 1.32.7-rc | b5f55bd | b11000 | v1.1.3 | v1.9.4 | v1.1.2 | master-869-07a85c7 | | 1.32.6 | ece4890 | b10896 | v1.1.2 | v1.9.3 | v1.1.0 | master-849-d04e895 | | 1.32.5 | v1.26.0 | v0.4.0 | v1.1.2 | v1.9.3 | v1.0.8 | master-841-6b3edaa | | 1.32.4 | 6bd0208 | b10785 | v1.1.1 | v1.9.3 | v1.0.6 | master-841-6b3edaa |
Kronk 1.32.7-rc pins the llama.cpp manifest as
b11000@sha256:561aff68f1e1000bada2f6dff811bcd4e9c9a397c50a7eb389c9c0e6da3c5cda.
The manifest authenticates the platform-specific archives selected by the downloader,
so the default installation verifies both the manifest and the downloaded libraries.
Malina v1.1.2 pins stable-diffusion.cpp as
master-869-07a85c7@sha256:b27f800a8178d75d2202d93d4b5a0c2310f4e37caaade6e768c6ce454a580f3d.
Its native ABI is incompatible with the preceding master-859 build, so upgrade the
Malina dependency and native library bundle together.
Documentation and Examples
- Manual
- Go API reference
- Examples directory
- Model catalog and management
- Bucky: Audio Transcription
- Malina: Image Generation
make example-question # Ask a local language model a question.
make example-agent # Run a small coding agent.
make example-vision # Prompt a vision model with an image.
make example-bucky # Transcribe an audio file with Bucky.
make example-bucky-stream-vad # Stream transcription with Silero VAD boundaries.
make example-malina # Generate an image with experimental Malina.
make example-malina-controlnet # Generate an image with Canny edge conditioning.
make example-malina-adetailer # Detect and refine faces in a portrait.
make example-malina-animatediff # Generate AnimateDiff frames and write an AVI.
make example-malina-s2v ARGS='...' # Animate a portrait from WAV speech with Wan2.2 S2V.
make example-malina-upscale # Enlarge an image with Real-ESRGAN.
Examples download compatible libraries and catalog-backed models on their first run; Wan2.2 S2V takes explicit component paths. Browse the complete examples module for chat, Responses, embeddings, reranking, RAG, streaming transcription, image-to-image generation, ControlNet, ADetailer, AnimateDiff, Wan2.2 S2V, image upscaling, model pools, session stores, and lower-level yzma usage.
Community and Support
Use GitHub Issues for bugs, feature requests, and planned work. If you are interested in contributing or need help, email Bill Kennedy or Ardan Labs.
Owner Information
Name: Bill Kennedy
Company: Ardan Labs
Title: Managing Partner
Email: [email protected]
BlueSky: https://bsky.app/profile/goinggo.net
LinkedIn: www.linkedin.com/in/william-kennedy-5b318778/
Twitter: https://x.com/goinggodotnet
Travel Schedule
Come find me at any of these cities or events this year. I will be giving workshops and talks about Kronk.
| Dates | Event | Location | Comments | | --------------- | -------------------------- | --------------------- | -------------- | | Jan 29th - 2nd | AI Plumbers Fringe, FOSDEM | Brussels, Belgium | Talk | | Mar 4th - 5th | Ardan Connect | São Paulo, Brazil | Training | | Apr 20th - 25th | Gophercamp 2026 | Brno, Czech Republic | Training, Talk | | Apr 27th - 29th | AI Dev 26 | San Francisco, USA | Attendee | | May 17th - 23rd | GopherCon Singapore | Singapore | Training, Talk | | Jun 8th - 12th | Genetec Corporate Training | Montreal, Canada | Training | | Jun 14th - 19th | GopherCon EU | Berlin, Germany | Training, Talk | | JULY | Summer Vacation | Huntsville, AL | Rest | | Aug 3rd - 6th | GopherCon USA | Seattle, Washington | Training, Talk | | Aug 11th - 13th | GopherCon UK | London, England | Training, Talk | | Sep 1st - 4th | GopherCon LATAM | Florianópolis, Brazil | Training, Talk | | Sep 5st - 8th | Personal Travel | Roanoke, VA | Personal | | Sep 17th - 20th | Personal Travel | Syracuse, NY | Personal | | Sep 21st - 24th | Meetup NYC | NYC, NY | Talk | | Oct 6th - 9th | Crusoe Corporate Training | San Francisco, USA | Training | | Oct 12th - 14th | Optus Corporate Training | Sydney, Australia | Training | | Oct 22nd - 23rd | Meetup Austin | Austin, TX | Talk | | Oct 27th - 28th | Meetup Bostom | Boston, MA | Talk | | Oct 31th - 4th | GoLab (GopherCon Italy) | Bologna, Italy | Training, Talk | | Nov 6th - 8th | UM v ND | Southbend, IN | Game Day | | Nov 9th - 11th | | Las Vegas, NV | Training | | DECEMBER | Winter Vacation | Miami, FL | Rest |
Copyright 2025-2026 Ardan Labs