models

Poolside: Laguna XS 2.1 (free)

Markdown · JSON

Poolside: Laguna XS 2.1 (free)

Poolside Laguna XS 2.1 is a 33B-total, 3B-active text model for agentic coding and long-horizon work. It has a 262,144-token context and native reasoning between tool calls. Its smaller MoE design and separate quantized releases support local deployment with configuration-dependent resource needs.

About the model

This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.

Poolside Laguna XS 2.1 is a mixture-of-experts language model for agentic coding and long-horizon work, positioned as the smaller local-deployment model in the Laguna series. It has 33B total parameters and 3B active per token. It is an updated model relative to Laguna XS.2, retaining that model’s architecture while improving the maker’s reported software-engineering and terminal-task results. The model accepts text and generates text, code, reasoning and tool-call requests.

Its 40-layer design combines 10 global-attention layers and 30 sliding-window layers, with sigmoid gating and a 512-token sliding window. That local-attention window is separate from the model’s 262,144-token context. Poolside also describes an FP8 KV-cache design to reduce memory per token. These features help explain the model’s local-deployment focus, but the precise memory requirement still depends on the checkpoint, quantization, working context and serving configuration.

For a coding task, give the relevant source files as text, the expected behavior and the actual error or failing output. A useful request is: “Fix this parser’s treatment of escaped delimiters while preserving the published input format. Show the proposed change, explain which cases are affected, and identify examples that would reveal a regression.” Keep a concrete deliverable and a completion condition so the model can work toward a result rather than merely discuss the problem.

For terminal-style tasks, provide the current environment, relevant command output and constraints on the work. In a tool-connected application, the model proposes a function call, the application executes it, and the result is returned for the next decision. Ask it to explain what a failure reveals before proposing another command. For example, supply the dependency manifest and the failed installation output, then request the smallest source-grounded correction and the expected result of the next check. Preserve earlier successful steps and the unresolved issue in the history.

Laguna XS 2.1 is designed for interleaved thinking before and between tool calls. The manufacturer recommends retaining reasoning content from earlier assistant messages when reconstructing the next request. Dropping that content can prevent further reasoning in follow-up steps. Keep the assistant response, its tool-call information and the matching tool result together, with the ongoing objective visible. This is particularly useful when several observations contribute to a fix and a later step depends on a decision made earlier.

Thinking can be enabled or disabled through the chat template. Poolside recommends enabling it for agentic coding and preserving it across turns. A direct-answer request may suit a small transformation or explanation, while a repair with several dependent conditions benefits from a continuing reasoning-and-observation loop. State the final output format and leave room for the final answer. The manufacturer’s evaluation settings are recipe choices, not a universal guarantee about the amount of reasoning or the maximum answer length.

For long source input, organize files and documentation with clear boundaries and stable names. Ask for a specific relationship to trace, such as which callers depend on a changed interface, which conditions distinguish two implementations, or why a test result contradicts the proposed diagnosis. Keep the important decisions and actual checks in a compact task record, and remove irrelevant history. The context limit covers the working material and generated continuation; an entire context-sized final response is not a separate promised capacity.

Poolside publishes BF16 and separate FP8, NVFP4, INT4 and GGUF variants, as well as DFlash draft-model artifacts. These are different deployment choices. A small active parameter count does not mean the complete model weights occupy only that amount of memory, and a draft model is an acceleration companion rather than the coding model itself. Retain the exact checkpoint when comparing local results, and prepare code or document contents as text for this text-to-text model.

The maker documents a tool-parser issue in older serving builds that can drop certain calls and expose their raw markup as ordinary response text. This illustrates why a tool-connected workflow needs to distinguish the model’s intended request from a correctly parsed function call. Inspect the parsed name and arguments, validate them against the actual schema, and preserve the execution result. A final report should identify the revised artifact, the observed checks and the remaining assumptions. A proposed patch or command becomes a completed result only when its behavior is established by those records.

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions poolside/laguna-xs-2.1:free

poolside/laguna-xs-2.1:free

Poolside /poolside/laguna-xs-2.1:free

Overview

Poolside Laguna XS 2.1 is a 33B-total, 3B-active text model for agentic coding and long-horizon work. It has a 262,144-token context and native reasoning between tool calls. Its smaller MoE design and separate quantized releases support local deployment with configuration-dependent resource needs.

Accepted inputs
Text
Results
Text

