done.
flash deploy registers your adapter with Freesolo’s managed serving
service. Send requests to it and pay per token (see Billing).
Deploy
Deploy a specific checkpoint
Every training step that saved an adapter is independently deployable. List a run’s deployable checkpoints:A run that never finalized (cancelled or preempted mid-training) has no final
adapter, so a plain
flash deploy <run-id> fails with an error that lists the
saved checkpoint steps and the exact flash deploy <run-id>/step-N command
to deploy one of them instead.Stable aliases and immutable revisions
Final adapters useRUN_ID@final.<40-char-sha> and saved checkpoints use
RUN_ID@step-N.<40-char-sha>. The stable run-id alias moves only after the new
revision passes its bounded smoke. Older revisions can remain directly callable.
RUN_ID/step-N is a deploy and export selector, not a chat model name. After
deploying that checkpoint, use the run alias or the full immutable revision from
flash deployments.
Billing
Serving is billed per token. Prompt and completion tokens have per-model rates, and cached prompt tokens use the model’s cached-input rate. See prices in Supported models. Cached prompt tokens are cheaper than uncached prompt tokens. Prefix caching is always on: when a request’s prompt shares a leading prefix with a recent one — a shared system prompt, or the growing context of a multi-turn chat — the serving engine reuses that prefix from cache instead of recomputing it. Only the input prefix can be cached, so completion tokens always bill at the full per-token rate. When a request hits the prefix cache, the response reports how many prompt tokens were served from cache inusage.prompt_tokens_details.cached_tokens.
Serving meters prompt, completion, and cached prompt tokens from the response and
bills the org atomically. Sub-cent usage is carried forward, so very small
requests are still accounted for without rounding each request up to a cent.
Chat from the CLI
flash chat accepts the stable run alias or a full immutable revision.
RUN_ID/step-N is not accepted because it is a deploy/export selector.
-m/--message is required; --system, --max-tokens (default 512), and
--temperature (default 0.0) are optional. See the
CLI reference for the full flag list.
--system is transient — it applies to that one request and is not stored with
the deployment. Use it to probe the adapter with the same system prompt it was
trained with:
Manage deployments
openai_base_url for clients.
flash undeploy <run-id> disables the stable alias and all of the run’s
immutable revisions.
Use it from your own code
Deployments are OpenAI-compatible. Useflash deployments --json and pass its
openai_base_url as the SDK base URL. Set model to the stable run alias or a
full immutable revision. A valid Freesolo API key is required, and the key’s org
must own the adapter named in model:
enable_thinking per request for an adapter.
Structured outputs
Constrain a response to valid JSON with the OpenAI-standardresponse_format.
A training structured_outputs constraint becomes the deployed adapter’s
default. A request-level response_format can override it with text,
json_object, or json_schema. This works on adapters and base models:
{"type": "json_object"} forces any valid JSON with no fixed schema, and
{"type": "text"} leaves output unconstrained. With thinking enabled, reasoning
is free-form and the grammar begins after </think>. Real deployments fail
before alias activation if structured output is invalid, unclosed, or truncated.
See the Structured outputs guide to also constrain
training rollouts.
Chat with a base model (no adapter)
You don’t need a trained adapter to serve a catalog base model. Point the same OpenAI-compatible client at the serving endpoint and setmodel to a base-model
id — any id from flash models, e.g. Qwen/Qwen3.5-4B — to generate against the
base weights with no LoRA and no flash deploy:
enable_thinking you pass in chat_template_kwargs.
Export to your own HuggingFace repo
Copy a trained adapter out of Freesolo’s managed storage into a HuggingFace repo you own:--adapter-id and --repository are required; --api-key (defaults to
HF_TOKEN) and --public are optional. See the
CLI reference for the full flag list.
Next steps
Serving prices
Per-token rates for every model.
CLI reference
Every deploy, chat, and serving command.