Skip to content

One model id, a security build picked per request.

Send auto/security as the model and the gateway picks a security build for each request from three tiers: fast, balanced and frontier. You pay the chosen model’s own price, with no router fee.

curl
curl https://api.pentestllm.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-ptl-live-…" \
  -H "Content-Type: application/json" \
  -d '{"model": "auto/security", "messages": [{"role": "user", "content": "Hello"}]}'

How the router decides

The router reads what the request carries, on our side and with no extra model call, and sends it to one of three tiers. Each tier lists its models in the order the router tries them; prices are from the live catalog as of 2026-11-11. The answer’s model field names the build, the x-uplink-auto-tier header names the tier, and auto.tier_max caps how high a request may go.

Fast

Short questions and plain text: everything the other two tiers do not claim.

Gemma 4 26B A4B Cybersecurity
$0.4224 in, $1.3376 out
per million tokens
GLM-5.3 Flash Cybersecurity
$0.5093 in, $1.6975 out
per million tokens
Qwen3.8 27B Cybersecurity
$0.40 in, $2.40 out
per million tokens

Balanced

Tools, a code block, an image, a json_schema answer, or a prompt over 16,000 tokens.

Red Team (Flash)
$0.90 in, $3.00 out
per million tokens
OrcaCyber MiniMax M3.1 Flash
$2.00 in, $4.00 out
per million tokens
OrcaCyber Qwen3.8 Flash Next
$2.00 in, $4.00 out
per million tokens

Frontier

A request that asks for careful reasoning or sets a high reasoning effort, or tools together with code.

Red Team (Pro)
$1.50 in, $6.00 out
per million tokens
Cyber Frontier
$5.25 in, $15.75 out
per million tokens
OrcaCyber Zero 1.5
$7.50 in, $18.75 out
per million tokens

What the router changes

Model sent
auto/security
or any name, on a router key
Price
the chosen model’s
no router fee
Session
30 minutes
one model per x-session-id
Answer
model field + x-uplink-auto-tier
which build and tier answered

A router key for agents with a fixed model name

Some agents pin a model name you cannot edit. A router key fixes that at the key: on Create key, set Auto router to auto/security, and every chat request that key sends is routed as that id whatever model the client names. Existing keys have the same setting.

Requests

A tier cap and a sticky session in curl, then the OpenAI SDK in Python on the same base URL.

curl
curl https://api.pentestllm.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-ptl-live-…" \
  -H "Content-Type: application/json" \
  -H "x-session-id: engagement-42" \
  -d '{
    "model": "auto/security",
    "auto": {"tier_max": "balanced"},
    "messages": [{"role": "user", "content": "Write a Sigma rule for repeated failed SSH logins from one source."}]
  }'
python
from openai import OpenAI

client = OpenAI(api_key="sk-ptl-live-…", base_url="https://api.pentestllm.ai/v1")

reply = client.chat.completions.create(
    model="auto/security",
    messages=[{"role": "user", "content": "Explain the CVSS 4.0 base metrics in five lines."}],
    extra_headers={"x-session-id": "engagement-42"},
)
print(reply.model)  # the build that answered
print(reply.choices[0].message.content)

Questions

A build carrying the security tag in the catalog, chosen on our side for each request with no extra model call. A reasoning ask or tools together with code go to the frontier tier; tools, a code block, an image, a json_schema answer or a prompt over 16,000 tokens go to balanced; everything else goes to fast. The answer’s model field names the build and the x-uplink-auto-tier header names the tier.

The chosen model’s own price per million tokens, as listed on its model page. There is no router fee and no markup for sending the router id instead of a model id.

Yes, with an x-session-id header: the model that answered a session keeps answering it for 30 minutes from its last request, so a run does not change model between steps.

Yes. "auto": {"tier_max": "balanced"} keeps a request out of the frontier tier; "fast" keeps it in the fast tier.

Chat completions, Messages and Responses, on the same base URL and key. "auto/security" also answers to "auto/cyber".

A key with the Auto router setting on. Every chat request it sends is routed as auto/security whatever model name the client sends, which helps with an agent that pins a model name you cannot edit. Set it when you create a key, or in an existing key’s settings in the console.

No. The security builds refuse less often than stock models on security questions, not never, and the acceptable use policy applies to every request: authorized testing only, on systems you own or have written permission to test.

Read next