Start
Models
Every public model with its ID, limits and price per million tokens, read from the live catalog.
Send the model ID as model. The response echoes the same ID. Every model below is an abliterated open-weight model: its refusal behavior was removed by editing its weights. It can still be wrong, so check its output like any other source.
| Model | Context | Max output | Input | Output | Cached input |
|---|---|---|---|---|---|
NotHoly Specternotholy-specter | 1,048,576 | 131,072 | $1.82 | $3.64 | $0.273 |
NotHoly Pulse Flashnotholy-pulse | 1,048,576 | 131,072 | $0.27 | $1.12 | $0.067 |
NotHoly Vector Flash 1017notholy-vector | 1,048,576 | 131,072 | $0.27 | $0.97 | $0.068 |
NotHoly Wisp Flashnotholy-wisp | 1,048,576 | 131,072 | $0.20 | $0.80 | $0.05 |
USD per 1M tokens
This list is the public catalog: the same models and prices that GET /v1/models returns. A model shows up here when it is enabled, and leaves when it is retired. Prices change only through new price versions, and every usage record keeps the version that was applied. Each model has its own page with limits, capabilities and example requests.
Catalog endpoints
curl https://api.notholy.com/v1/models -H "Authorization: Bearer $NOTHOLY_API_KEY"import OpenAI from 'openai';
const client = new OpenAI({ baseURL: 'https://api.notholy.com/v1', apiKey: process.env.NOTHOLY_API_KEY });
const m = await client.models.retrieve('notholy-specter');
console.log(m.id, m.context_length, m.max_output_tokens);An unknown ID returns 404 model_not_found. Field by field: Models API.
Notes
- Reasoning levels differ by model.
capabilities.reasoning_effortslists the ones a model accepts. See Reasoning. - There is no embedding model yet.
POST /v1/embeddingsreturns404 model_not_found. - A model in maintenance returns
503 model_unavailable.