Perplexity()

Sonar models direct from Perplexity, with your own API key. Costs go direct to the vendor at their rates — no markup, nothing on your Axon balance.

export default defineProfile({
    providers: [Perplexity()],
})

Serves perplexity/*.

Credentials

Set the environment variable, or pass key on the declaration:

PERPLEXITY_API_KEY=...
providers: [Perplexity({ key: process.env.MY_OWN_VAR })]

You can also store this key in your Axon account vault through the cloud client:

await cloud.user.vault.connections.get("perplexity").connect({ key: apiKey })

A fresh host signed into the same account can use the connection. Profiles without an explicit providers list discover active account connections automatically; an explicit list continues to restrict which providers that machine uses.

Explicit keys and environment variables take precedence over the account vault. A custom url requires an explicit credential. Provider SDKs ship with Axon.

Options

Perplexity(options?: ProviderOptions)
OptionDefaultDescription
keyPERPLEXITY_API_KEYYour own credential, passed directly
urlthe provider's APIEndpoint override
slotsunboundedCeiling on concurrent calls a fanned-out role may spend here

Model ids

Bare Sonar slugs:

export default defineAgent({ model: "perplexity:sonar-pro" })

Search-grounded by design

Sonar models answer with live web search built in, which makes them a poor fit for a cortex role — the loop already owns retrieval, and a model doing its own is a second source of truth. They suit a role that genuinely wants a grounded answer, declared alongside a conventional model rather than instead of one.