Backend reference

July 13, 2026 · View on GitHub

Backends

RecipeNameSelectable backendUses ctx_sizeBackends
acestepACE-Stepyesnocuda, rocm, vulkan
flmFastFlowLM NPUnoyesnpu
kokoroKokorononocpu, metal
llamacppLlama.cpp GPUyesyescpu, cuda, metal, rocm, system, vulkan
moonshineMoonshinenonocpu
openmossOpenMOSS TTSyesnocuda, rocm, vulkan
ryzenai-llmRyzen AI LLMnoyesnpu
sd-cppStableDiffusion.cppyesnocpu, cuda, metal, rocm, vulkan
thinksoundThinkSoundyesnocuda, rocm, vulkan
trellisTRELLIS.2yesnocuda, rocm, vulkan
vllmvLLM ROCm (experimental)yesyesrocm
whispercppWhisper.cppyesnocpu, metal, npu, rocm, vulkan

Support matrix

RecipeBackendOSDevice families
acesteprocmlinux, windowsamd_gpu (gfx103X, gfx110X, gfx1150, gfx1151, gfx1152, gfx120X)
acestepcudalinux, windowsnvidia_gpu
acestepvulkanlinux, windowsamd_gpu; cpu (x86_64); nvidia_gpu
flmnpulinux, windowsamd_npu (XDNA2)
kokorocpulinux, windowscpu (x86_64)
kokorometalmacosmetal
llamacppsystemlinuxcpu (arm64, x86_64)
llamacppmetalmacosmetal
llamacppcudalinux, windowsnvidia_gpu (sm_100, sm_120, sm_121, sm_75, sm_80, sm_86, sm_89, sm_90)
llamacppvulkanlinux, windowsamd_gpu; cpu (arm64, x86_64)
llamacpprocmlinux, windowsamd_gpu (gfx103X, gfx110X, gfx1150, gfx1151, gfx1152, gfx120X, gfx942)
llamacppcpulinux, windowscpu (arm64, x86_64)
moonshinecpuwindowscpu (x86_64)
moonshinecpulinuxcpu (arm64, x86_64)
moonshinecpumacoscpu (arm64)
openmossrocmlinux, windowsamd_gpu
openmosscudalinux, windowsnvidia_gpu
openmossvulkanlinux, windowsamd_gpu; cpu (x86_64); nvidia_gpu
ryzenai-llmnpuwindowsamd_npu (XDNA2)
sd-cpprocmlinux, windowsamd_gpu (gfx103X, gfx110X, gfx1150, gfx1151, gfx1152, gfx120X)
sd-cppcudalinux, windowsnvidia_gpu (sm_100, sm_120, sm_121, sm_75, sm_80, sm_86, sm_89, sm_90)
sd-cppvulkanlinux, windowsamd_gpu; cpu (x86_64); nvidia_gpu
sd-cppcpulinux, windowscpu (x86_64)
sd-cppmetalmacosmetal
thinksoundrocmlinux, windowsamd_gpu (gfx103X, gfx110X, gfx1150, gfx1151, gfx1152, gfx120X)
thinksoundcudalinux, windowsnvidia_gpu
thinksoundvulkanlinux, windowsamd_gpu; cpu (x86_64); nvidia_gpu
trellisrocmlinux, windowsamd_gpu (gfx103X, gfx110X, gfx1150, gfx1151, gfx1152, gfx120X)
trelliscudalinux, windowsnvidia_gpu
trellisvulkanlinux, windowsamd_gpu; cpu (x86_64); nvidia_gpu
vllmrocmlinuxamd_gpu (gfx110X, gfx1150, gfx1151, gfx120X)
whispercppnpuwindowsamd_npu (XDNA2)
whispercpprocmlinux, windowsamd_gpu (gfx110X, gfx1150, gfx1151, gfx120X)
whispercppvulkanlinux, windowsamd_gpu; cpu (x86_64)
whispercppcpulinux, windowscpu (x86_64)
whispercppmetalmacosmetal

Recipe options

acestep — ACE-Step

OptionCLI flagTypeDefaultDescription
acestep_backend--acestepBACKEND""ACE-Step backend to use

llamacpp — Llama.cpp GPU

OptionCLI flagTypeDefaultDescription
ctx_size--ctx-sizeSIZE-1Context size for the model
llamacpp_backend--llamacppBACKEND""LlamaCpp backend to use
llamacpp_device--llamacpp-deviceDEVICES""Comma-separated list of accelerator devices to use (e.g. Vulkan0)
llamacpp_args--llamacpp-argsARGS""Custom arguments to pass to llama-server

