--config <cr_...> when you create a deployment. When a model has a single profile, the CLI selects it automatically.
List a model’s profiles
Each profile is anchored by a config revision (cr_...). List the configs published for a model with the CLI. For a public-catalog model, the supported-models catalog also shows each profile’s quantization alongside its config:
CLI
referenceModel, the model’s resource name.
The config id is a config revision in the format cr_.... Pass it as a resource name (projects/{project_id}/configs/{config_revision_id}) in the config field when you create a deployment. Use the config’s projectId from the list response for {project_id}.
Use this command when you already have a model, including your own uploaded fine-tuned models, which aren’t in the public catalog. To browse the public catalog and get certified model-and-config pairs in one call, see List supported models programmatically.
Selectors
Every config carries a set of selectors that describe the hardware and serving setup:
A model may have more than one published profile, for example a single-GPU profile and a multi-GPU profile at a higher price and throughput.
Instance types and capacity
A config’saccelerator_type and accelerator_count selectors map to a deployable instance type, the unit of hardware you pay for while replicas run. For example, accelerator_type: nvidia-h100-80gb with accelerator_count: 1 maps to the instance type 1xnvidia-h100-80gb.
To see an instance type’s per-hour price and per-region capacity, query the public instance-types endpoint:
Shell
regions, and each region reports headroom, a best-effort hint of how many more replicas of that instance type currently fit. A headroom value of N with the RELATION_GTE relation means at least N units are free in that region, and the true number may be higher. Use it to pick a region with capacity before you deploy. For the per-hour price of each instance type, see Pricing.
Pick a profile
To pick a profile, match it to your workload requirements:- Single-GPU, balanced: A good default for most models. Lowest cost per replica.
- Multi-GPU: Higher throughput and lower latency for large models or heavy traffic, at a higher per-replica price.
- Latency-optimized: When time to first token matters more than aggregate throughput.
Configs are immutable. Together publishes new revisions over time, each with a new
cr_... ID. A deployment pins the revision you selected, so its hardware and engine don’t change underneath you.Decoding optimizations
Decoding optimizations such as speculative decoding are defined in the config you select. The config’soptimization selector (for example balanced, throughput, or latency) sets the serving profile, and configs that enable speculative decoding declare a draft model.
When you create a deployment, Together derives the speculator from the config’s declared draft model and pins it at creation time. You cannot set a speculator on the deployment yourself.
Speculative decoding
Speculative decoding raises average throughput by predicting future tokens ahead of time. It usually improves performance, but it can introduce occasional tail-latency spikes that strict real-time workloads won’t tolerate. If your workload is latency-sensitive, choose a config with a latency-oriented optimization profile. When a config declares a speculative-decoding draft, list and get responses includedraftModel, the resource name of the draft model (projects/{project_id}/models/{model_id}). Configs without speculative decoding omit this field.
Next steps
Create a deployment
Bind a model and config to an endpoint.
Configure autoscaling
Choose replica bounds and an autoscaling metric.