---
title: Get Pricing Sheet
keywords:
  - pricing
  - price sheet
  - synapses
  - neurons
  - rates
  - billing
---

# Get Pricing Sheet

Retrieve the public price sheet: per-model prices per 1M synapses, the price per 1M neurons, priority multipliers, image-operation synapse weights, the code-execution free allowances, terminal compute rates, pricing-tier discounts, the list rates of Aitronos servers for Forge cloud compute (`forge_compute`) and, once published, the monthly knowledge rate (`knowledge`). The storage line is billed separately and is not on this sheet.

All list prices are in CHF unless a `unit_rate_usd` is given (terminal compute). Tier discounts apply to synapse charges. For Forge cloud compute, an organization's individual agreement applies on top of the list rates, and the price quoted when a server is created is the one it is billed at.

## Scheduled price changes from 1 December 2026

From **2026-12-01 00:00 Europe/Zurich** the prices of knowledge indexing (every Knowledge Algorithm, bulk imports included), of connector tool executions and of the image descriptions made while ingesting knowledge rise, and a vector-index charge is added. The new prices apply to usage whose own time is at or after that instant; usage before it keeps the price it had, even when it is processed later. Indexing, connector tools and image descriptions stay billed in neurons at the price per 1M neurons below; your usage page shows what they cost per day and per month.

| Item | Until 30 November 2026 | From 1 December 2026 |
|---|---|---|
| Vector index (new) | — | CHF 0.030 per 1,000 indexed chunks per month |
| File storage | CHF 0.10 per GB-month | unchanged |

The vector-index charge counts the chunks of every completed file in an organization's knowledge stores. It is charged once per day at 1/(days in the month) of the monthly rate and appears with storage on the usage page. It is a separate line from the `knowledge` rate below.

Re-indexing that Aitronos starts itself, such as an upgrade of the knowledge algorithm, is not charged.

{% api-container %}
{% api-content %}

{% endpoint method="GET" path="https://api.aitronos.com/v1/pricing" /%}

This endpoint takes no parameters. Authentication via Bearer token or API key is required.

---

## Returns

A pricing sheet object with the following sections:

- **`currency_note`** string — Explanation of the billing units (synapses, neurons) and base currency.
- **`conversion`** object — Global rates:
  - `neurons_price_per_1m_chf` number — Price in CHF per 1,000,000 neurons.
  - `priority_multipliers` object — `low`, `default`, `high`, and `fast` multipliers applied to synapse consumption. `fast` applies when a request selects a model's fastest serving-path speed tier, and is relative to that model's default serving path.
- **`models`** array — Per-model list pricing. Each entry has `id`, `key`, `name`, and a `pricing` object (`input_price_per_1m_synapses`, `output_price_per_1m_synapses`, `cache_read_price_per_1m_synapses`, `cache_creation_price_per_1m_synapses`, `category`, `currency`). Every price is in CHF per 1,000,000 synapses.
- **`image_operations`** array — Synapse weight charged per image operation (`operation`, `synapses`).
- **`code_execution`** object — Sandboxed code execution, billed in neurons: the free allowance per run (`cpu_free_seconds`, `memory_free_mb`) and `neurons_price_per_1m_chf`.
- **`connector_tools`** object — Connector tool executions, billed in neurons: `neurons_price_per_1m_chf`.
- **`terminal`** array — Per-dimension terminal compute pricing in USD (`dimension`, `unit_rate_usd`, `unit_label`).
- **`pricing_tiers`** array — Available pricing tiers and their `discount_percentage`.
- **`forge_compute`** object — List rates of Aitronos servers for [Forge cloud compute](../forge-compute/introduction.md), in CHF per started hour, per location and size:
  - `available` boolean — `false` when no rates are published right now; every list is then empty and `unavailable_reason` says why.
  - `unavailable_reason` string or `null` — a sentence to show, e.g. "Aitronos servers are not offered in this environment yet." or "The current rates could not be read. Try again in a few minutes."; `null` when `available`.
  - `catalog_version` string — version of the locations and sizes listed.
  - `currency` string — always `CHF`.
  - `billing` string — `per_started_hour`: every started hour a server exists is charged, never more than the size's monthly cap per server and calendar month.
  - `includes_vat` boolean — always `false`.
  - `note` string — how the rates apply, as sentences to show.
  - `locations` array — where servers can run (`id`, `label` — the country —, `detail`, `country`, `available`, `order`).
  - `sizes` array — each size (`id`, `label`, `vcpu`, `memory_gb`, `disk_gb`, `arch`, `dedicated_cpu`, `order`) with `prices`, one per location: `hourly` and `monthly_cap` as decimal strings in CHF, `includes_vat`, `available` and `price_verified` (`false` when `hourly` could not be read and is `null`).
  - `parked_storage_per_gb_month` string or `null` — CHF per GB of a parked server's stored copy per month.

  Servers in an organization's own cloud account are billed by that provider and are not listed here; their prices come from [Get offering options](../forge-compute/get-offering-options.md).
