Perplexity
Sonar
perplexity/sonar
Sonar is lightweight, affordable, fast, and simple to use — now featuring citations and the ability to customize sources. It is designed for companies seeking to integrate lightweight question-and-answer features...
RoleWrites text. Use it when the answer is a paragraph, a plan, or a tool call.
$1
In / M
$1
Out / M
127K
Context
- AA intelligence index
- Not on listing
- Inputs
- text, image
- Outputs
- text
- Tools
- Not listed
- Structured output
- Not listed
- Reasoning
- Not listed
- Weights
- Not verified
- Listed
- Jan 27, 2025
01 · What it's good at
Use it for this.
Three jobs this model is built for, and the ones to give to something else.
01
Drafts, answers, and agents that need prose
02
Tool calls, when the listing says tools are supported
Skip it for
- A calibrated probability your code will threshold
- Pixels, audio, or embeddings
02 · Example tasks
What you'd actually send it.
Real inputs, not a benchmark. Paste one into the snippet below to try it.
You send
You are the help assistant for our app. Answer in under 100 words.
Why this model
Chat models write text.
03 · Your stack
Where it sits: Do the volume.
A chat model reads a prompt and writes text. You steer it with instructions. If the next step in your program is a label, a decision model is usually a cleaner fit than parsing a paragraph.
Layer 01
Retrieve
Layer 02
Plan & reason
Layer 03 · this model
Do the volume
Layer 04
Gate & route
Layer 05
Draw, speak, listen
Pairs well with
- ricursiveAI/Ripple-65B-PreviewWrites text. Use it when the answer is a paragraph, a plan, or a tool call.
- Elorian: GlimpseWrites text. Use it when the answer is a paragraph, a plan, or a tool call.
- Moondream: Moondream 3 PreviewWrites text. Use it when the answer is a paragraph, a plan, or a tool call.
04 · Wire it up
One request. Paste and run.
Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.
// OpenRouter speaks the OpenAI Chat Completions format.
const res = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "perplexity/sonar",
"messages": [
{
"role": "user",
"content": "Summarize this thread in five bullets: <paste thread>"
}
]
}),
});
const data = await res.json();
console.log(data.choices[0].message.content);
05 · Watch out for
Gotchas.
This lesson is generated from the model type and the live listing. It has not been hand-reviewed yet.
Check the listing for supported parameters before you rely on tools or structured output.
Sources
Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.