Models, catalog & pricing
Every model is addressed by a short, stable public id (the string you put in
the model field). Public ids are attributed to the lab that built the model.
They never leak an internal or upstream slug, and they don't change under you
when routing or infrastructure changes behind them.
Browse the full catalog on the Models page, or list the ids programmatically with the endpoint below.
New:
deepseek-v4.1-flash-1017, lightning fastDeepSeek's October 17 update to V4.1 Flash is lightning fast, with leaner thinking that finishes sooner. Text and images in, tools, JSON mode, thinking you can switch on or off, and a 1M-token window. Launch price $0.13 in, $0.004 cached, $0.37 out per 1M tokens. On every coding plan, Taster included, and on the always-on Flash floor.
GET /v1/models
Returns the catalog in the standard OpenAI shape. No auth required to browse. This endpoint is public so a client can discover ids before a key is configured.
curl https://api.pgsgrove.com/v1/models
{
"object": "list",
"data": [
{ "id": "glm-5.2", "object": "model", "created": 1700000000, "owned_by": "Z.ai" },
{ "id": "glm-5.2-turbo", "object": "model", "created": 1700000000, "owned_by": "Z.ai" },
{ "id": "deepseek-v4-pro","object": "model", "created": 1700000000, "owned_by": "DeepSeek" },
...
]
}
owned_byis the lab that made the model.- Every turbo-capable model appears twice: once as its base id and once with
a
-turbosuffix (see Turbo). Both are validmodelvalues. - The OpenAI SDKs expose this as
client.models.list().
New models show up here the moment they go live, so this is the reliable way to keep an integration's model picker current.
Chat model prices
Every chat model on the API, at the rates you are billed. US dollars per 1M tokens. Cached input is applied automatically when a prompt prefix is reused (see Prompt caching); "n/a" means the model has no cached rate and reused input bills at the normal input rate. Turbo ids bill at 1.5x the standard rate for priority routing.
| Public id | Lab | Context | Image in | Input | Cached in | Output | Turbo |
|---|---|---|---|---|---|---|---|
deepseek-v4-flash |
DeepSeek | 1M | no | $0.12 | $0.025 | $0.23 | yes |
deepseek-v4-flash-0731 |
DeepSeek | 1M | no | $0.12 | $0.025 | $0.23 | yes |
deepseek-v4.1-flash |
DeepSeek | 1M | yes | $0.26 | $0.01 | $0.80 | yes |
deepseek-v4.1-flash-1017 |
DeepSeek | 1M | yes | $0.13 | $0.004 | $0.37 | yes |
deepseek-v4-pro |
DeepSeek | 1M | no | $1.65 | $0.13 | $3.30 | yes |
deepseek-v4-pro-0813 |
DeepSeek | 1M | no | $1.65 | $0.13 | $3.30 | yes |
gemma-4-31b |
256K | yes | $0.25 | n/a | $0.50 | yes | |
ling-3.1-flash |
inclusionAI | 256K | no | $0.38 | $0.08 | $1.15 | no |
minimax-m3 |
MiniMax | 512K | yes | $0.38 | $0.075 | $1.50 | no |
kimi-k2.6 |
Moonshot AI | 256K | yes | $0.95 | $0.19 | $4.40 | yes |
kimi-k3 |
Moonshot AI | 1M | yes | $3.75 | $0.45 | $15.00 | no |
nemotron-3-super |
NVIDIA | 256K | no | $0.11 | n/a | $0.50 | yes |
nemotron-3.5-super-vl |
NVIDIA | 256K | yes | $0.13 | $0.10 | $0.50 | no |
nemotron-3-ultra |
NVIDIA | 256K | yes | $0.65 | $0.13 | $2.80 | yes |
qwen-3.8-27b |
Qwen | 256K | no | $0.52 | $0.052 | $3.90 | no |
mimo-v2.6-flash |
Xiaomi | 1M | yes | $0.18 | $0.004 | $0.36 | no |
mimo-v2.6-pro |
Xiaomi | 1M | yes | $0.56 | $0.005 | $1.12 | no |
glm-5.3-flash |
Z.ai | 1M | no | $0.19 | $0.04 | $0.63 | no |
glm-5.2 |
Z.ai | 1M | no | $0.65 | $0.12 | $2.00 | yes |
glm-5.3 |
Z.ai | 1M | no | $1.60 | $0.32 | $5.20 | no |
Models without a turbo variant ignore a priority request and bill at the standard rate. See Turbo. Image-capable models are covered in Multimodal input.
Speech & embeddings
Two models are not chat models and are served on their own endpoints:
| Public id | Purpose | Endpoint | Price |
|---|---|---|---|
kokoro-82m |
Text to speech | POST /v1/audio/speech |
$1.25 per 1M input characters ($1.875 turbo) |
embeddinggemma-300m |
768-dim text embeddings | POST /v1/embeddings |
$0.0025 per 1M input tokens |
See Speech & embeddings. Sending one of these ids to
/v1/chat/completions (or a chat id to the speech/embeddings endpoints) returns
a clean 400 telling you which endpoint the model belongs to.