Limits & conventions

Every limit, timeout, and convention the gateway enforces, in one place.

There is no configuration file to maintain. Kontinent is configured by the key you send and the model id you address. What follows are the values the gateway enforces on every request.

Requests

LimitValueNotes
Request body size2 MiBLarger bodies return 400 invalid_request.
Required fieldsmodelA missing model returns 400 invalid_request. messages is validated by the provider.
Model id formatprovider/modele.g. mistral/mistral-medium-3.5. Unknown ids return 404.
AuthAuthorization: Bearer sk-kt-...Required on everything except /healthz.

Throughput and credits

LimitValueNotes
Rate limitPer key, in requests per minuteSliding window of two 1-minute buckets.
Limiter behaviorFail-openInfrastructure trouble never blocks your requests.
Credit checkOptimisticA small overdraft, bounded by your RPM, is possible by design.
Credit reconciliationAbout 60 sBackground worker; a top-up lifts suspension immediately.
Exhausted balance402 insufficient_creditsHard failure until a top-up lands.

See Rate limits & credits for the full behavior.

Timeouts

TimeoutValueNotes
Overall stream deadlineNoneStreams may run as long as the provider keeps sending.
Upstream response headers300 sTime until the provider sends headers. For non-stream this is the whole generation.
Idle upstream (stream)90 sCut after 90 s of silence; provider chunks act as keep-alives.
Idle at the load balancer300 sThe load balancer sits in front of the gateway.
Key revocation propagationAbout 30 sRevoking and disabling. Expiry takes up to about 5 minutes.
Single streamed event4 MiBA larger SSE event from the provider ends the stream with an error.

Availability

PropertyValue
Platform availabilityAt least 99% per calendar month (terms of use, section 7); not per model
Failover triggersUpstream 429, 5xx, 401/403, connection errors
Failover windowBefore the first streamed byte
Route chainPrimary, plus a standby on another provider for many models; any chain via a routing policy

See Maximum availability.

Money and pricing

ConventionValue
Money unitInteger micro-EUR: 1 EUR = 1,000,000 µEUR
Price unitPer million tokens, split into input and output rates
Billing modelPrepaid; each request debits the exact cost of its tokens
RoundingNo floating point; each request's cost is rounded down to a whole µEUR

Sovereignty tiers

TierMeaning
strictAn EU-owned provider that Kontinent rates as sovereign.
pragmaticServed from the EU, but by a provider with a non-EU parent or one that runs on third-party cloud infrastructure.

Model kinds

KindEndpoint
chatPOST /v1/chat/completions
embeddingPOST /v1/embeddings
transcriptionPOST /v1/audio/transcriptions
speechPOST /v1/audio/speech

Audio limits: uploads up to 25 MiB per file (26 MiB per request), speech input up to 4096 characters (1000 for ovh/nvr-tts-de-de). A transcription upload must finish within 5 minutes. At most 4 transcriptions run at once per gateway instance, and a fifth waits up to 10 seconds for a slot; beyond that you get 503 transcriptions_busy with Retry-After: 10.

Routing

SettingRangeNotes
Smart routernoneClassifies each request and picks among the models you configured.
Model poolYou chooseFrontier, open-weight, or mixed. Sovereignty still applies.
Cost-quality threshold1 to 10Optional. Used when the pool mixes cheaper open-weight models with stronger ones.
Custom routersnoneOther methods: latency, throughput, error rate. Combined with classification or used alone.

See Price & performance.

Retention

DataStored
Prompt and completion bodiesNever
Token counts (prompt/completion/total)Yes
Latency and HTTP statusYes
Model id and computed costYes

See Privacy & retention.