Catalog
See which models are available, then inspect the information you need to choose one.
Browse the hosted catalog
The fastest way to discover models is the model catalog. It lists every model available through this workspace. Open a model to see its context window, accepted modalities, supported request parameters, serving providers, regions, and pass-through prices.
Model ids use a stable author/model form, such as openai/gpt-5.6-luna. Use that id in routing, environments, and benchmarks. The serving host can change without changing the model id.
Browse from Python
ModelCatalog.models() returns every bundled ModelSpec. Filter that list when you need to build your own model picker, find every model from one author, or select only models that accept a required modality.
from plural import ModelCatalog
catalog = ModelCatalog()
models = catalog.models()
for spec in models:
print(
spec.id,
spec.context_length,
spec.architecture.input_modalities,
)Understand a model entry
A model entry answers the questions you need before trying it:
context_length— how much prompt and conversation history fitsarchitecture— accepted input and output modalitiessupported_parameters— controls such as tools, structured output, reasoning, or sampling settingsordered_endpoints()— which providers and regions can serve the modelpricing— prompt, completion, and long-context rates
from plural import ModelCatalog, estimate_cost
from plural.types import Usage
catalog = ModelCatalog()
spec = catalog.require("openai/gpt-5.6-luna")
print(spec.name)
print(spec.supported_parameters)
print([
(host.provider, host.region, host.pricing)
for host in spec.ordered_endpoints()
])
usage = Usage.from_counts(prompt=25_000, completion=2_000)
print(estimate_cost(usage, spec))Catalog data and live availability
Request GET /v1/models when another application needs the hosted catalog. The catalog describes the models and endpoints Last Labs can route; an individual provider may still be temporarily unavailable. The routing layer handles that at request time.
Prices are upstream list prices with no Last Labs routing markup. If several hosts serve the same model, the request is charged at the host and region that actually answered it. Use estimate_cost() for planning, then use the response usage for the final amount.