Classification, tagging, extraction, moderation, translation of short strings, routing: jobs like these run millions of times, and the price per token decides whether they pay off. Below are the lowest-priced text models on GetVibe API. The prices are pulled live from the catalog every time this page is rendered, so the table never goes stale.
The shortlist
These were among the lowest-priced text models in our catalog on September 25, 2026. Prices move, so check the current order on the Models page.
| Model | Maker | Context | JSON mode | Images | Price |
|---|---|---|---|---|---|
| GPT-6 Luna | OpenAI | 272K | yes | yes | $0.0055 input · $0.0274 output per 1M tokens |
| Gemini 3.8 Flash | 1M | no | yes | $0.0097 input · $0.0483 output per 1M tokens | |
| Qwen 3.8 Flash | Alibaba (Qwen) | 256K | yes | yes | $0.1039 input · $0.3254 output per 1M tokens |
| DeepSeek V4.1 Flash | DeepSeek | 1M | yes | yes | $0.0112 input · $0.0445 output per 1M tokens |
| Tencent Hy4 Preview | Tencent | 262K | yes | yes | $0.0334 input · $0.1001 output per 1M tokens |
| GLM-5.3 Flash | Zhipu AI | 1.048M | no | yes | $0.0112 input · $0.0371 output per 1M tokens |
How to choose between them
- You need strict JSON back: use a model with JSON mode, such as GPT-6 Luna, Qwen 3.8 Flash, DeepSeek V4.1 Flash or Hy4 Preview. The Gemini Flash models and GLM-5.3 Flash do not offer JSON mode in our catalog. Our JSON mode matrix has the details.
- You process long documents: Gemini 3.8 Flash, Gemini 3.7 Flash, DeepSeek V4.1 Flash and GLM-5.3 Flash have a window of about one million tokens.
- You want reasoning you can dial down: GPT-6 Luna accepts all six
reasoning_effortlevels. Setminimalfor bulk work. Hy4 Preview acceptslowandhigh. See reasoning_effort explained. - Your input includes images: every model in the table above accepts image input.
Five ways to keep a bulk job cheap
- Test quality on a sample first. Run a few hundred real items through two or three candidates and compare against a hand-checked answer key. The cheapest model that passes wins.
- Keep the instruction as a fixed prefix. Put the long instruction and the examples first and the item last, so repeated requests hit the prompt cache. Cached input is billed at a fraction of the input rate (how caching works).
- Cap the output. Set
max_tokensto what a label or a short JSON object needs. Output is priced higher than input on every model above. - Keep reasoning low. Reasoning tokens are billed as output. For simple labels, use
minimalorlowwhere the model supports it. - Escalate only failures. Send everything to a cheap model, validate the output, and retry only the failures on a stronger model.
from openai import OpenAI
client = OpenAI(base_url="https://getvibeapi.com/v1", api_key="sk-pv-...")
INSTRUCTION = "Classify the ticket as billing, bug, feature or other. Reply with one word."
def classify(ticket: str) -> str:
resp = client.chat.completions.create(
model="gpt-6-luna",
reasoning_effort="minimal",
max_tokens=5,
messages=[
{"role": "system", "content": INSTRUCTION},
{"role": "user", "content": ticket},
],
)
return resp.choices[0].message.content.strip()
Next steps
Sort the full catalog by price on the Models page, read about Hy4 Preview and Qwen 3.8 Flash, or start from the documentation. Billing is per token from a prepaid balance, with no subscription.
