Skip to content

Poolside Laguna

Poolside models are called with the poolside/... canonical model id.

ModelContextMax outputStatus
poolside/laguna-xs-2.1262,14432,768Active — fast coding agents, short iteration loops
poolside/laguna-s-2.1262,14432,768Retired (see below)

The active model takes text input and produces text output, supports tool calling, and supports native reasoning that can be toggled per request.

Poolside removed laguna-s-2.1 from their inference API on 29 July 2026. Requests to this model are refused with a model_retired error (HTTP 410). The model page stays listed with its pricing and capability details for reference only.

Your requests are not redirected to another model automatically: laguna-xs-2.1 is a smaller model, and answering with it silently would misrepresent which model produced the output. Migrate deliberately — changing the model id to poolside/laguna-xs-2.1 is all that is required.

Poolside serves these models free on its own inference API, so LLMTR lists them at $0 and does not draw from your credit balance. There is no extra token allowance to track; only the standard rate limit that applies to every LLMTR request.

The price is the one Poolside currently publishes. If Poolside ends free access, the catalog prices are updated accordingly.

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "poolside/laguna-xs-2.1",
"messages": [
{ "role": "user", "content": "What are channels in Go?" }
],
"max_tokens": 800
}'

Reasoning is on by default. Turn it off per request with chat_template_kwargs.enable_thinking:

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "poolside/laguna-xs-2.1",
"messages": [
{ "role": "user", "content": "Write a unit test for this function." }
],
"chat_template_kwargs": { "enable_thinking": false },
"max_tokens": 600
}'

Latency drops noticeably with reasoning off. Leave it on for complex, multi-step tasks where quality matters more.

The active model supports the OpenAI-compatible tools schema:

Terminal window
curl "$LLMTR_BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer llmtr-your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "poolside/laguna-xs-2.1",
"messages": [
{ "role": "user", "content": "What is the weather in Ankara?" }
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}
]
}'

See Tool calling for the general tool call flow.

Prompt caching is active upstream, and repeated context is reported in usage.prompt_tokens_details.cached_tokens. Cache reads are free as well.

Poolside removed poolside/laguna-xs.2 from its API. Requests for that identifier are automatically forwarded to poolside/laguna-xs-2.1, so existing integrations keep working. Still, update your integrations to call poolside/laguna-xs-2.1 directly.

Poolside states that prompts and completions on free access may be logged and used to improve its products. Take this into account for production workloads that carry sensitive data.