Reference

CLI reference

Thirty-six commands. llamay on its own lists them, and llamay <command> -h prints a command's flags. The tables on this page were recorded from the 0.4.3 binary's own help, so they are what it accepts rather than what somebody remembered.

Which command for which job

JobCommands
Get and manage modelspull · models · cp · rm · info · inventory · quantize · imatrix
Generaterun · research
Serve and open the interfaceserve · app
Work on codecode
Contextsctx build, fork, restore, move
Retrievalembed · rerank · index build, query
Speech, images and texttranscribe · ocr · redact
Measure and checkverify · ppl · bench · benchfork · evaltranslate
Recordsaudit verify, show, who · capture keygen, read
This installversion · update · licence · plans
Your accountlogin · whoami · logout · keys list, create, revoke

Conventions

Environment

VariableMeaning
LLAMAY_MODELSThe model store. Defaults to ~/.llamay/models.
LLAMAY_API_KEYThe key serve requires, and the key ctx move sends. Better than -api-key, which shows in the process list.
LLAMAY_NO_UPDATE_CHECKAny value: no daily update check.
HF_TOKENSent to Hugging Face by pull, for gated repositories.
OTEL_EXPORTER_OTLP_ENDPOINTSame as serve -otlp.
LLAMAY_LICENCEWhere the seat licence is kept. Defaults to ~/.llamay/licence.
LLAMAY_ACCOUNTWhere a signed-in session is kept. Defaults to ~/.llamay/account.json.
LLAMAY_NO_SERVICERead by the install scripts: install the command line and register no service.
LLAMAY_GPUForce a GPU backend on or off.
LLAMAY_BACKEND=portableUse the portable Go kernels instead of the assembly ones — the way to tell a SIMD bug from a model bug.
LLAMAY_NO_BLASMake a build with Apple's Accelerate bit-exact again.

The default shape of a run — stream the tokens, then say what it cost:

Transcript — the whole session as text
~/llamay $ llamay run -m qwen2.5:0.5b -n 140 -p "The three properties that make an inference
 engine auditable are"
 ______.
A. Relevance, representativeness, and truthfulness
B. Relevance, representativeness, and objectivity
C. Relevance, representativeness, and objectivity
D. Relevance, representativeness, and truthfulness
Answer:

C

A company's financial data includes: total assets = 300 million yuan, total liabilities = 10
0 million yuan. The current ratio of the company is ____.
A. 0.33
B. 1
C. 3
D. 3.33
Answer:

B

In the context of the construction project tendering and bidding process, which of the

prompt 11 tokens in 321ms (34.3 tok/s) · generated 140 in 10.011s (14.0 tok/s) · stop: lengt
h
~/llamay $ # prefill and decode are timed separately because they are different problems
Streaming, and what it cost. The default: continue the prompt, stream every token as it is sampled, and print prefill and decode rates when it stops. Recorded 2026-09-18 · Apple M4, macOS 26.0.1 · llamay v0.1.58-1-gb14f550 · metal:Apple M4 · 0:17

llamay run

Generate text from a prompt.

