usageMetadata

Token usage information returned with every response. Includes prompt tokens, output tokens, and total count for monitoring and cost tracking.

Syntax

gemini-api
result.response.usageMetadata.{ promptTokenCount, candidatesTokenCount, totalTokenCount }

Example

gemini-api
const result = await model.generateContent("Explain Gemini API pricing.");

const usage = result.response.usageMetadata;
console.log(`Prompt tokens:    ${usage?.promptTokenCount}`);
console.log(`Response tokens:  ${usage?.candidatesTokenCount}`);
console.log(`Total tokens:     ${usage?.totalTokenCount}`);

// Use for cost tracking
const COST_PER_1K_INPUT = 0.00125;  // gemini-1.5-pro pricing
const COST_PER_1K_OUTPUT = 0.005;
const cost = 
  ((usage?.promptTokenCount ?? 0) / 1000) * COST_PER_1K_INPUT +
  ((usage?.candidatesTokenCount ?? 0) / 1000) * COST_PER_1K_OUTPUT;
console.log(`Estimated cost: $${cost.toFixed(6)}`);