- **`knowledge`** object or `null` — The monthly knowledge rate, charged per 10,000 chunk-months of knowledge an organization holds above its included allowance. **Present only once the rate is published**; until then neither `knowledge` nor `knowledge_state` appears in the response, and the sheet is otherwise unchanged. The charge never limits an organization.
  - `chf_per_10k_chunk_months` string — CHF per 10,000 chunk-months above the allowance, a decimal string with two places.
  - `valid_from` string — The first day (`YYYY-MM-DD`) the rate applies. It can be a future date: the rate is published before it applies.
  - `note` string — How the charge applies, as a sentence to show.
- **`knowledge_state`** string — Present together with `knowledge`. `published` when `knowledge` carries the rate; `ruling_unreadable`, `rate_unreadable` or `switch_unreadable` when the rate could not be read for this request, in which case `knowledge` is `null` and the rest of the sheet is still served. Retry later rather than reading `null` as "no knowledge charge".

#### API keys

Which kind of API key may call this, decided by the operation's class before anything else ([Refusals by operation class](../errors/api-key-scope-forbidden.md#refusals-by-operation-class)).

Class: **Content of the organization**.

| Key | Answer |
|---|---|
| Classic key (acts as a person) | allowed, as its person |
| Scoped key (acts as the organization) | allowed, within its grants |
| Service-account key | allowed, within its capabilities |