moonshine — Moonshine

OptionCLI flagTypeDefaultDescription
moonshine_args--moonshine-argsARGS""Custom arguments to pass to moonshine-server

openmoss — OpenMOSS TTS

OptionCLI flagTypeDefaultDescription
openmoss_backend--openmossBACKEND""OpenMOSS TTS backend to use

sd-cpp — StableDiffusion.cpp

OptionCLI flagTypeDefaultDescription
sd-cpp_backend--sdcppBACKEND""SD.cpp backend to use
sdcpp_args--sdcpp-argsARGS""Custom arguments to pass to sd-server (must not conflict with managed args)
stepsSIZE20Number of diffusion steps
cfg_scaleSIZE7.0Classifier-free guidance scale
widthSIZE512Output image width
heightSIZE512Output image height
sampling_methodARGS""Sampling method
flow_shiftSIZE0.0Flow shift

thinksound — ThinkSound

OptionCLI flagTypeDefaultDescription
thinksound_backend--thinksoundBACKEND""ThinkSound backend to use

trellis — TRELLIS.2

OptionCLI flagTypeDefaultDescription
trellis_backend--trellisBACKEND""Trellis backend to use

vllm — vLLM ROCm (experimental)

OptionCLI flagTypeDefaultDescription
ctx_size--ctx-sizeSIZE-1Context size for the model
vllm_backend--vllmBACKEND""vLLM backend to use
vllm_args--vllm-argsARGS""Custom arguments to pass to vllm-server

whispercpp — Whisper.cpp

OptionCLI flagTypeDefaultDescription
whispercpp_backend--whispercppBACKEND""WhisperCpp backend to use
whispercpp_args--whispercpp-argsARGS""Custom arguments to pass to whisper-server

Models

acestep — ACE-Step (1 models)

ModelSize (GB)Labels
ACE-Step-Music10.5audio-generation

collection.omni — collection.omni (5 models)

ModelSize (GB)Labels
LMX-Omni-5.5B-Lite9.3
LMX-Omni-52B-Halo44.77
Lite Collection
RPG-HaloTales-V139.77
Ultra Collection

kokoro — Kokoro (1 models)

ModelSize (GB)Labels
kokoro-v10.354tts

llamacpp — Llama.cpp GPU (77 models)