Available in Ailoot · inputs & methods

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Input types
text
Output types
text
Context
262,144 tokens
Maximum output
32,768 tokens
Output format
JSON
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
poolside/laguna-xs-2.1:free
Default—
FieldmessagesTypearrayRequirementRequiredValues & limitsDefault—
FieldstreamTypebooleanRequirementOptionalValues & limits
false
Defaultfalse
Fieldmax_tokensTypeintegerRequirementOptionalValues & limits
Minimum: 1
Maximum: 32,768
Default—
Fieldmax_completion_tokensTypeintegerRequirementOptionalValues & limits
Minimum: 1
Maximum: 32,768
Default—
FieldnTypeintegerRequirementOptionalValues & limits
Minimum: 1
Maximum: 128
Default—
FieldtemperatureTypenumberRequirementOptionalValues & limitsDefault—
Fieldtop_pTypenumberRequirementOptionalValues & limitsDefault—
FieldseedTypeintegerRequirementOptionalValues & limitsDefault—
FieldstopTypeRequirementOptionalValues & limitsDefault—
Fieldfrequency_penaltyTypenumberRequirementOptionalValues & limitsDefault—
Fieldpresence_penaltyTypenumberRequirementOptionalValues & limitsDefault—
FielduserTypestringRequirementOptionalValues & limitsDefault—
Method parameters and lifecycle
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, messages
ParameteroptionalContractstream, max_tokens, max_completion_tokens, n, temperature, top_p, seed, stop, frequency_penalty, presence_penalty, user
Parametermaterial_typesContracttext
ParameterconditionsContractUse literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method., The complete encoded JSON request must not exceed 262144 bytes.

Lifecycle: synchronous_json

Pricing

Tariff references do not add request options. Supported parameters are listed for the selected method.

Fast mode
Standard rate When fast mode is selected
Flex mode
Standard rate When flex mode is selected
Maximum reasoning effort
Standard rate When maximum reasoning effort uses the default adjustment
Explicit cache pricing
Not enabled When explicit cache is requested
Text-only zero rates
Text input and output only. Cache, tools, media and streaming are unavailable. For text-only input and output

Ailoot rates

Prices by configuration

ConfigurationRate scheduleCharge
ConfigurationBase token ratesRate scheduleBase rateCharge
Input · Input tokens $0 / 1K tokens
Output · Output tokens $0 / 1K tokens
Input · Cache read — / 1K tokens
Input · Cache write — / 1K tokens
Input · Cache write, 1 hour — / 1K tokens

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →

Example requests

Ailoot Ultra · OpenAI Chat

curl · create once and retain the complete result
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "poolside/laguna-xs-2.1:free", "messages": [{"role": "user", "content": "Summarize the supplied text in three concise points."}], "stream": false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.

Receive and save results

Ailoot Ultra · OpenAI Chat

JSON

Keep all completed results

Keep every complete returned response, file and content part.

Retain the complete response, all actual results, original identifiers, usage and response headers.

If the original response needs checking

Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.

Aliases

Model aliases

Ailoot Ultra poolside/laguna-xs-2.1:free

Method path aliases

Use the method paths shown above.

Related caller IDs

poolside/laguna-xs-2.1:free

Ailoot Ultra · Anthropic Messages POST /v1/messages poolside/laguna-xs-2.1:free

poolside/laguna-xs-2.1:free

Poolside /poolside/laguna-xs-2.1:free

Overview

Poolside Laguna XS 2.1 is a 33B-total, 3B-active text model for agentic coding and long-horizon work. It has a 262,144-token context and native reasoning between tool calls. Its smaller MoE design and separate quantized releases support local deployment with configuration-dependent resource needs.

Accepted inputs
Text
Results
Text

Available in Ailoot · inputs & methods

