Response usage
ModelResponse resp = llm.generate(req);
int promptTokens = resp.usage().promptTokens();
int completionTokens = resp.usage().completionTokens();
double cost = costCalculator.compute("gemini-2.5-pro", promptTokens, completionTokens);Advertisement
Per-model pricing tables
Keep pricing in a YAML config. Prices change; code shouldn't.
gemini-2.5-pro:
input_per_1m: 1.25
output_per_1m: 5.00
gemini-2.5-flash:
input_per_1m: 0.075
output_per_1m: 0.30Advertisement
Emit as metrics
meter.counter("llm.cost.usd",
Tag.of("model", modelName),
Tag.of("agent", agentName))
.increment(cost);