ModelSize (GB)Labels
Bonsai-1.7B-gguf0.25llamacpp
Bonsai-4B-gguf0.572llamacpp
Bonsai-8B-gguf1.16llamacpp
Cogito-v2-llama-109B-MoE-GGUF65.4vision
DeepSeek-Qwen3-8B-GGUF5.25reasoning
Devstral-Small-2507-GGUF14.3coding, tool-calling
GLM-4.5-Air-UD-Q4K-XL-GGUF67.7reasoning
GLM-4.7-Flash-GGUF17.5tool-calling
Gemma-3-4b-it-GGUF3.34vision
Gemma-4-12B-it-GGUF7.29tool-calling, vision, llamacpp
Gemma-4-12B-it-MTP-GGUF7.75tool-calling, llamacpp, vision, mtp
Gemma-4-26B-A4B-it-GGUF18.1hot, tool-calling, vision, llamacpp
Gemma-4-26B-A4B-it-MTP-GGUF18.5hot, tool-calling, vision, llamacpp, mtp
Gemma-4-31B-it-GGUF19.5hot, tool-calling, vision, llamacpp
Gemma-4-31B-it-MTP-GGUF20.0hot, tool-calling, vision, llamacpp, mtp
Gemma-4-E2B-it-GGUF4.09tool-calling, vision, llamacpp
Gemma-4-E4B-it-GGUF5.97tool-calling, vision, llamacpp
Jan-nano-128k-GGUF2.5
Jan-v1-4B-GGUF2.5
LFM2-1.2B-GGUF0.731
LFM2-24B-A2B-GGUF14.4
LFM2-8B-A1B-GGUF5.04
LFM2.5-1.2B-Instruct-GGUF0.731
LFM2.5-8B-A1B5.16
Llama-3.2-1B-Instruct-GGUF0.834
Llama-3.2-3B-Instruct-GGUF2.06
Llama-4-Scout-17B-16E-Instruct-GGUF63.2vision
Ministral-3-3B-Instruct-2512-GGUF2.99vision
Nemotron-3-Nano-30B-A3B-GGUF22.8
Phi-4-mini-instruct-GGUF2.49
Playable1-GGUF4.68coding
PromptBridge-0.6b-Alpha-GGUF0.397
Qwen2.5-Coder-32B-Instruct-GGUF19.9coding
Qwen2.5-Omni-3B-GGUF4.73vision, chat-transcription
Qwen2.5-Omni-7B-GGUF7.33vision, chat-transcription
Qwen2.5-VL-3B-Instruct-GGUF3.27vision
Qwen2.5-VL-7B-Instruct-GGUF6.04vision
Qwen3-0.6B-GGUF0.38reasoning
Qwen3-1.7B-GGUF1.06reasoning
Qwen3-14B-GGUF8.54reasoning
Qwen3-30B-A3B-GGUF17.4reasoning
Qwen3-30B-A3B-Instruct-2507-GGUF17.4tool-calling
Qwen3-4B-GGUF2.38reasoning
Qwen3-4B-Instruct-2507-GGUF2.5tool-calling
Qwen3-8B-GGUF5.25reasoning
Qwen3-Coder-30B-A3B-Instruct-GGUF18.6coding, tool-calling, hot
Qwen3-Coder-Next-GGUF48.0coding, tool-calling, hot
Qwen3-Embedding-0.6B-GGUF0.64embeddings
Qwen3-Embedding-4B-GGUF4.28embeddings
Qwen3-Embedding-8B-GGUF8.05embeddings
Qwen3-Next-80B-A3B-Instruct-GGUF46.1tool-calling
Qwen3-VL-4B-Instruct-GGUF3.33vision
Qwen3-VL-8B-Instruct-GGUF6.19vision
Qwen3.5-0.8B-GGUF0.764vision, tool-calling
Qwen3.5-122B-A10B-GGUF77.9vision, tool-calling
Qwen3.5-122B-A10B-MTP-GGUF79.6vision, tool-calling, mtp
Qwen3.5-27B-GGUF18.5vision, tool-calling
Qwen3.5-2B-GGUF2.01vision, tool-calling
Qwen3.5-35B-A3B-GGUF23.1vision, tool-calling
Qwen3.5-4B-GGUF3.58vision, tool-calling, hot
Qwen3.5-4B-MTP-GGUF3.66vision, tool-calling, mtp
Qwen3.5-9B-GGUF6.88vision, tool-calling
Qwen3.6-27B-GGUF18.5vision, tool-calling
Qwen3.6-27B-MTP-GGUF18.8vision, tool-calling, mtp, hot
Qwen3.6-35B-A3B-GGUF23.3vision, tool-calling, hot
Qwen3.6-35B-A3B-MTP-GGUF23.8vision, tool-calling, mtp
SmolLM3-3B-GGUF1.94
Tiny-Test-Model-GGUF0.18
bge-reranker-v2-m3-GGUF0.636reranking
gpt-oss-120b-GGUF62.8reasoning, tool-calling
gpt-oss-120b-mxfp-GGUF63.4hot, reasoning, tool-calling
gpt-oss-20b-GGUF11.6reasoning, tool-calling
gpt-oss-20b-mxfp4-GGUF12.1hot, reasoning, tool-calling
granite-4.0-h-tiny-GGUF4.25tool-calling
jina-reranker-v1-tiny-en-GGUF0.0367reranking
nomic-embed-text-v1-GGUF0.0781embeddings
nomic-embed-text-v2-moe-GGUF0.51embeddings

moonshine — Moonshine (3 models)

ModelSize (GB)Labels
Moonshine-Medium-Streaming1.08transcription, realtime-transcription, hot
Moonshine-Small-Streaming0.431transcription, realtime-transcription
Moonshine-Tiny-Streaming0.202transcription, realtime-transcription

openmoss — OpenMOSS TTS (2 models)

ModelSize (GB)Labels
MOSS-VoiceGen7.3tts, voice-design
OpenMOSS-TTS12.5tts

ryzenai-llm — Ryzen AI LLM (79 models)

