Development and research. Authorized security research — connect Luger to your own tools and workflows.

API

Build beyond the chat.
Your key. Pay per token.

One OpenAI-compatible host: https://luger.ai/v1. Models luger-v1 and luger-v2. The same balance as the chat; the API spends paid money only. Top up from $5.

Choose your API model

luger remains an alias of luger-v1. Responses use the canonical version ID. Both versions use the same key and balance.

Luger v1

luger-v1

Fast and cheap

Text processing, short questions and routine integrations where cost comes first.

Input
$0.40
Output
$1.60
Cached input
$0.14

USD per 1 million tokens

1,000 input + 500 output tokens$0.0012

Luger v2

luger-v2

Main: code, tools, images in

Multi-step tasks, code review, long context and images. Tool calls, parallel tools, JSON schema output. Up to 262k output tokens.

Input
$2.00
Output
$4.00
Cached input
$0.20

USD per 1 million tokens

1,000 input + 500 output tokens$0.004

The example assumes no cache hit. A request includes your message, conversation history and tool results. Reasoning tokens count as output. Each completed call returns its usage and cost.

v1 vs v2, measured

Same server, same three prompts, streaming, one run each on 2026-10-27. Time to first token and tokens per second are upstream numbers, not a guarantee. v1 answered the JSON task fastest; v2 wrote the code and the proposal several times faster and in more detail.

Taskv1 · first tokenv1 · totalv2 · first tokenv2 · totalOutput, tokens
JSON: arithmetic, sorting, three risks0.6 s1.1 s · 212.6 t/s2.0 s2.5 s · 280.8 t/s113 / 136
Single-file Pomodoro in HTML/JS38.8 s42.9 s · 284 t/s9.1 s13.7 s · 807.2 t/s1159 / 3747
Five-section research proposal0.6 s5.4 s · 171.3 t/s4.3 s6.6 s · 401.8 t/s810 / 916
luger-v1
Short answers, classification, extraction, translations, cheap batch jobs. Reasoning on, vision on. Five times cheaper than v2.
luger-v2
Code, agents, long documents, structured output, parallel tool calls, 262k output. Sees a hard task through instead of stopping at the first assessment.

Three steps

  1. 1 · Sign in and create a key

    Cabinet → Create. The secret starts with lgr_ and is shown once.

  2. 2 · Point the host at Luger

    Base URL https://luger.ai/v1 — no trailing slash, no /chat/completions.

  3. 3 · Set a monthly cap

    In the cabinet, so a loop cannot empty the balance.

POST /v1/chat/completions

curl https://luger.ai/v1/chat/completions \
  -H "Authorization: Bearer $LUGER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "luger-v1",
  "messages": [
    {
      "role": "user",
      "content": "Reply in one word: ready."
    }
  ],
  "stream": true
}'

Try a key · luger-v1

The key stays in the browser. The call hits the API and spends balance, same as Cursor.

API capabilities

Chat Completions supports streaming, tool calls and JSON mode. Your application executes tools and validates their results.

Context, tokens
1,048,576
Maximum output, tokens
32,768
Images per request
4

Token prices

Input / 1M

$0.40

Output / 1M

$1.60

Cache read / 1M

$0.140

Cost calculator

Millions of tokens. Cache is a share of input.

$19.24

Connect · luger-v1 presets

Host https://luger.ai/v1, model luger-v1. Do not append /chat/completions. The key is in the cabinet. Set a monthly cap there so a script cannot spend the whole balance.

GET /v1/balance with the same key returns balance_usd and this month's API spend.

  1. Open the cabinet and copy the key.
  2. Settings → Models. Put the key in OpenAI API Key and turn on Override OpenAI Base URL. No /chat/completions and no trailing slash. Add the model luger. Tab completions stay with Cursor. Turn Override off to go back.
  3. In the block below, replace lgr_… with your key and save.
OpenAI API Key: lgr_...
Override OpenAI Base URL: https://luger.ai/v1
Model: luger-v1

Questions

How is the price calculated?

Input, cache reads, and output are separate. Before a request runs, its maximum cost is reserved; after the reply only the real cost stays charged and the rest returns at once. A request cannot exceed the balance or the key's monthly limit. Each response carries usage.cost in dollars.

How do I top up?

In the cabinet, with crypto. Minimum $5. It lands on the same account.

Is this a separate balance from the chat?

No. One balance covers the chat and the API. The API spends paid money only.

Is the context window a million tokens?

The API context window is 1,048,576 tokens; in-app chat keeps 400,000 characters of history for everyone.