Clatter Labs
Console

Model API

Model API

Base URL, authentication, model ids, errors and rate limits of the OpenAI-compatible Model API.

The Model API is OpenAI-compatible. Point an OpenAI SDK at the base URL, send your key and Account ID, and use the model ids below.

Text
https://api.gateway.clatterlabs.xyz/v1
MethodPathWhat it does
GET/v1/modelsThe model ids with prices (no key needed)
GET/v1/models/{id}One model
POST/v1/chat/completionsA chat completion, streamed or not, with tools and usage

Authentication

Authorizationstringrequired

Bearer clsk_...: an API key with the models:invoke permission (Console › API keys, preset Model API).

X-Clatter-Accountstringrequired

The Account ID that owns the key, like CL-7K2M9QXA (Console › Settings). With an OpenAI SDK, send it as a default header.

Models

Model idModelEffortInput / 1M tokensOutput / 1M tokens
supercosmos-flashSuperCosmosFlash$1.60$3.40
supercosmos-maxSuperCosmosMax$1.80$3.80
supercosmos-heavySuperCosmosHeavy$2.00$4.40

Long-context input above 262K tokens: 1.5× (SuperCosmos): a request whose prompt is over 262K tokens bills its whole input at 1.5× the rate above.

The family id supercosmos with effort (or reasoning_effort low / medium / high) works too. Line Code ids answer 410 model_retired (details).

Errors

Errors use the OpenAI shape: {"error": {"message", "type", "code", "param"}}. Every response has an X-Request-Id.

StatusCodeWhen
400invalid_request, invalid_json, unsupported_content, unsupported_parameter, invalid_effortThe request isn't valid
401invalid_api_key, expired_api_key, missing_account_id, account_mismatchKey or Account ID problem
402out_of_creditsTrial and credit balance used up
403insufficient_scopeThe key lacks models:invoke
404model_not_found, not_supportedUnknown model or endpoint
413request_too_largeOver 3 MB or 800 messages
429rate_limitedThe key's per-minute limit; see Retry-After
502 / 503 / 504model_overloaded, model_unavailable, model_timeout, empty_response, stream_errorRetry with backoff; Retry-After when sent

A stream that fails midway sends data: {"error": {...}} and then data: [DONE].

Rate limits

Each key has its own limit (10, 30, 60 or 120 requests per minute). Responses carry X-RateLimit-Limit and X-RateLimit-Remaining.