Model intelligence index: how to choose an AI model for a task

Every model in the catalog has an intelligence index and a price. How to read the two together, and why the final word belongs to a test on your own tasks.

6 min · · models · сравнение

There are dozens of models in the catalog, and "how to choose an AI model for a task" is a question everyone connecting an API runs into. In the Zukko catalog, models carry an "intelligence index", which helps narrow the choice quickly. Below: what that number is, a table of index and price, how to read them together, and how to test candidates on your own data in an hour.

What the intelligence index is

The intelligence index in the Zukko catalog is the Artificial Analysis Intelligence Index: a composite score computed across a set of benchmarks. The higher the number, the better the model did on that test set on average.

The key words are "on average". The index is one number for everything, mixing different task types. It answers "what weight class is this model in" well, and "will it handle my task" poorly.

Table: intelligence index and price

Prices in USD per 1M tokens, as of 2026-10-06. The last column is the cost of 1,000 typical requests at 2,000 input and 500 output tokens; formula: 1000 × (2000 × input + 500 × output) / 1,000,000, i.e. 2 × input + 0.5 × output.

ModelidIndexInput / output1,000 requestsImagesContext
Claude Opus 5.5claude-opus-5-5580.4 / 2$1.80yes1M
Claude Fable 5.1claude-fable-5-1533.48 / 17.4$15.66yes1M
GPT-6 Astragpt-6-astra530.62 / 3.05$2.765yes1M
GPT-6.1 Solgpt-6.1-sol520.27 / 1.32$1.20yes1M
Qwen 3.8 Maxqwen3.8-max450.1 / 0.263$0.3315yes1M
GLM 5.3glm-5.3450.1 / 0.1$0.25no128K
GPT-5.6 Terragpt-5.6-terra420.13 / 0.63$0.575yes1M
GLM 5.3 Flashglm-5.3-flash420.04 / 0.04$0.10no128K
Gemini 3.8 Flashgemini-3.8-flash410.025 / 0.088$0.094no1M
Qwen 3.8 Flashqwen3.8-flash400.038 / 0.088$0.12no1M
DeepSeek V4.1 Flashdeepseek-v4.1-flash390.013 / 0.038$0.045no1M
GPT-6 Lunagpt-6-luna380.04 / 0.21$0.185no1M
DeepSeek V4 Prodeepseek-v4-pro360.088 / 0.25$0.301yes1M

Checking one row: for Opus 5.5, 2 × 0.4 + 0.5 × 2 = 0.8 + 1.0 = $1.80. The table lists only models with an index value; for the rest (such as Claude Sonnet 5 or Gemini 3.7 Flash) there is no index data — compare them by price and on your own tasks. For the current list and prices, call GET https://api.zukko.pro/v1/models or open the Models page in the dashboard.

How to weigh strength against price

Step 1. Filter by hard requirements

The index doesn't matter if a model simply can't do the job:

  • Need image input — you're left with Opus 5.5, Fable 5.1, GPT-6 Astra, GPT-6.1 Sol, Qwen 3.8 Max, GPT-5.6 Terra, DeepSeek V4 Pro.
  • Documents longer than 128K tokens — GLM 5.3 and GLM 5.3 Flash drop out.

Step 2. Find models nothing else beats

A model is worth considering if no other model in the table is both cheaper and at least as high on the index. For our request profile, those are:

  • DeepSeek V4.1 Flash — 39, $0.045
  • Gemini 3.8 Flash — 41, $0.094
  • GLM 5.3 Flash — 42, $0.10
  • GLM 5.3 — 45, $0.25
  • GPT-6.1 Sol — 52, $1.20
  • Claude Opus 5.5 — 58, $1.80

The others are "beaten" on the index/price pair. For example, Qwen 3.8 Flash (40, $0.12) costs more than Gemini 3.8 Flash (41, $0.094). But "beaten" doesn't mean "useless": Qwen 3.8 Max loses to GLM 5.3 on price at the same index, yet it accepts images and handles a 1M context. That's why step 1 comes first.

