Skip to main content

Overview

Presets are pre-configured setups optimized for specific use cases. Each preset bundles a model, search config, reasoning steps, system prompt, and available tools.
Agent API presets now use tier-based names:
Previous preset nameCurrent preset name
fast-searchfast
pro-searchlow
deep-researchmedium
advanced-deep-researchhigh
ultraxhigh
Presets can be used in two ways:
  • Dynamic preset (recommended) — call a preset by name (e.g., preset="low") to opt in to the latest Perplexity-optimized configuration. Perplexity updates the underlying configuration as evals show improvements, and your application picks up those improvements automatically with no code changes.
  • Frozen preset/configuration — copy a preset’s current preset values (model, tools, system prompt, parameters) into your request and omit the preset parameter. This freezes the exact setup the preset uses today. Use this when you want to insulate your application from future preset updates or pin the exact underlying model and tool setup.
You can mix both: call the dynamic preset in most environments and use a frozen configuration where stability is required.
Presets provide sensible defaults optimized for their use case. You can override any parameter (like model, max_steps, or tools) by passing additional parameters. See Customizing Presets for code examples.
No explicit versioning. Presets are not pinned to a specific version. Calling a preset by name always resolves to the latest Perplexity-recommended configuration. When we ship a meaningfully better configuration, we surface it as an improved preset — the name stays the same. If you need to pin a specific configuration, create a frozen configuration by copying the current preset values inline instead.

What Changes When a Preset Is Updated

When Perplexity updates a preset, we aim to keep changes within the same expected profile so your application sees a quality improvement without surprises:
  • Cost profile — preset updates target the same cost band. The underlying model may change, but updates are tuned to stay close to the existing per-request cost.
  • Latency profile — preset updates target the same latency band. Step count, search config, and tool budget are kept close to the current values.
  • Quality — this is the dimension that preset updates optimize for. New configurations ship when evals show meaningful improvements.
If you need to pin an exact configuration instead of tracking these updates, create a frozen configuration by copying the current preset values inline.

Choosing a preset

Each preset trades off research depth, source coverage, and latency. Use the table below to pick the one that fits your query.
PresetGood atUse when
fastSingle-fact lookups, definitions, quick summaries.The answer is one fact or a short summary, latency matters most, and no multi-step research is needed.
lowEveryday research questions, light multi-step lookups with current information.A query needs current information with light research and tool use.
mediumMulti-hop browsing and wide aggregation across many sources.A question requires chaining evidence across many sources over several rounds of search and reasoning.
highExpert-level reasoning and exhaustive source coverage.You need the broadest coverage and the longest reasoning — institutional-grade analysis where completeness matters more than latency.
xhighOpen-ended, agentic work: executing code in a sandbox, sustaining long tool-use loops, and gathering across many sources at once.A task is open-ended rather than a single question — it runs code, orchestrates many rounds of tool use, or builds up a result step by step. It is the most capable preset, best when capability matters more than speed.
The full current configuration for each preset — model, tools, parameters, and system prompt — is in the Current preset values section below.

Using a preset

Call a preset by name with the preset parameter — Perplexity manages the underlying configuration, so you pick up future improvements with no code changes.
Swap preset="low" for any preset name from the table above. To override any preset default, see Customizing Presets.

Customizing Presets

Presets provide sensible defaults. Any field you pass alongside the preset overrides that default. Anything you don’t set keeps the preset’s default. tools are the one exception: they merge per tool instead of replacing the whole set. Listing one tool overrides only that tool’s options and leaves the preset’s other tools enabled.
To tune search depth under a preset, set max_tokens and max_tokens_per_page on web_search. See Configuring Search.
The full current configuration for each preset — model, tools, parameters, and system prompt — is in the Current preset values section below. The Choosing a preset table summarizes what each preset is for.

Current preset values

Current preset values are the concrete model, system prompt, tools, and parameters behind each preset, expressed as public API fields. Copy these values into your request and omit the preset parameter to create a frozen configuration: a pinned setup that reproduces the preset’s behavior today. Each preset below shows its complete, self-contained current values — copy a single block to freeze that preset’s behavior.
Frozen configurations are pinned. They will not pick up future preset improvements — call the preset by name (a dynamic preset) if you want automatic updates.
The cURL tab can show a more complete configuration than the SDK tabs: some parameters aren’t exposed by the SDK yet.
Quick factual lookups with minimal latency.
  • Model: openai/gpt-5.4-mini
  • Max steps: 1
  • Reasoning effort: low
  • Max output tokens: 8192
  • Tools: web_search
  • Search results: max_results: 10 (cURL request)
  • System prompt: included inline below
Balanced research with tool access.
  • Model: google/gemini-3-flash-preview
  • Max steps: 5
  • Reasoning effort: high
  • Max output tokens: 16384
  • Tools: web_search, fetch_url (max_urls: 1)
  • Search results: max_results: 15 (cURL request)
  • Search depth: max_tokens: 2000, max_tokens_per_page: 2000 on web_search
  • System prompt: included inline below
In-depth, multi-step research and analysis.
  • Model: openai/gpt-5.6-luna
  • Max steps: 15
  • Reasoning effort: medium
  • Max output tokens: 128000
  • Tools: web_search, fetch_url (max_urls: 1)
  • Search results: max_results: 15 (cURL request)
  • Search depth: max_tokens: 2000, max_tokens_per_page: 2000 on web_search
  • fetch_url grep: enabled — the model can pass a grep argument to fetch_url to return only matching lines from a page instead of the whole page. This is a preset-level behavior and is not a request-settable field.
  • System prompt: included inline below
Maximum-depth, institutional-grade research.
  • Model: openai/gpt-5.6-sol
  • Max steps: 15
  • Reasoning effort: medium
  • Max output tokens: 128000
  • Tools: web_search, fetch_url (max_urls: 1)
  • Search results: max_results: 15 (cURL request)
  • Search depth: max_tokens: 2000, max_tokens_per_page: 2000 on web_search
  • fetch_url grep: enabled — the model can pass a grep argument to fetch_url to return only matching lines from a page instead of the whole page. This is a preset-level behavior and is not a request-settable field.
  • System prompt: included inline below
Open-ended, sandbox-enabled agentic work.
  • Model: openai/gpt-5.6-sol
  • Max steps: 100
  • Reasoning effort: high
  • Max output tokens: 128000
  • Tools: web_search, sandbox
  • Search results: max_results: 15 (cURL request)
  • System prompt: included inline below

Next Steps

Agent API Quickstart

Get started with the Agent API.

Agent API Models

Explore direct model selection and third-party models.

API Reference

View complete endpoint documentation.