Ailoot Ultra · Anthropic Messages POST /v1/messages
Input types
text
Output types
text
Context
262,144 tokens
Maximum output
32,768 tokens
Output format
JSON
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
poolside/laguna-xs-2.1:free
Default—
FieldmessagesTypearrayRequirementRequiredValues & limitsDefault—
FieldstreamTypebooleanRequirementOptionalValues & limits
false
Defaultfalse
FieldsystemTypestringRequirementOptionalValues & limitsDefault—
Fieldmax_tokensTypeintegerRequirementRequiredValues & limits
Minimum: 1
Maximum: 32,768
Default—
FieldtemperatureTypenumberRequirementOptionalValues & limitsDefault—
Fieldtop_pTypenumberRequirementOptionalValues & limitsDefault—
Fieldtop_kTypeintegerRequirementOptionalValues & limitsDefault—
Fieldstop_sequencesTypearrayRequirementOptionalValues & limitsDefault—
FieldmetadataTypeobjectRequirementOptionalValues & limitsDefault—
Method parameters and lifecycle
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, messages, max_tokens
ParameteroptionalContractstream, system, temperature, top_p, top_k, stop_sequences, metadata
Parametermaterial_typesContracttext
ParameterconditionsContractUse literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method., The complete encoded JSON request must not exceed 262144 bytes.

Lifecycle: synchronous_json

Pricing

Tariff references do not add request options. Supported parameters are listed for the selected method.

Fast mode
Standard rate When fast mode is selected
Flex mode
Standard rate When flex mode is selected
Maximum reasoning effort
Standard rate When maximum reasoning effort uses the default adjustment
Text-only zero rates
Text input and output only. Cache, tools, media and streaming are unavailable. For text-only input and output

Ailoot rates

Prices by configuration

ConfigurationRate scheduleCharge
ConfigurationBase token ratesRate scheduleBase rateCharge
Input · Input tokens $0 / 1K tokens
Output · Output tokens $0 / 1K tokens
Input · Cache read — / 1K tokens
Input · Cache write — / 1K tokens
Input · Cache write, 1 hour — / 1K tokens

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →

Example requests

Ailoot Ultra · Anthropic Messages

curl · create once and retain the complete result
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "poolside/laguna-xs-2.1:free", "messages": [{"role": "user", "content": "Summarize the supplied text in three concise points."}], "stream": false, "max_tokens": 256}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.

Receive and save results

Ailoot Ultra · Anthropic Messages

JSON

Keep all completed results

Keep every complete returned response, file and content part.

Retain the complete response, all actual results, original identifiers, usage and response headers.

If the original response needs checking

Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.

Aliases

Model aliases

Ailoot Ultra poolside/laguna-xs-2.1:free

Method path aliases

Use the method paths shown above.

Related caller IDs

poolside/laguna-xs-2.1:free

FAQ · Poolside: Laguna XS 2.1 (free)
What inputs and results are available?

POST /v1/chat/completions · poolside/laguna-xs-2.1:free: text → text

POST /v1/messages · poolside/laguna-xs-2.1:free: text → text

Which fields does the request use?

POST /v1/chat/completions · poolside/laguna-xs-2.1:free: model, messages, stream, max_tokens, max_completion_tokens, n, temperature, top_p, seed, stop, frequency_penalty, presence_penalty, user

POST /v1/messages · poolside/laguna-xs-2.1:free: model, messages, stream, system, max_tokens, temperature, top_p, top_k, stop_sequences, metadata

What limits apply?

POST /v1/chat/completions · poolside/laguna-xs-2.1:free: ctx: 262144; max_out: 32768; max_tokens.minimum: 1; max_tokens.maximum: 32768; max_completion_tokens.minimum: 1; max_completion_tokens.maximum: 32768; n.minimum: 1; n.maximum: 128

POST /v1/messages · poolside/laguna-xs-2.1:free: ctx: 262144; max_out: 32768; max_tokens.minimum: 1; max_tokens.maximum: 32768

More details

Connect Ailoot to Claude Code, OpenCode, Hermes or your own app.

The company and its project portfolio

The company and its project portfolio: millions of customers; monthly sales in the billions.

Buy tokens at a discount.

Subscription discounts for regular use. Promo codes offer up to 50% off token purchases.

Subscription
Choose a discounted plan for your regular requests.
Promo code: up to 50% off
Enter your code at checkout. The price updates to reflect the current promotion.
Spending in your history
The model, tokens and amount are recorded for each request.

Choose a subscription · View model prices

Connect the API to a product you sell.

Use Ailoot in SaaS, apps and bots under its official service offer and licence agreement. Request a reseller licence for resale.

Commercial application
Add text, image, video and audio generation to paid features in your service.
Reseller licence
Send a description of your project and how you provide access. Request written terms for use and resale.
Documents on the website
The service offer, licence agreement and data processing policy are available before you connect.

Request a reseller licence · Service offer and licence agreement