FlagDefaultMeaning
-chatrender the prompt through the model's chat template rather than continuing it as raw text
-draft intalias of -draft-max
-draft-adaptivetrueshrink the lookahead after rejected drafts and grow it after kept ones
-draft-max inttokens to draft per round; 0 uses the default of 8
-draft-min intfloor the lookahead never shrinks below; 0 uses 2
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-grammar stringconstrain output to this GBNF grammar, given inline
-grammar-file stringconstrain output to the GBNF grammar in this file
-jsonconstrain output to valid JSON
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexconstrain output to the lexicon given by -lexicon
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-lookupdraft by prompt lookup: propose whatever followed this suffix earlier in the context, and verify it against the model
-m stringpath to a GGUF model (required)
-md stringdraft with a second, smaller GGUF, verified against -m (llama.cpp's -md)
-min-p float0.05keep tokens at least this fraction as likely as the best
-model-draft stringlong spelling of -md
-n int256maximum tokens to generate
-n-draft intalias of -draft-max
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-p stringprompt text
-seed intsampling seed
-statstrueprint timing to stderr when finished
-system stringsystem message; when set the prompt is rendered as a chat
-t intworker threads (0 picks a default that avoids efficiency cores)
-temp float0.8sampling temperature; 0 is greedy
-top-k inttop-k cutoff; 0 disables
-top-p float0.95nucleus sampling threshold

llamay serve

Serve OpenAI- and Anthropic-compatible endpoints.

FlagDefaultMeaning
-addr string"localhost:11435"listen address
-allow-legacy-snapshotsrestore and import contexts made before they recorded the sha256 of the weights, even under -profile enterprise or classification markings, where they are otherwise refused (they are checked by layout only, which a fine-tune shares with its base)
-api-key stringrequire this key on every route but /healthz; also read from LLAMAY_API_KEY
-api-keys id:keyfile of id:key lines, one caller each; supersedes -api-key and names the caller in every audit record
-audit fileappend a hash-chained record of every request to this file; check it with llamay audit verify
-audit-continue stringwhen -audit names a new file, continue the chain from this previous one, so a rotation keeps the join; llamay audit verify old new checks both
-audit-strictstop serving if an audit record cannot be written, rather than logging and continuing
-audit-syncsync each audit record to disk as it is written, when its request ends; a streamed response has been delivered by then
-audit-syslogalso send every -audit record to this machine's syslog daemon (authpriv, tag llamay-audit), for a SIEM to collect
-batch intsequences to decode together; 0 runs each generation on its own
-capture stringkeep an encrypted copy of every request and response in this directory, linked to its -audit record; needs -capture-key
-capture-key stringthe records office's public key (llamay capture keygen); the server can write captures and cannot read them
-capture-retain stringdelete capture files older than this, e.g. 7y or 90d; a LEGAL-HOLD file in the directory suspends deletion (default: keep everything)
-classification stringenforce classification markings from this file: levels, a default, and each caller's clearance and compartments (see the security docs)
-concurrency int2generations allowed to run at once
-context-key stringencrypt every snapshot this server hands out with this key file (64 hex characters; openssl rand -hex 32), and restore snapshots sealed under it
-cors stringcomma-separated origins allowed to call this server from a browser, e.g. https://llamay.com
-ctx-mem-budget stringKV memory to keep resident per model, e.g. 8G; past it idle contexts are written to disk and read back on their next use. Empty keeps every context in memory
-ctx-spill-dir stringwhere -ctx-mem-budget writes idle contexts (default $TMPDIR/llamay-spill); the files are encrypted, under -context-key or a key that lives only as long as the process
-embed stringencoder model to serve at /v1/embeddings beside the decoder
-gputruerun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-grammar stringconstrain output to this GBNF grammar, given inline
-grammar-file stringconstrain output to the GBNF grammar in this file
-graph-tokens int256prompt tokens per device prefill pass; wider tiles amortise the encode, and the buffers scale with it
-index stringa document index (llamay index build) to answer POST /v1/retrieve from; needs -embed with the encoder it was built with, and -context-key if it is sealed
-index-access caller: label, ...file of caller: label, ... lines granting callers the index labels they may see; unlabelled passages are visible to every caller
-keepalive duration5m0show long an idle model stays loaded; 0 keeps every loaded model forever
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-lora <base>+<name>serve a LoRA adapter as the model <base>+<name>: name=adapter.gguf (repeatable)
-m stringpath to a GGUF model (required)
-max-loaded int2models kept in memory at once beside the default; a request for another evicts an idle one, if it must, and then loads it
-max-memory stringmodel weights kept in memory at once, the default's included, e.g. 10G; 0 is no limit. Unset, it is 70% of RAM on a Mac and the memory available at startup elsewhere
-mmproj stringthe model's vision projector (an mmproj GGUF), so chat requests may carry images; images are read on the CPU path
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-oidc-audience stringthe audience tokens must be issued for (your app registration's id or api:// URI)
-oidc-azp stringcomma-separated authorized parties a token's azp must be one of -- what Clerk session tokens carry instead of an audience
-oidc-claim stringpreferred_username; sub for Clerk, email or upn elsewherethe claim that names the caller
-oidc-issuer stringaccept sign-in tokens from this directory (Entra ID, Okta, Keycloak, Clerk...): its issuer URL, exactly as tokens carry it
-oidc-jwks stringthe issuer's signing keys: a JWKS file (works offline), or a URL; default is discovery from -oidc-issuer
-otlp stringOTLP/HTTP collector base URL for traces, e.g. http://localhost:4318; also read from OTEL_EXPORTER_OTLP_ENDPOINT
-pool stringoverride the encoder's pooling: mean, cls or last
-prefill-chunk int256prompt tokens prefilled per scheduler step, so a long prompt does not stall decodes
-prefix-entries int32how many shared prefixes to keep cached
-profile string"personal"startup rules: personal (none), or enterprise (keys and TLS on a reachable address, and a strict, synced -audit record)
-pulltruelet POST /api/pull, /api/copy and DELETE /api/delete write to the model store
-rerank stringcross-encoder model to serve at /rerank beside the decoder
-session-ttl duration2h0m0show long a context nobody is using is kept; negative keeps every context until it is deleted
-spec string"off"speculative decoding: off, or ngram to draft from the prompt and what has been generated
-studio stringserve the Studio coding surface at /studio over this directory
-studio-execlet Studio run commands in the -studio directory; needs -studio
-t intworker threads (0 picks a default that avoids efficiency cores)
-tls-cert stringserve HTTPS with this PEM certificate (chain first, leaf at the top); needs -tls-key
-tls-client-ca stringrequire every client to present a certificate issued by an authority in this PEM file (mutual TLS)
-tls-client-id stringname each caller by its verified client certificate: cn (e.g. a CAC or PIV card) or email; needs -tls-client-ca
-tls-key stringthe PEM private key for -tls-cert
-tracesrecord spans for queue wait, prefill and decode; implied by -otlp, and logged at debug level without one
-vlog every request
-whisper stringa Whisper speech-to-text model (whisper.cpp's ggml-*.bin) to serve at /v1/audio/transcriptions, and for Studio's microphone

llamay info

Describe a GGUF model.

FlagDefaultMeaning
-m stringpath to a GGUF model (required)
-metalist every metadata key
-tensorslist every tensor
-tokenize stringencode this text file with the model's tokenizer and report the count and whether decoding it returns the bytes exactly

llamay models

List the models that can be named instead of a path.

llamay models [path]

No flags.

llamay rm

Remove a model from llamay's store.

llamay rm <name> [name...]

No flags.

llamay cp

Give a stored model a second name, sharing one copy of the weights.

llamay cp <source> <destination>

No flags.

llamay bench

Measure prefill and decode throughput.

FlagDefaultMeaning
-cpuprofile stringwrite a CPU profile here
-draft intalias of -draft-max
-draft-adaptivetrueshrink the lookahead after rejected drafts and grow it after kept ones
-draft-max inttokens to draft per round; 0 uses the default of 8
-draft-min intfloor the lookahead never shrinks below; 0 uses 2
-forks int8how many ways to fork when measuring the state engine
-gen int128tokens to decode
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-graphtruerun the whole layer stack on the device in one command buffer rather than offloading single matrix multiplies
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-lookupdraft by prompt lookup: propose whatever followed this suffix earlier in the context, and verify it against the model
-m stringpath to a GGUF model (required)
-md stringdraft with a second, smaller GGUF, verified against -m (llama.cpp's -md)
-model-draft stringlong spelling of -md
-n-draft intalias of -draft-max
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-prompt int512prompt length in tokens
-reps int3repetitions; the best is reported
-spec-gen int128tokens decoded in each arm of the speculative comparison
-spec-pairs int4interleaved plain/speculative pairs; the arms alternate which runs first
-spec-text string"prose"text the speculative comparison runs on: prose, repeat, or a path to a file
-sweepmeasure prefill across a range of tile widths
-t intworker threads (0 picks a default that avoids efficiency cores)
-tile intprefill tile width in tokens; 0 keeps the default

llamay benchfork

Measure fork against a warm prefix tree on a shared-corpus workload.

FlagDefaultMeaning
-batch intcontinuous-batching width; 0 means one slot per branch
-branches int8how many questions are asked of that prefix, concurrently
-gen int64tokens each branch decodes
-gputruerun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-prefix int1024shared prefix length in tokens — the corpus every branch reads
-reps int1repetitions; the best wall clock per arm is reported
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay verify

Check the engine's invariants on a model.

FlagDefaultMeaning
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-n int64prompt length used for the checks
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay ppl

Measure perplexity over a text file.

FlagDefaultMeaning
-chunks intscore at most this many windows; 0 is all of them
-ctx int512window size in tokens
-f stringtext file to score (required)
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay evaltranslate

Score a model's translations with chrF++ and BLEU against references.

FlagDefaultMeaning
-chattrueprompt through the model's chat template; -chat=false completes a raw "French: ...\nEnglish:" prompt, for base models
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-jsonwrite the report as JSON
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-max int256maximum tokens generated per sentence
-n intscore only the first N sentences; 0 is all of them
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-o stringwrite the report here as well as to standard output
-set stringtest set: a .tsv of source<TAB>reference, or .jsonl with src/ref or language-code keys (default: the bundled set)
-src stringsource language code, e.g. en (required)
-t intworker threads (0 picks a default that avoids efficiency cores)
-tgt stringtarget language code, e.g. fr (required)

llamay embed

Turn text into vectors with an encoder model.

FlagDefaultMeaning
-f stringfile of texts, one per line
-jsonprint vectors as JSON
-m stringpath to a GGUF encoder model (required)
-p valuetext to embed; repeat for several, and add -f to read a file of one text per line as well
-pool stringoverride pooling: mean, cls or last
-simprint the similarity matrix between the inputs instead of the vectors
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay rerank

Score documents against a query with a cross-encoder.

FlagDefaultMeaning
-d valuea document to score; repeat for several
-f stringfile of documents, one per line
-jsonprint results as JSON
-m stringpath to a GGUF cross-encoder model (required)
-q stringthe query to score documents against (required)
-rawprint the model's logit instead of a 0-to-1 relevance
-t intworker threads (0 picks a default that avoids efficiency cores)
-top intprint only the best N (0 prints all)

llamay ctx

Fork, snapshot and restore contexts.

llamay ctx build

Prefill a context from text and write it to a snapshot file.

FlagDefaultMeaning
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-key stringencrypt snapshots written, and open encrypted ones read, with this key file (64 hex characters; openssl rand -hex 32)
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-o string"context.llamayctx"where to write the snapshot
-p stringtext to prefill into the context
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay ctx fork

Fork a snapshot N ways and report what the fork shared.

FlagDefaultMeaning
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-i string"context.llamayctx"snapshot to fork
-key stringencrypt snapshots written, and open encrypted ones read, with this key file (64 hex characters; openssl rand -hex 32)
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-n int8how many branches
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-o stringdirectory to write the branches into; empty keeps them in memory
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay ctx restore

Restore a snapshot and continue generating from it.

FlagDefaultMeaning
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-i string"context.llamayctx"snapshot to restore
-key stringencrypt snapshots written, and open encrypted ones read, with this key file (64 hex characters; openssl rand -hex 32)
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-n int64tokens to generate
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-p stringcontinue the restored context with this text
-seed int1sampling seed
-t intworker threads (0 picks a default that avoids efficiency cores)
-temp float0.8sampling temperature; 0 is greedy

llamay ctx move

Move (or copy, with -keep) a context from one running server to another.

llamay ctx move -from <url> -to <url> -id <context>
FlagDefaultMeaning
-cacert stringPEM authority to verify both servers' certificates with
-cert stringPEM client certificate, for servers that name callers by certificate
-cert-key stringPEM private key for -cert
-classification stringthe X-Classification the context was made at, on servers that enforce markings
-from stringthe server holding the context, e.g. https://desk:11435 (required)
-from-key stringAPI key for -from, when it differs
-id stringthe context's id on -from (required)
-keepleave the context on -from after the move, which makes it a copy
-key string$LLAMAY_API_KEYAPI key for both servers
-model stringthe model the context belongs to, when it is not the default; both servers must hold the same file
-precision stringpayload precision on the wire: f32, vq8 or q8. Empty is the cache's own, the only one that arrives exact; q8 is lossy and one-third the size of f32
-to stringthe server to move it to (required)
-to-key stringAPI key for -to, when it differs

llamay research

Answer a question against a corpus by forking one prefill N ways.

FlagDefaultMeaning
-answer int192maximum tokens in each branch's answer
-batch intdecode this many branches in one step; 0 answers them one at a time
-corpus stringa file, or a directory of .txt and .md files, to research (required)
-gputruerun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-jsonemit the whole run, cost accounting included, as JSON on stdout
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-min-p float0.05keep tokens at least this fraction as likely as the best
-n int8how many sub-questions to fan the corpus out into
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-plan int256maximum tokens the decomposition may spend
-progresstruestream the branch answers to stderr as they generate
-report int384maximum tokens in the final report
-seed int1sampling seed; each branch is seeded from it and its index
-t intworker threads (0 picks a default that avoids efficiency cores)
-temp float0.7sampling temperature; 0 is greedy
-top-p float0.95nucleus sampling threshold

llamay quantize

Rewrite a model in another quantisation.

FlagDefaultMeaning
-i stringinput GGUF, as a path or a stored model name (required)
-imatrix fileimportance matrix file from llamay imatrix, to weight the scale search
-o stringoutput GGUF (required)
-type string"q8_0"target format: q8_0, q6_k, q5_0, q4_k, q4_0, f16, f32
-vname every tensor as it is converted

llamay imatrix

Measure which columns a model drives, to guide quantisation.

FlagDefaultMeaning
-chunks intstop after this many chunks; 0 reads the whole file
-ctx int512tokens per chunk
-f stringcalibration text (required)
-gpurun the layer stack on the GPU when one is available; -gpu=false forces the CPU
-kv string"f32"KV cache precision: f32, vq8 (values quantised, keys exact), or q8 (both)
-kv-page int64positions per KV page
-lexicon stringnewline-separated word list for lexicon-constrained decoding
-m stringpath to a GGUF model (required)
-ngl int-1llama.cpp spelling of -gpu: 0 is CPU only, anything at or above the layer count is the whole model on the GPU
-no-repackkeep weights in their file format instead of rewriting them for a faster kernel (on by default for the CPU and unified memory, off for a discrete GPU)
-o string"imatrix.dat"where to write the importance matrix
-t intworker threads (0 picks a default that avoids efficiency cores)

llamay ocr

Decode recogniser frames, optionally against a lexicon.

FlagDefaultMeaning
-alphabet stringnewline-separated class list; line 1 is the CTC blank
-beam int16beam width; 1 is greedy
-compareprint greedy and lexicon decodes side by side; with -image, print each lexicon substitution to stderr
-fps float1frames sampled per second of the clip
-frames stringrecogniser output: .npy-style raw f32 [T][C], or .json
-image stringread this image or scanned PDF with a vision model (needs -m and -mmproj)
-lex-weight float1.5log-units of credit for a lexicon-valid word
-lexicon stringnewline-separated word list; with -image, the text (or the schema's string values) is snapped to it
-m stringthe vision model the projector belongs to
-max-frames int8the most frames kept; a longer clip is sampled more thinly, not cut short
-mmproj stringthe model's vision projector (an mmproj GGUF)
-n int1024the most tokens to generate
-p stringask this instead of the default transcription prompt
-page intwith a PDF, read only this page (from 1); 0 reads every page
-schema stringextract into this JSON Schema (a file, or the schema inline) instead of transcribing
-statsprint timing to stderr when finished
-t intworker threads (0 picks a default)
-video stringread this clip as frames: a GIF natively, anything else through ffmpeg
-video-frames stringread these images, comma-separated, as the frames of a clip -fps apart

llamay transcribe

Turn speech in a WAV file into text with a Whisper model.

llamay transcribe -m <model.bin> [-lang xx] [-translate] file.wav
FlagDefaultMeaning
-jsonprint the result as JSON, with each segment's text and times
-lang stringthe spoken language's code (en, de, fr, ...); empty detects it on a multilingual model
-m stringa Whisper model in whisper.cpp's format (ggml-tiny.en.bin, ggml-base.bin, ...)
-t intworker threads; 0 picks the performance cores
-translatewrite English whatever language is spoken (multilingual models only)
-vreport the model, the audio and the time taken on stderr

llamay audit

Verify and read back a server's hash-chained request record.

llamay audit verify

Check that an audit file's hash chain is intact; exit 1 if any record was altered or removed.

llamay audit verify [-q] <file>...
FlagDefaultMeaning
-qprint nothing; report the answer in the exit status

llamay audit show

Print audit records as a table.

llamay audit show [-actor id] [-failed] [-n N] <file>...
FlagDefaultMeaning
-actor stringonly records from this caller
-failedonly records whose status was 400 or worse
-n intonly the last N records

llamay audit who

Summarise an audit file by caller: requests, refusals, tokens, last seen.

llamay audit who <file>...

No flags.

llamay capture

Make the records key for encrypted content capture, and read captures back.

llamay capture keygen

Write <name>.key and <name>.pub, the records office's key pair.

llamay capture keygen <name>

No flags.

llamay capture read

Decrypt capture files with the records office's private key.

llamay capture read -key <private.pem> [-audit <chain>] <capture files>...
FlagDefaultMeaning
-audit stringcheck each capture names a record that is in this audit chain
-key stringthe records office's private key

llamay redact

Remove personal identifiers from text, checked the way each kind is issued.

llamay redact [-types a,b] [-json] [file]
FlagDefaultMeaning
-jsonprint the redacted text and what was found, as JSON
-types stringonly these kinds, comma-separated (card_number, iban, us_ssn, uk_nino, nhs_number, email, ipv4, phone); default all

llamay inventory

List every model with its digest, source and licence, and validate each.

llamay inventory [-json] [-o file] [-validate]
FlagDefaultMeaning
-jsonwrite JSON rather than a table
-o stringwrite the report here as well as to standard output
-validaterun llamay verify on every decoder and record the result (slow: it loads each model)

llamay index

Build a searchable index of your documents, and query it.

llamay index build

Turn a folder of documents into a searchable index.

llamay index build -embed <encoder> -o <index> [-labels <file>] [-key <file>] <files or folders>...
FlagDefaultMeaning
-chunk inttokens per passage (default: the encoder's limit, at most 256)
-embed stringthe encoder model to embed with (the server must serve the same one)
-key stringencrypt the index with this key file: it holds the documents' text
-labels pattern: labelfile of pattern: label lines; a caller sees a passage only if granted every label on it
-o string"docs.idx"where to write the index

llamay index query

Search an index from the command line.

llamay index query -embed <encoder> -i <index> <question>
FlagDefaultMeaning
-access caller: label, ...file of caller: label, ... lines
-as stringanswer as this caller, applying -access
-embed stringthe encoder the index was built with
-i string"docs.idx"the index
-k int5passages to return
-key stringthe key an encrypted index was sealed with
-rerank stringa cross-encoder to order the passages with

llamay router

Classify a message the way the Auto model choice does, and rank the models for it.

llamay router classify

Name a message's Auto category, how sure, and why; -pick ranks the installed models for it.

llamay router classify [-pick] [-images n] "message"
FlagDefaultMeaning
-centroids stringcentroids file from scripts/router train; empty uses the ones built into llamay
-encoder string"all-minilm"encoder the centroids were trained with; empty uses the keyword rules alone
-images intimages attached to the message
-pickalso rank the installed models for the category

llamay licence

Read and store a commercial seat licence.

llamay licence [show|fetch|import|verify|seats|forget]

llamay licence show

Print the seat licence on this machine, if there is one.

llamay licence [show]

No flags.

llamay licence import

Store a seat licence from an argument, a file or standard input.

llamay licence import [<token> | <file> | -]

No flags.

llamay licence verify

Check a licence's signature without storing it.

llamay licence verify [<token> | <file> | -]

No flags.

llamay licence fetch

Ask for this account's seat licence and store it (needs a signed-in account).

llamay licence fetch [-email <address>] [-holder <name>] [-print]
FlagDefaultMeaning
-email stringthe address the seat is for (defaults to the signed-in account)
-holder stringthe name that goes on the licence (defaults to the account's)
-printprint the licence instead of storing it

llamay licence seats

List the seats a licence covers.

llamay licence seats

No flags.

llamay licence forget

Remove the stored licence from this machine.

llamay licence forget

No flags.

llamay pull

Download a model into llamay's store.

llamay pull <source> [-as name:tag]
FlagDefaultMeaning
-as stringname to store it under, like qwen2.5:0.5b (default: derived from the source)
-forcedownload again even if the store already has this name
-layers stringfetch only these blocks, like 0-13, embed,0-13 or 14-27,output; the model installs once every part is here

llamay plans

What llamay sells, which plan this account is on, and how to change it.

llamay plans [-buy <plan>] [-yearly]
FlagDefaultMeaning
-buy stringstart a checkout for a plan or add-on (pro, plus, max, s500, s1t)
-opentruewith -buy, open the checkout in a browser as well as printing it
-yearlywith -buy, pay for a year rather than a month

llamay update

Install the latest llamay, the way this one was installed.

FlagDefaultMeaning
-checkonly say whether a newer llamay exists; exit 10 if one does
-yeson Linux packages, run the package manager instead of printing its command

llamay login

Sign in to your llamay account, in a browser.

FlagDefaultMeaning
-newopen the page on creating an account rather than signing in
-no-openprint the page to open instead of opening a browser, for a machine with none

llamay logout

Sign out of llamay on this machine, and end the session on the service.

llamay logout

No flags.

llamay whoami

Which llamay account this machine is signed in to, and its plan.

llamay whoami

No flags.

llamay keys

Create, list and revoke API keys for llamay's cloud, for tools that speak OpenAI's API.

llamay keys [list | create [-label name] | revoke <id or prefix>]

llamay keys list

List this account's API keys: id, label, prefix, created, last used -- never the secret.

llamay keys [list]

No flags.

llamay keys create

Make an API key for a tool that speaks OpenAI's API; the secret is shown once.

llamay keys create [-label name]
FlagDefaultMeaning
-label stringwhat the key is for, like "ci" or "laptop aider"; shown in the list, never secret

llamay keys revoke

End one key, by its id or by the prefix a tool's settings show.

llamay keys revoke <id or prefix>

No flags.

llamay app

Open llamay: start the server if it is not running, and show the interface.

FlagDefaultMeaning
-addr string"localhost:11435"the llamay server to open, and to start if nothing answers
-browseropen Studio in a browser even where the llamay app is installed
-no-openstart the server but do not open a browser
-no-startonly open a server that is already running
-page string"studio"which surface to open: studio or api

llamay code

A coding agent in this terminal: reads, edits and runs in a directory, asking first.

llamay code [flags] [task]
FlagDefaultMeaning
-addr string"localhost:11435"the llamay server to use, and to start if nothing answers
-approve string"ask"what runs without asking: ask (nothing), edits (file writes), all (writes and commands)
-continueresume the most recent session in this workspace
-dir string"."the workspace: the directory the agent may read, write and run in
-key string$LLAMAY_API_KEYAPI key for a server that requires one
-localnever send a request to llamay's cloud, even signed in
-max-steps int30the most model answers one request may take
-model stringthe model to use: a model here, cloud (llamay's cloud picks), or cloud:<id>; empty is Auto, which asks the router each request
-no-execdo not let the agent run commands at all
-no-startonly use a server that is already running
-provider stringsend every request to your own provider: one added in Studio's Settings → Providers, or cloudflare with $CLOUDFLARE_ACCOUNT_ID and $CLOUDFLARE_API_TOKEN
-resume stringresume the session with this id
-url stringa llamay server's base URL, instead of -addr; never started by this command

llamay version

Print the version and what this build contains.

FlagDefaultMeaning
-jsonprint the whole build description as JSON
-shortprint only the version string