Skip to main content
Superwire separates provider instances and model profiles.

Provider declarations

A provider declaration creates a named provider instance.
openai is the provider type. llm is the provider instance name. At the moment, the executor supports OpenAI-compatible providers through the /responses API.

Model declarations

A model declaration creates a reusable model profile from a provider instance.
The id is the provider-specific model identifier sent to the configured provider. Models that accept non-text inputs should declare those supported asset kinds:
The supported asset kinds are image, video, and document. Superwire validates asset usage against this list before sending a model request. Agents reference model profiles through the model namespace:

Inference defaults

Inference configuration belongs on the model profile when it should apply to every agent using that profile.
An agent can override inference for that specific model usage by opening a block after the model reference:
The usage block specializes the model for that agent. It does not create a new named model profile.

Multiple model profiles

Define multiple profiles when different agents should use different model IDs or inference defaults.
Then each agent chooses the profile that matches its job:

Provider-level defaults

Provider-level defaults are optional and should be reserved for settings that truly apply to all model calls through that provider, such as timeout or retry configuration.