ModelSize (GB)Labels
AMD-OLMo-1B-SFT-DPO-Hybrid1.48
CodeLlama-7b-Instruct-hf-Hybrid7.24coding
CodeLlama-7b-Instruct-hf-NPU7.54coding
DeepSeek-R1-Distill-Llama-8B-CPU6.2reasoning
DeepSeek-R1-Distill-Llama-8B-Hybrid9.09reasoning
DeepSeek-R1-Distill-Llama-8B-NPU9.3reasoning
DeepSeek-R1-Distill-Qwen-1.5B-Hybrid2.19reasoning
DeepSeek-R1-Distill-Qwen-1.5B-NPU2.3reasoning
DeepSeek-R1-Distill-Qwen-7B-CPU6.2reasoning
DeepSeek-R1-Distill-Qwen-7B-Hybrid8.67reasoning
DeepSeek-R1-Distill-Qwen-7B-NPU8.87reasoning
Gemma-3-4b-it-mm-NPU6.68vision
Llama-2-7b-chat-hf-Hybrid7.31
Llama-2-7b-chat-hf-NPU7.47
Llama-2-7b-hf-Hybrid7.31
Llama-2-7b-hf-NPU7.47
Llama-3.1-8B-Hybrid9.09
Llama-3.1-8B-NPU9.3
Llama-3.2-1B-Hybrid1.89
Llama-3.2-1B-Instruct-CPU1.76
Llama-3.2-1B-Instruct-Hybrid1.89
Llama-3.2-1B-Instruct-NPU1.96
Llama-3.2-1B-NPU1.96
Llama-3.2-3B-Hybrid4.28
Llama-3.2-3B-Instruct-CPU3.38
Llama-3.2-3B-Instruct-Hybrid4.28
Meta-Llama-3-8B-Hybrid9.06
Meta-Llama-3-8B-NPU9.23
Meta-Llama-3.1-8B-Instruct-Hybrid9.09
Meta-Llama-3.1-8B-Instruct-NPU9.3
Mistral-7B-Instruct-v0.1-Hybrid7.34
Mistral-7B-Instruct-v0.1-NPU8.01
Mistral-7B-Instruct-v0.2-Hybrid7.34
Mistral-7B-Instruct-v0.2-NPU8.01
Mistral-7B-Instruct-v0.3-Hybrid7.35
Mistral-7B-Instruct-v0.3-NPU8.09
Mistral-7B-v0.3-Hybrid7.35
Mistral-7B-v0.3-NPU8.09
Phi-3-Mini-Instruct-CPU2.39
Phi-3-mini-128k-instruct-Hybrid4.21
Phi-3-mini-128k-instruct-NPU4.35
Phi-3-mini-4k-instruct-Hybrid4.19
Phi-3-mini-4k-instruct-NPU4.3
Phi-3.5-mini-instruct-Hybrid4.21
Phi-3.5-mini-instruct-NPU4.35
Phi-4-mini-instruct-Hybrid5.47
Phi-4-mini-instruct-NPU5.59
Phi-4-mini-reasoning-Hybrid5.47reasoning
Qwen-1.5-7B-Chat-CPU6.32
Qwen-2.5-1.5B-Instruct-Hybrid2.17
Qwen-2.5-1.5B-Instruct-NPU2.25
Qwen1.5-7B-Chat-Hybrid8.83
Qwen1.5-7B-Chat-NPU9.02
Qwen2-1.5B-Hybrid2.19
Qwen2-1.5B-NPU2.3
Qwen2-7B-Hybrid8.68
Qwen2-7B-NPU8.88
Qwen2.5-0.5B-Instruct-CPU0.834
Qwen2.5-0.5B-Instruct-Hybrid0.828
Qwen2.5-14B-instruct-Hybrid16.5
Qwen2.5-3B-Instruct-Hybrid3.97
Qwen2.5-3B-Instruct-NPU4.1
Qwen2.5-7B-Instruct-Hybrid8.65
Qwen2.5-7B-Instruct-NPU8.83
Qwen2.5-Coder-0.5B-Instruct-Hybrid0.828coding
Qwen2.5-Coder-1.5B-Instruct-Hybrid2.17coding
Qwen2.5-Coder-1.5B-Instruct-NPU2.25coding
Qwen2.5-Coder-7B-Instruct-Hybrid8.65coding
Qwen2.5-Coder-7B-Instruct-NPU8.83coding
Qwen3-1.7B-Hybrid2.55reasoning
Qwen3-14B-Hybrid16.5reasoning
Qwen3-4B-Hybrid5.17reasoning
Qwen3-8B-Hybrid9.42reasoning
SmolLM-135M-Instruct-Hybrid0.232
SmolLM2-135M-Instruct-Hybrid0.233
chatglm3-6b-Hybrid6.9
chatglm3-6b-NPU7.04
gemma-2-2b-Hybrid4.04
gpt-oss-20b-NPU13.4

sd-cpp — StableDiffusion.cpp (12 models)

