Fix usage & billing for custom model aliases and cached/reasoning tokens (#4222)

Co-authored-by: Melih Mucuk <melih@monkeysteam.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
This commit is contained in:
Melih Mucuk
2025-11-12 21:59:35 +02:00
committed by GitHub
parent 8addaa7e08
commit b63b6d04c6

View File

@@ -402,6 +402,9 @@ export namespace Session {
.add(new Decimal(tokens.output).mul(input.model.cost?.output ?? 0).div(1_000_000))
.add(new Decimal(tokens.cache.read).mul(input.model.cost?.cache_read ?? 0).div(1_000_000))
.add(new Decimal(tokens.cache.write).mul(input.model.cost?.cache_write ?? 0).div(1_000_000))
// TODO: update models.dev to have better pricing model, for now:
// charge reasoning tokens at the same rate as output tokens
.add(new Decimal(tokens.reasoning).mul(input.model.cost?.output ?? 0).div(1_000_000))
.toNumber(),
tokens,
}