A Classic key restricted by grants, a Scoped key or a service-account key restricted by scopes also needs `read:usage` (a `write:` scope covers its area's reads); without it the answer is `403 API_KEY_SCOPE_FORBIDDEN`, `reason: "scope_not_granted"`.

A Scoped or service-account key that holds only `embed:chat` gets `403 API_KEY_SCOPE_FORBIDDEN`, `reason: "embed_operation_not_allowlisted"` instead.

The operation's own permission checks apply after this.

{% /api-content %}
{% api-examples %}
{% tabs %}

{% tab label="Example" %}

{% code-group mode="dropdown" %}
```bash {% title="cURL" %}
curl -X GET "https://api.aitronos.com/v1/pricing" \
  -H "X-API-Key: $FREDDY_API_KEY"
```

```python {% title="Python" %}
import os
import requests

api_key = os.environ["FREDDY_API_KEY"]

response = requests.get(
    "https://api.aitronos.com/v1/pricing", headers={"X-API-Key": api_key}
)

print(response.json())
```

```javascript {% title="JavaScript" %}
const apiKey = process.env.FREDDY_API_KEY;

const response = await fetch('https://api.aitronos.com/v1/pricing', {
  method: 'GET',
  headers: {
    'X-API-Key': apiKey
  }
});

const data = await response.json();
console.log(data);
```
{% /code-group %}

**Response:**

```json {% title="200 OK" %}
{
  "currency_note": "Usage is billed in synapses (chat/completion models) and neurons (embeddings, connector tools, and code execution). Each model is priced per 1M synapses; neurons have one price per 1M. All list prices are in CHF unless a unit_rate_usd is given. Final cost may be reduced by an organization's pricing-tier discount.",
  "conversion": {
    "neurons_price_per_1m_chf": 8.0,
    "priority_multipliers": { "low": 0.8, "default": 1.0, "high": 2.0, "fast": 1.2 }
  },
  "models": [
    {
      "id": "mdl_ftg30pro",
      "key": "ftg-3.0-pro",
      "name": "FTG 3.0 Pro",
      "pricing": {
        "input_price_per_1m_synapses": 13.2,
        "output_price_per_1m_synapses": 66.0,
        "cache_read_price_per_1m_synapses": 1.32,
        "cache_creation_price_per_1m_synapses": 16.5,
        "category": "synapse",
        "currency": "CHF"
      }
    }
  ],
  "image_operations": [
    { "operation": "generate", "synapses": 100000 },
    { "operation": "remove-background", "synapses": 50000 }
  ],
  "code_execution": {
    "cpu_free_seconds": 2.0,
    "memory_free_mb": 256.0,
    "neurons_price_per_1m_chf": 8.0
  },
  "connector_tools": {
    "neurons_price_per_1m_chf": 8.0
  },
  "terminal": [
    { "dimension": "cpu_seconds", "unit_rate_usd": 0.00005, "unit_label": "per CPU-second" },
    { "dimension": "ram_gb_seconds", "unit_rate_usd": 0.000007, "unit_label": "per RAM-GB-second" },
    { "dimension": "storage_gb_days", "unit_rate_usd": 0.1, "unit_label": "per storage GB-day" },
    { "dimension": "egress_bytes", "unit_rate_usd": 0.00000000012, "unit_label": "per egress byte" }
  ],
  "pricing_tiers": [
    { "id": "tier_standard", "name": "Standard", "description": "Standard tier with advanced features", "discount_percentage": 10.0 }
  ],
  "forge_compute": {
    "available": true,
    "unavailable_reason": null,
    "catalog_version": "fc-3b8e1f0a9c42",
    "currency": "CHF",
    "billing": "per_started_hour",
    "includes_vat": false,
    "note": "List rates in CHF for Aitronos servers, billed per started hour and never more than the monthly cap per server. An organization's individual agreement applies on top. Prices exclude VAT.",
    "locations": [
      { "id": "eu-central", "label": "Germany", "detail": "Falkenstein or Nuremberg", "country": "DE", "available": true, "order": 0 },
      { "id": "eu-north", "label": "Finland", "detail": "Helsinki", "country": "FI", "available": true, "order": 1 }
    ],
    "sizes": [
      {
        "id": "std-16", "label": "16 vCPU · 64 GB", "vcpu": 16, "memory_gb": 64, "disk_gb": 360,
        "arch": "x86_64", "dedicated_cpu": true, "order": 2,
        "prices": [
          { "location_id": "eu-central", "hourly": "0.83", "monthly_cap": "520.30", "includes_vat": false, "available": true, "price_verified": true },
          { "location_id": "eu-north", "hourly": "0.83", "monthly_cap": "520.30", "includes_vat": false, "available": true, "price_verified": true }
        ]
      }
    ],
    "parked_storage_per_gb_month": "0.0269"
  }
}
```

{% /tab %}

{% tab label="Once published" %}

Once the monthly knowledge rate is published, the response also carries `knowledge` and `knowledge_state`, and the other sections keep the shape of the first example. From the first published rate the wording of `currency_note` changes too; show it as served. Only the two knowledge keys are shown here.

*Illustrative rate, not the price; read the live rate from `GET /v1/pricing`.*

```json {% title="Knowledge keys of a 200 OK, once published (abridged)" %}
{
  "knowledge": {
    "neurons_per_10k_chunk_months": 125000,
    "chf_per_10k_chunk_months": "1.00",
    "neurons_per_chunk_month": "12.5000",
    "valid_from": "2026-11-01",
    "note": "Charged monthly per 10,000 chunk-months above the included allowance. The charge never limits your organisation."
  },
  "knowledge_state": "published"
}
```

{% /tab %}

{% tab label="Errors" %}

```json {% title="401 Unauthorized" %}
{
  "success": false,
  "error": {
    "code": "AUTHENTICATION_REQUIRED",
    "message": "Authentication required. Please provide a valid API key.",
    "system_message": "Missing or invalid authorization header",
    "type": "authentication_error",
    "status": 401,
    "trace_id": "req_abc123xyz",
    "timestamp": "2025-11-11T10:30:00Z",
    "details": {}
  }
}
```

{% /tab %}

{% /tabs %}
{% /api-examples %}
{% /api-container %}

---

## Related Resources

- [List Pricing Tiers](./list-pricing-tiers.md)
- [List models](../models/list.md)
- [Forge cloud compute](../forge-compute/introduction.md)
- [Get offering options](../forge-compute/get-offering-options.md)
