> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexinference.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Grenzwerte und Ausgaben

> Was Ihrer Organisation ausgehen kann, die beiden Header, die dies melden, und wie die Kosten eines Streams zu lesen sind.

Ihre eigenen Provider-Keys haben keine finanzielle Obergrenze. Managed Keys verbrauchen ein vorausbezahltes Guthaben und können daher aufgebraucht sein.

Zwei Response-Header melden, was Ihnen noch verbleibt. `GET /v1/limits` liefert das Gesamtbild in einem einzigen Aufruf.

## Ihre eigenen Keys haben keine finanzielle Obergrenze

Wir legen keine Anforderungslimits und keine monatliche Obergrenze fest. Sie verfügen über kein Guthaben, das aufgebraucht werden könnte. Siehe [Preise und Abrechnung](/de/billing).

Eine Obergrenze gilt. Ihre Organisation führt eine feste Anzahl von flex races gleichzeitig aus. Nach Überschreiten dieser Anzahl führen wir die Anfrage auf der Standard-Stufe aus. Sie verlieren den Rabatt, nicht die Antwort. Der Bericht bezeichnet diese Zahl als `own_keys.flex_race_slots`.

## Was Managed Keys ausgehen kann

| Obergrenze                  | Was gezählt wird                                                                                                  | Bei Erreichen der Obergrenze                                                              |
| :-------------------------- | :---------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------- |
| Vorausbezahltes Guthaben    | Zuerst Bargeld, dann Aktionsguthaben.                                                                             | [`insufficient_balance`](/de/errors#insufficient_balance), Status `402`.                  |
| Tägliche Ausgabenobergrenze | Heute abgerechnete Ausgaben plus laufende Anfragen von heute. Das Zeitfenster ist ein UTC-Tag.                    | [`spend_velocity_exceeded`](/de/errors#spend_velocity_exceeded), Status `429`.            |
| Verwaltete Parallelität     | Ihre laufenden verwalteten Anfragen.                                                                              | [`rate_limit_exceeded`](/de/errors#rate_limit_exceeded), Status `429`, mit `Retry-After`. |
| Rate des gemeinsamen Pools  | Anfragen pro Minute in einem Pool, den jede verwaltete Organisation teilt. Heute sind das Workers AI und Foundry. | [`rate_limit_exceeded`](/de/errors#rate_limit_exceeded), Status `429`.                    |

Eine Risikoprüfung kann verwaltete Anfragen zusätzlich zu diesen vier pausieren. Sie gibt [`account_under_review`](/de/errors#account_under_review) zurück. Ihre eigenen Key-Routen funktionieren weiterhin.

Vier weitere Limits gelten für jede Organisation. Drei zählen Anfragen pro Minute von einer Organisation, von einem Key und von einer IP-Adresse. Das vierte zählt fehlgeschlagene Authentifizierungsversuche von einer IP-Adresse. Wir lehnen auch einen Body über 50.000.000 Bytes als [`request_too_large`](/de/errors#request_too_large) ab.

Der Bericht benennt jedes Pro-Minute-Limit mit seinem Zeitfenster und seinem Geltungsbereich. Die Zahl wird weggelassen, da Cloudflare jedes Limit an jedem Standort, an dem es läuft, zählt und eine einzelne Zahl kein Budget wäre, gegen das Sie planen könnten. Warten Sie stattdessen die Sekunden in `Retry-After` ab.

## Zwei Response-Header melden Ihre Ausgaben

Eine Own-Keys-Antwort enthält sie, sobald ihre Routen aufgelöst sind, und eine Managed-Antwort enthält sie ab der Guthabenreservierung.

Drei Antworten enthalten keinen dieser Header: eine, die wir zuvor abgelehnt haben, der Modellkatalog und eine verwaltete Anfrage, deren Guthaben wir nicht lesen konnten. Wir lassen die Header weg, anstatt zu raten.

| Header                            | Bedeutung                                                                                                                                                                                                             |
| :-------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x-flexinference-spend-remaining` | Das Wort `unlimited`, wenn keine finanzielle Obergrenze gilt. Andernfalls eine vorzeichenbehaftete Micro-USD-Ganzzahl. Es ist der kleinere Wert Ihres Guthabens und dessen, was die tägliche Obergrenze noch zulässt. |
| `x-flexinference-spend-as-of`     | Wann wir diese Zahl gelesen haben, in Epoch-Millisekunden. Sie wird nur mit einer Zahl geliefert, da `unlimited` keine Aktualitätsmarkierung benötigt.                                                                |

Wir haben beide gelesen, als wir diese Anfrage zugelassen haben. Die Zahl gibt an, was Ihnen noch verblieb, bevor diese Anfrage ihre eigenen Kosten beglichen hat.

Eine negative Zahl bedeutet, dass wir jede verwaltete Anfrage ablehnen. Das Hinzufügen von Geld behebt ein negatives Guthaben. Ein negativer Tagesrest erholt sich um die nächste UTC-Mitternacht oder mit einer erhöhten Obergrenze, niemals durch eine Aufladung.

Lesen Sie diese Header im bereits gesendeten Traffic. Das Abfragen des Endpunkts vor jeder Anfrage verursacht einen Roundtrip und liefert Ihnen nicht mehr Informationen als der Header.

## Der Limits-Endpunkt

`GET /v1/limits` verwendet Ihren FlexInference Key. Es meldet die Obergrenzen, unter denen Ihre Organisation läuft. Es liest die Datensätze, die Ihre Anfragen zulassen, sodass es niemals Kapazitäten beansprucht, die wir ablehnen würden. Wir cachen die Antwort niemals.

```bash theme={null}
curl https://api.flexinference.com/v1/limits \
  -H "Authorization: Bearer $FLEXINFERENCE_API_KEY"
```

```json theme={null}
{
  "object": "limits",
  "as_of": 1769558400123,
  "own_keys": {
    "unlimited": true,
    "flex_race_slots": {
      "limit": 40,
      "scope": "organization",
      "on_exceed": "degrade_to_standard"
    }
  },
  "managed": {
    "providers": ["anthropic", "openai"],
    "serving": "ok",
    "paused_reason": null,
    "binding": "daily_spend",
    "spend_remaining_micro_usd": 41200000,
    "currency": "USD",
    "balance": {
      "remaining_micro_usd": 94880000,
      "cash_micro_usd": 84880000,
      "credit_micro_usd": 10000000,
      "reserved_micro_usd": 120000
    },
    "daily_spend": {
      "limit_micro_usd": 250000000,
      "used_micro_usd": 208800000,
      "remaining_micro_usd": 41200000,
      "window": "utc_day",
      "resets_at": 1769644800
    },
    "concurrency": {
      "limit": 10,
      "scope": "organization",
      "on_exceed": "refuse"
    },
    "ramp_week": 1,
    "ramp_defaults": {
      "concurrency": 10,
      "daily_spend_micro_usd": 250000000
    },
    "override_in_force": {
      "concurrency": false,
      "daily_spend": false
    },
    "rates": []
  },
  "abuse_limits": {
    "counted_per_cloudflare_location": true,
    "request_body_bytes": 50000000,
    "rates": [
      {
        "name": "organization_requests",
        "scope": "organization",
        "window_seconds": 60,
        "limit": null,
        "on_exceed": "refuse"
      },
      {
        "name": "api_key_requests",
        "scope": "api_key",
        "window_seconds": 60,
        "limit": null,
        "on_exceed": "refuse"
      },
      {
        "name": "client_ip_requests",
        "scope": "client_ip",
        "window_seconds": 60,
        "limit": null,
        "on_exceed": "refuse"
      },
      {
        "name": "failed_authentications",
        "scope": "client_ip",
        "window_seconds": 60,
        "limit": null,
        "on_exceed": "refuse"
      }
    ]
  }
}
```

Jedes Geldfeld ist eine Micro-USD-Ganzzahl. Ein USD entspricht 1.000.000 davon.

| Feld                                | Bedeutung                                                                                                                                                                                        |
| :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `as_of`                             | Epoch-Millisekunden. Die eigene Uhr des Guthabens, wenn wir ein Guthaben gelesen haben, und unsere, wenn nicht.                                                                                  |
| `own_keys.unlimited`                | Immer `true`.                                                                                                                                                                                    |
| `own_keys.flex_race_slots`          | Wie viele flex races gleichzeitig laufen. Das Überschreiten der Zahl kostet den Rabatt, nicht die Antwort.                                                                                       |
| `managed`                           | `null`, wenn kein Provider über Managed Keys bedient.                                                                                                                                            |
| `managed.serving`                   | `ok` oder `paused` in jedem der drei Zustände, die jede verwaltete Anfrage ablehnen.                                                                                                             |
| `managed.paused_reason`             | Welcher Zustand. Einer von `account_under_review`, `spend_velocity_exceeded` oder `insufficient_balance`. Es ist `null`, solange `serving` `ok` liest.                                           |
| `managed.binding`                   | Welche Obergrenze zuerst greift. Einer von `balance`, `daily_spend`, `paused` oder `exempt`.                                                                                                     |
| `managed.spend_remaining_micro_usd` | Die Zahl, die der Header `x-flexinference-spend-remaining` enthält.                                                                                                                              |
| `managed.balance`                   | `remaining_micro_usd` ist Bargeld plus Guthaben. Das ist die Menge, die wir mit Null vergleichen. `reserved_micro_usd` ist Geld, das Ihre laufenden Anfragen halten, und wir ziehen es nicht ab. |
| `managed.daily_spend`               | Die Obergrenze, was heute verbraucht wurde und was übrig ist. `resets_at` ist die nächste UTC-Mitternacht in Epoch-Sekunden.                                                                     |
| `managed.concurrency`               | Wie viele verwaltete Anfragen Ihre Organisation gleichzeitig ausführt.                                                                                                                           |
| `managed.ramp_week`                 | In welcher Woche des Kontoalter-Zeitplans Sie sich befinden. Woche 0 deckt ein Konto ab, das noch nie aufgeladen wurde.                                                                          |
| `managed.ramp_defaults`             | Was Ihnen diese Woche allein bietet. Eine Parallelitätszahl und eine tägliche Obergrenze.                                                                                                        |
| `managed.override_in_force`         | Ein Flag pro gestaffelter Obergrenze. `true` bedeutet, dass ein Administrator diese Zahl festgelegt hat, sodass der Wochenplan sie nicht verschiebt.                                             |
| `managed.rates`                     | Die Pro-Minute-Limits für die Shared Pools, auf denen diese Organisation bedient.                                                                                                                |
| `abuse_limits`                      | Die Limits, die jede Organisation teilt, plus die Body-Obergrenze in Bytes.                                                                                                                      |

Die letzten drei Felder erklären, warum Ihre Parallelitätszahl und Ihre tägliche Obergrenze so aussehen, wie sie es tun. Eine ausgenommene Organisation hat keine Obergrenze zu erklären, daher lesen alle drei `null`.

Ein pausiertes Guthaben meldet die Pause anstelle einer Zahl. Keine positive Zahl kann dann als Sendeberechtigung gelesen werden.

Diese Zahlen gelten zum Zeitpunkt `as_of` und versprechen nichts über Ihre nächste Anfrage. Eine weitere Anfrage verschiebt sie, ebenso wie eine Abrechnung, eine Aufladung oder eine Rückerstattung.

Ein fehlender oder falscher Key gibt `401` mit [`invalid_api_key`](/de/errors#invalid_api_key) zurück. Wenn wir einen dieser Datensätze nicht lesen können, gibt der Endpunkt `503` mit [`limits_unavailable`](/de/errors#limits_unavailable) zurück. Er lehnt ab, anstatt Ihnen eine gecachte Zahl zu übergeben, die Kapazitäten beanspruchen könnte, die Ihre nächste Anfrage nicht erhalten würde. Anfragen funktionieren in jedem Fall weiterhin.

## Kosten innerhalb eines Streams

Eine nicht gestreamte Antwort meldet ihre Kosten zweimal: im Header `x-flexinference-cost` und im Block `usage.cost`. Eine gestreamte Antwort kann den Header nicht verwenden, da wir Header senden, bevor die Antwort existiert, und wir die Kosten dann nicht kennen.

Senden Sie `include_cost: true`, um die Kosten in den Stream zu verschieben.

```json theme={null}
{
  "model": "gpt-5.5",
  "start_within": "00h-00m-30s",
  "stream": true,
  "include_cost": true,
  "input": "Summarize this contract."
}
```

Die Kosten werden dann in den Usage-Frame eingefügt, den der Endpunkt bereits sendet. Ein `usage.routing`-Block befindet sich daneben und benennt die Route, die die Anfrage ausgeführt hat.

```json theme={null}
"usage": {
  "input_tokens": 412,
  "output_tokens": 128,
  "cost": { "total_micro_usd": 1840, "currency": "USD" },
  "routing": {
    "provider": "openai",
    "requested_provider": "openai",
    "tier": "flex",
    "reason": "flex_won",
    "fallback_attempts": 0,
    "mode": "byok"
  }
}
```

Die Option ist standardmäßig deaktiviert. Ein Stream, für den Sie dies nicht angefordert haben, entspricht bytegenau dem, was der Provider gesendet hat.

`/v1/chat/completions` macht den Usage-Frame selbst bei OpenAI opt-in. Senden Sie zusätzlich `"stream_options": {"include_usage": true}`. Ohne dies haben die Kosten keinen Frame, in den sie eingefügt werden können.

Eine verwaltete Anfrage meldet, was der Provider uns berechnet hat. Eine Own-Keys-Anfrage meldet den Listenpreis des Providers auf der Stufe, auf der sie ausgeführt wurde. Eine Anfrage, die wir nicht bepreisen können, meldet überhaupt keine `cost`. Ein fehlender Block ist als 'nichts zu melden' zu verstehen, nicht als Null.

Zwei Routing-Header sind in jeder Antwort enthalten. Dies sind `x-flexinference-served-provider` und `x-flexinference-routing-reason`. Ein Streaming-Aufrufer, der `include_cost` überspringt, sieht dennoch, welche Route die Anfrage ausgeführt hat und warum. Siehe [Ergebnis lesen](/de/deadline-routing).

`include_cost` erreicht niemals den Provider. Wir entfernen es aus dem Body, bevor wir die Anfrage weiterleiten.