ModelSize (GB)Labels
Flux-2-Klein-4B16.1image, edit
Flux-2-Klein-9B-GGUF19.0image, edit
Qwen-Image-2512-GGUF19.4image
Qwen-Image-GGUF18.2image
RealESRGAN-x4plus0.064upscaling, image
RealESRGAN-x4plus-anime0.017upscaling, image
SD-1.57.7image
SD-Turbo5.21image
SD-Turbo-GGUF2.02image
SDXL-Base-1.06.94image
SDXL-Turbo6.94image
Z-Image-Turbo20.7image

thinksound — ThinkSound (1 models)

ModelSize (GB)Labels
ThinkSound-SFX6.4audio-generation

trellis — TRELLIS.2 (1 models)

ModelSize (GB)Labels
TRELLIS-3D15.43d

vllm — vLLM ROCm (experimental) (11 models)

ModelSize (GB)Labels
GLM-4.7-Flash-FP16-vLLM62.47reasoning, tool-calling
Qwen3.5-0.8B-FP16-vLLM1.77reasoning
Qwen3.5-2B-FP16-vLLM4.57reasoning, tool-calling
Qwen3.5-4B-FP16-vLLM9.34reasoning, hot, tool-calling
Qwen3.5-9B-FP16-vLLM19.3reasoning, tool-calling
Qwen3.6-27B-FP16-vLLM55.59reasoning, tool-calling, vision
Qwen3.6-27B-FP8-vLLM-highconc27.8reasoning, tool-calling, vision, mtp
Qwen3.6-27B-FP8-vLLM-lowconc27.8reasoning, tool-calling, vision, mtp
Qwen3.6-35B-A3B-FP16-vLLM71.93reasoning, tool-calling, vision
Qwen3.6-35B-A3B-FP8-vLLM-highconc36.0reasoning, tool-calling, vision, mtp
Qwen3.6-35B-A3B-FP8-vLLM-lowconc36.0reasoning, tool-calling, vision, mtp

whispercpp — Whisper.cpp (6 models)

ModelSize (GB)Labels
Whisper-Base0.148transcription, realtime-transcription
Whisper-Large-v33.1transcription, realtime-transcription
Whisper-Large-v3-Turbo1.62transcription, realtime-transcription, hot
Whisper-Medium1.53transcription, realtime-transcription
Whisper-Small0.488transcription, realtime-transcription
Whisper-Tiny0.075transcription, realtime-transcription

Implementation notes

ACE-Step (acestep)

ace-server exposes an asynchronous job API: POST /lm or POST /synth returns a job id immediately, GET /job?id=N polls the status, and GET /job?id=N&result=1 fetches the finished result. AceStepServer::run_job wraps this submit/poll/fetch cycle with a ceiling of roughly 20 minutes per stage at a 1-second poll cadence. Synth results arrive as multipart/mixed (an audio part plus a latent part); Lemonade extracts the first audio part.

Vocals are a two-stage pipeline. POST /lm with lm_mode: "generate" runs the ACE-Step language model, which turns the caption and lyrics into audio codes plus LM-filled metadata, returned as a JSON array of enriched requests. That array is accepted by POST /synth verbatim, so Lemonade feeds it through unchanged. POST /synth on its own is the DiT-only instrumental path — it has no language model and cannot sing, so a lyrics value (other than the sentinel below) is what routes a request through /lm first.

[Instrumental] — any case, surrounding whitespace ignored — is ACE-Step's sentinel for the no-vocals path, matching the Python reference implementation. Instrumental requests send the sentinel explicitly rather than an empty string because the synth stage also feeds the lyrics text into its conditioning.

Errors from audio_generations are written into the response sink as a JSON error payload; the endpoint handler turns that into an HTTP error instead of shipping it as audio.

The model download fetches the DiT checkpoint variant plus three companions when present in the repo: the language model (acestep-5Hz-lm-4B-Q8_0.gguf, required for vocals and auto-lyrics), the Qwen3 text encoder, and the VAE. The checkpoint path handed to --models is the directory of GGUFs; ace-server scans it by architecture, and --keep-loaded keeps models resident across requests.

Backend auto-selection

When a recipe's backend is not pinned in config.json (the backend key is absent or "auto"), the default backend reported in system-info — and used by RecipeOptions when resolving *_backend options — is chosen as follows: the first supported backend in RECIPE_DEFS preference order wins, unless a later supported backend is already locally installed (state installed, update_available, or update_required) while the earlier candidates are merely installable. In that case the first installed one wins. This makes explicitly installing a variant (e.g. the Vulkan build of a GPU backend) an effective override: auto-selection uses what is on disk instead of downloading the preference-order winner. An explicit backend value in config.json always takes precedence over both rules. The llamacpp system variant is never auto-selected unless prefer_system is set.