Save and reuse named request configurations — model, parameters, and system prompt — across your work.
A preset is a named bundle of request defaults: model parameters (temperature, top-p, max tokens, …) and a system prompt. Presets live in your account.
Available now in the dashboard. Go to Settings → Presets (/dashboard/settings/presets) to save your current Chat parameters and system prompt as a named preset, then Apply it to load those settings into the chat in one click. You can keep several presets and delete any of them.
Without presets, every session carries the full configuration:
{
"model": "anthropic/claude-opus-4.8",
"temperature": 0.2,
"max_tokens": 1024,
"messages": [
{ "role": "system", "content": "You are a customer support agent for an e-commerce store. Reply in the user's language — Arabic, French, or English. Be concise." },
{ "role": "user", "content": "..." }
]
}With a preset named support-agent, you set that configuration once and apply it whenever you need it. Change the model or tweak the system prompt once in the preset — every session using it picks up the update immediately.
Presets are managed from Settings → Presets: open Chat, set the parameters and system prompt you want, then save them under a name from the Presets page. Apply loads a preset back into the chat.
| Field | Type | Description |
|---|---|---|
name | string | Unique name within your account (lowercase, hyphens allowed) |
model | string | Default model slug, e.g. anthropic/claude-sonnet-5 |
system | string | Default system prompt |
temperature | number | 0–2 |
top_p | number | 0–1 |
max_tokens | integer | Maximum output tokens |
On the API, a preset is saved from a request body and used by naming it as the model. It keeps the model or its fallbacks, the provider routing, the system prompt, the parameters, the helpers and the response cache, and every version of it.
Save one by sending the body you would send, to the preset route of the same shape — /v1/presets/{slug}/chat/completions, /messages or /responses:
curl https://opendunes.com/v1/presets/support-ar/chat/completions \
-H "Authorization: Bearer $OPENDUNES_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5",
"temperature": 0.2,
"max_tokens": 1024,
"messages": [
{ "role": "system", "content": "You are a customer support agent for an e-commerce store. Reply in the user'\''s language — Arabic, French, or English. Be concise." }
]
}'Then use it on any of the three text routes:
{
"model": "@preset/support-ar",
"messages": [{ "role": "user", "content": "Win rahi commande ta3i?" }]
}The preset fills in what the request leaves out; a value the request sets itself wins. Saving under the same slug again adds a version and makes it current. An unknown preset answers 404 before any model runs. Every route is on the Presets reference.
Presets saved in the dashboard without a slug stay the dashboard's; the API lists only the ones saved through it.
support-ar, summariser-short, code-review-strict rather than preset-1.