[Bug]: Cost estimation does not recognize deepseek-flash (deepseek/deepseek-flash shows $0)
Deployment type
Official App
Area
Agents and runtimes
What happened?
Agents configured with model id deepseek/deepseek-flash (also reported as bare deepseek-flash) do not get cost estimates in Multica usage / runtime dashboards — cost shows as $0 / unrecognized, even though token usage itself is recorded.
Expected: deepseek-flash should resolve to the same (or explicitly maintained) pricing row as DeepSeek's current Flash SKU, so estimated cost is non-zero like deepseek-v4-flash.
Actual: Built-in pricing tables only know:
- Frontend
MODEL_PRICING(packages/views/runtimes/utils.ts):deepseek-v4-flash,deepseek-v4-pro,deepseek-chat,deepseek-reasoner - Server aliases (
server/internal/metrics/pricing.go): regexdeepseek-v4-flash|^deepseek-chat$|^deepseek-reasoner$→deepseek:v4-flash
There is no entry / alias for deepseek-flash.
Quick check:
| Model id | Priced today? |
|---|---|
deepseek-v4-flash / deepseek/deepseek-v4-flash |
yes |
deepseek-chat / deepseek-reasoner |
yes (aliased to v4-flash) |
deepseek-flash / deepseek/deepseek-flash |
no |
models.dev currently lists both deepseek-v4-flash (DeepSeek V4 Flash) and deepseek-flash (DeepSeek V4.1 Flash) as separate ids with published rates — Multica's catalog has not caught up to the newer id.
Related prior work:
- #3204 / commit adding DeepSeek v4-flash pricing (aliases chat/reasoner only)
- #7606 (broader model-alias / automatic pricing feature)
Workaround today: Runtime UI Custom pricing (multica_runtime_custom_pricing local store) can fill rates manually — browser-local, not a first-party catalog fix.
Steps to reproduce
- Create or update an agent with model
deepseek/deepseek-flash(ordeepseek-flash). - Run tasks so token usage is recorded.
- Open Runtime / Usage (or issue usage) cost views.
- Observe estimated cost is
$0/ model treated as unpriced, while the same flow withdeepseek-v4-flashestimates correctly.
Suggested fix
- Add
deepseek-flashto frontendMODEL_PRICINGand server pricing aliases (map to the official Flash / V4.1 Flash rates, or alias onto the existingdeepseek-v4-flashrow if product intends them equivalent). - Ideally keep aliases in sync with
models.dev/ DeepSeek docs so renames likev4-flash→flashdo not silently drop cost again (#7606).
Additional context
- Observed on Official App with agents whose model field is literally
deepseek/deepseek-flash. - Temporary mitigation: set custom pricing for
deepseek-flashin the Runtime usage custom-pricing dialog.
Source: multica-ai/multica