routeLLM
Generate an OpenRouter chat-completion request body from presets and energy budget, with zero data retention, returning URL, headers, and body without sending.
Instructions
Build a ready-to-send OpenRouter chat-completion request body from a named preset and the user's current energy budget. energy=low appends :floor (cheapest provider), energy=high appends :nitro (highest throughput), energy=balanced uses the base model slug. Zero Data Retention (provider.data_collection=deny) is on by default. Returns the URL, headers and body — it does NOT send the request.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"preset": "<preset>"
},
"name": "routeLLM"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| energy | No | Your current energy budget. low = cheapest (:floor), high = fastest (:nitro), balanced = the model's default provider. | balanced |
| preset | Yes | Name of a preset from routing.presets.json, e.g. 'research_long_context'. | |
| system | No | Overrides the preset's own system prompt when supplied. | |
| overrides | No | Extra OpenRouter body fields merged in last, e.g. { "temperature": 0.2 }. | |
| user_prompt | No | The user message to place in the request body. |