---
title: "Open-weight models over API: cache, agents, and three workhorses"
description: "Why cache pricing drives agent bills, which runtime fits each model, and DeepSeek V4.1 Flash, GLM-5.3-Flash, and MiMo-V2.6-Flash as daily drivers."
date: 2026-10-12
locale: en
tags: [ai]
summary: "In agentic loops, cache read pricing drives the bill, and on a hit DeepSeek V4.1 Flash and MiMo-V2.6-Flash cost practically the same. Three workhorses for day-to-day tool use: DeepSeek by default, GLM-5.3-Flash as a second route, and MiMo for cheap off-peak output and multimodal."
url: https://escribano.dev/en/blog/019-open-models-cache-agents/
---
My [quick guide to open-weight models](/blog/018-open-weight-models-api/) left the table without figures and a split still being tested. Here is what a quick guide cannot fit: cache, where I plug in each model, and the three I use (or compare) today in tool loops.

*API prices checked on October 12, 2026, unless another source or date is noted.*

## Cache is where the cost is decided

In an agentic loop the context comes back every turn: system prompt, tools, chunks of the repo. That is why I look at **cache read** pricing first.

DeepSeek V4.1 Flash (`deepseek-flash`) in **off-peak** charges \$0.003 per million on a hit and \$0.15 on a miss ([DeepSeek pricing](https://api-docs.deepseek.com/quick_start/pricing)). MiMo-V2.6-Flash charges \$0.0028 on a hit and \$0.14 on a miss ([MiMo model page](https://mimo.mi.com/models/en-US/mimo-v2.6-flash)). On a hit, the two cost practically the same; MiMo, which was not in that guide, sits right alongside. For scale, [Moonshot pricing](https://platform.moonshot.ai/docs/pricing/chat) for Kimi K3 is \$0.30 on a hit and \$3.00 on a miss. Qwen3.8-Max, MiniMax-M3, and the rest of the table I leave for huge context or reasoning output; the names are in that guide.

I have not looked up **GLM-5.3-Flash** cache rates for this post.

Output usually weighs more than input. I tie that to [The Bitter Lesson](/blog/017-bitter-lesson/): more compute when deciding, higher bill. Off-peak, DeepSeek asks \$0.60 per million of output; MiMo, \$0.28 on the model page.

In **peak** hours, DeepSeek goes to \$0.006 hit, \$0.30 miss, and \$1.20 per million output (Monday to Friday 01:00–04:00 and 06:00–10:00 UTC, excluding holidays in China; everything else is off-peak).

If you want to turn reasoning off in the API, DeepSeek V4.1 Flash accepts `extra_body` `{"thinking": {"type": "disabled"}}` ([DeepSeek Thinking Mode](https://api-docs.deepseek.com/guides/thinking_mode)). MiMo accepts `{"thinking": {"type": "disabled"}}` on its OpenAI-compatible API ([MiMo model page](https://mimo.mi.com/models/en-US/mimo-v2.6-flash)). GLM-5.3-Flash has no off switch: per Z.AI's [thinking guide](https://docs.z.ai/guides/capabilities/thinking-mode.md), `thinking.type` only allows `enabled`, and the [model guide](https://docs.z.ai/guides/vlm/glm-5.3-flash.md) recommends `reasoning_effort: max`.

## Three workhorses

I use three checkpoints with weights on Hugging Face: **DeepSeek V4.1 Flash**, **GLM-5.3-Flash**, and **MiMo-V2.6-Flash**. All three claim a **1M token** window ([GLM guide](https://docs.z.ai/guides/vlm/glm-5.3-flash.md), [MiMo model page](https://mimo.mi.com/models/en-US/mimo-v2.6-flash), [DeepSeek pricing](https://api-docs.deepseek.com/quick_start/pricing)) and all three are MIT: DeepSeek and GLM per my [quick guide](/blog/018-open-weight-models-api/), MiMo in its [README](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-MOPD).

They do not replace Kimi K2.7 Code or Qwen3.8-Max for heavy backend work; they cover day-to-day tool use in OpenClaw, Moltis, or OpenCode.

**DeepSeek V4.1 Flash** (`deepseek-flash`) is my first choice for text and code. I have seen the API in more places than the other two, it responds faster in my usage, and I can aim for off-peak or avoid peak. In **Moltis** I leave it as default. If the same call needs audio or video, I switch models.

**GLM-5.3-Flash** is my second route in OpenClaw (`zai/*`, `tool_stream: true` by default; turn it off with `params.tool_stream: false`, [Z.AI provider in OpenClaw](https://docs.openclaw.ai/providers/zai)) or when the flow is visual. In Moltis I alternate when I want variety or to try Z.AI. In OpenCode it sometimes drops or runs slow; DeepSeek and MiMo have felt more reliable. I am still validating it across my repos.

**MiMo-V2.6-Flash** is what I pick when I want cheap off-peak output and multimodal on the same API; it works well for me for programming. I have not put it in long agentic loops inside Moltis yet.

- V2.6 series announced **September 22, 2026** ([MiMo changelog](https://mimo.mi.com/static/docs/updates/model.md)); repo `MiMo-V2.6-Flash-RL` created **September 21** on Hugging Face (metadata).
- MoE 309B total, 15B active ([MOPD README](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-MOPD)).
- Input text, image, video, and audio; text output. `https://api.xiaomimimo.com/v1`, model `mimo-v2.6-flash`, or OpenRouter if the agent does not ship Xiaomi.

## Where I plug them in

**Moltis** concentrates most of what I use: DeepSeek, Z.AI, OpenRouter, OpenAI-compatible endpoint, and MiMo via OpenRouter or Xiaomi base URL. MiniMax and Moonshot are there too. File tools (`Read`, `Write`, `Edit`, `Glob`, `Grep`) mirror Claude Code schemas.

**OpenCode** is where I compare providers calmly; specs and artifacts belong in the [SDD post](/blog/015-spec-driven-development-iag/). GLM reliability versus DeepSeek and MiMo shows up more there.

**OpenClaw** uses `provider/model`, has `--local-model-lean` for slow local models, and with GLM and `zai/*` ships `tool_stream` enabled.

In OpenCode I fall back to OpenRouter as plan B if the main route fails.

By default I still use **DeepSeek**. I reserve **GLM** for a second route or visual flows, and **MiMo** for programming when cheap output matters. I have not put MiMo in long loops in Moltis yet; that is the first thing I will revisit.