Step 3. Recompute for your token profile

The input/output ratio changes the picture. If answers are long, say 500 input and 2,000 output tokens, the formula becomes 0.5 × input + 2 × output per 1,000 requests:

  • GLM 5.3 Flash: 0.5 × 0.04 + 2 × 0.04 = $0.10
  • Gemini 3.8 Flash: 0.5 × 0.025 + 2 × 0.088 = $0.1885
  • DeepSeek V4.1 Flash: 0.5 × 0.013 + 2 × 0.038 = $0.0825

With short answers Gemini 3.8 Flash is cheaper than GLM 5.3 Flash; with long ones, the reverse. For agents and chats with long histories, also factor in caching: for Claude the cache-read discount applies in the Anthropic format, while for GPT models caching shows up in both formats. More in the key limits and cache docs.

Step 4. Pick two or three candidates at different levels

For example: the cheapest suitable model, a mid-range option, and a strong one. Testing decides from there. How to combine a cheap and a strong model in one stream afterwards is covered in the article on model cascades.

Why the index doesn't replace testing

  • It's averaged. "Pull the contract number out of an email" and "plan a database migration" don't fit into one number. A lower-index model may handle your narrow task just as well.
  • A 1–3 point gap is small. 39 vs 41 isn't enough reason to pick one model blindly, especially when prices differ twofold.
  • Your prompt and format matter. The index measures a model on someone else's tests; you have your own instructions, language, answer format, and JSON requirements.
  • The cost of a mistake varies. Where an error is expensive, extra dollars on a strong model pay off. Where answers are checked by code, a cheap one will do.

Mini-eval: testing models in an hour

  1. Collect 30–100 real examples with reference answers. Use real data, including the hard cases.
  2. Freeze the prompt — the same for all models.
  3. Decide how to score correctness: exact match, JSON schema check, or manual 0–2 scoring without knowing which model answered.
  4. Run the candidates and record accuracy and actual cost from usage.
  5. Pick the cheapest model that clears your accuracy bar, and recompute the budget for full volume.

A script for tasks with short, checkable answers:

bash
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")

MODELS = {  # USD per 1M tokens: (input, output), catalog as of 2026-10-06
    "deepseek-v4.1-flash": (0.013, 0.038),
    "gemini-3.8-flash": (0.025, 0.088),
    "glm-5.3": (0.1, 0.1),
    "gpt-6.1-sol": (0.27, 1.32),
}

CASES = [
    {"input": "I was charged twice for one order", "expected": "billing"},
    {"input": "The courier didn't show up at the scheduled time", "expected": "delivery"},

All models are called through one OpenAI-compatible endpoint; only model changes, and the gateway converts the request for any model. Endpoint reference in the chat/completions docs, model list in the /v1/models docs.

A run is cheap: 100 examples at 2,000 input and 500 output tokens on GPT-6.1 Sol cost 100 × (2,000 × 0.27 + 500 × 1.32) / 1,000,000 = 100 × 0.0012 = $0.12. Repeat the eval when you change the prompt and when new models appear in the catalog.

If you haven't connected yet, create a key in the dashboard — one key covers all models for the eval. More selection examples in the article which model to choose.

FAQ

Can I choose a model by the intelligence index alone?

For a first cut, yes; for the final decision, no. The index is averaged across many tasks, and you care about one. Narrow the field by index and price, then test 2–3 candidates on your own examples.

Why can an expensive model have a lower index than a cheaper one?

Price and index are set independently. In the catalog, Claude Fable 5.1 costs $3.48 / $17.4 with an index of 53, while Claude Opus 5.5 costs $0.4 / $2 with an index of 58. Look at both numbers.

How many examples does a mini-eval need?

30–50 are enough for a rough cut, around 100 for a confident decision. What matters more is that the examples are real and include hard cases.

Where do I find the index for a model not in the table?

For models outside the table there is no index data — go by price and your own eval. The current catalog is on the Models page in the Zukko dashboard.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

How to choose an AI model for a task: index vs price · Zukko