Developer API

The Stylome API is in early alpha. Fund your account with prepaid credit to use either model. API access is billed separately from the personal extension plan. Endpoints and models may change during alpha without a guaranteed notice period.

API documentation

Explore the endpoints, request options, and response schemas in our interactive API reference.

Open API documentation

Select a model

Use stylome-1.2-large for human-written, AI-edited, or AI-generated classifications and low, medium, or high relative KNN confidence. Confidence is not a probability. Select 0.01% (the default) or 0.1% with operating_point.

stylome-1.0-large remains available with its separate score-based response. It does not return KNN confidence or accept an operating-point option. Unsupported model IDs return 422 before inference. All choices use the same rate limit and usage unit.

For 1.2, inputs must contain 200–10,000 characters after whitespace normalization. Unicode characters are preserved. Text is never silently truncated. Responses return the authorship class and relative confidence for your selected operating point, with model, evaluation, and response version identifiers. Numerical detector scores and internal diagnostics are not returned.

Use the published dataset selection, exclusions, preprocessing, evaluation version, operating point, and class mapping to reproduce fixed-point false-positive rates, detection recall, and ternary accuracy. Confidence also supports tier coverage and accuracy checks. Operating points are calibration targets, not guaranteed error rates on other datasets. Continuous-score analyses such as ROC curves, AUROC, and custom threshold sweeps are not available through this public response.

An idempotency key replays the same request; reusing it with different text, model, or operating point returns 409.

Zero customer-content retention

Choose Zero customer-content retention when you commission an API key. The choice is fixed for that key, so an application cannot silently fall back to standard retention when it omits a request option. Existing keys use standard retention.

Zero-retention keys support stylome-1.2-large and stylome-1.0-large. Do not send Idempotency-Key: replay requires stored request-derived data and returns 400 for these keys.

Not retainedOperational metadata retained
Submitted text, excerpts, content hashes, results, receipts, cache entries, and idempotency records.Key retention mode, request ID, timestamp, model and scoring contract, HTTP status, latency, normalized character count, USD charge, and rate-limit state. Character counts are billing metadata only.

The response still returns the result and content hash to the caller, but Stylome does not store them. See the privacy policy for the complete service description.

120 requests per minute, per account

Every key owned by an account draws from the same fixed one-minute quota. Successful requests, failed scoring attempts, and idempotent replays count after authentication and text validation. When the quota is exhausted, the API returns 429 Too Many Requests with Retry-After set to the seconds remaining in the current window.

HeaderMeaning
RateLimit-PolicyQuota and one-minute window for the account policy.
RateLimitRequests remaining and seconds until the window resets.
X-RateLimit-LimitCompatibility field containing the 120-request quota.
X-RateLimit-RemainingCompatibility field containing requests remaining.
X-RateLimit-ResetCompatibility field containing the reset time as a Unix timestamp.

The request-rate window is separate from prepaid credit. Both public models cost $5 per million normalized input characters. Fund your API balance through Stripe on your account page. Successful requests, including cache hits, are charged; failures and idempotent replays do not add a charge. A request without enough available credit returns 402.

Operate your integration

Verify a key with GET /api/v1/key. Keys with usage:read can query GET /api/v1/usage by time range, model, or key. Keys with account:read can inspect GET /api/v1/limits without consuming the scoring request window. Existing keys retain their original permissions; commission a replacement to add read access.

Every API attempt returns X-Request-ID, including errors. Scoring also returns X-Operation-ID, which stays the same when an idempotency key replays a result. Errors include a stable code and retry guidance. Keep request IDs for support; avoid logging secret keys, submitted text, or private receipt capabilities.

Use a new idempotency key for each logical standard-retention operation and reuse it on retries. Completed results replay for 24 hours. A processing conflict returns 409 with Retry-After. Zero-content keys cannot replay requests. Do not automatically retry a scoring POST without an idempotency key.

Scoring admission and inference have a 110-second deadline; allow 150 seconds in your client for transport and finalization. The service admits eight developer scoring calls per worker. Follow Retry-After on 429 and use bounded exponential backoff with jitter for retryable failures. A network failure can occur after processing, so preserve the idempotency key.

Service status checks API/database reachability and inference configuration. It does not run a detector canary or guarantee inference availability. Interactive API documentation includes model capabilities, request headers, error shapes, and read endpoints.