Skip to content

Instantly share code, notes, and snippets.

@simonw

simonw/claude.js Secret

Created May 28, 2025 15:36
Show Gist options
  • Save simonw/ad00a97d2e70918cfbbc94d429af46ca to your computer and use it in GitHub Desktop.
Save simonw/ad00a97d2e70918cfbbc94d429af46ca to your computer and use it in GitHub Desktop.
// Pricing data from the image
const pricing = {
inputTokensPerMillion: 2, // $2 per million
outputTokensPerMillion: 8, // $8 per million
searchQueriesPer1000: 5, // $5 per 1000 queries
reasoningTokensPerMillion: 3 // $3 per million
};
// Usage data from the JSON
const usage = {
promptTokens: 19,
completionTokens: 498,
totalTokens: 517,
citationTokens: 10175,
numSearchQueries: 48,
reasoningTokens: 95305
};
console.log("=== TOKEN USAGE BREAKDOWN ===");
console.log(`Prompt tokens: ${usage.promptTokens.toLocaleString()}`);
console.log(`Completion tokens: ${usage.completionTokens.toLocaleString()}`);
console.log(`Citation tokens: ${usage.citationTokens.toLocaleString()}`);
console.log(`Reasoning tokens: ${usage.reasoningTokens.toLocaleString()}`);
console.log(`Search queries: ${usage.numSearchQueries}`);
console.log("\n=== COST CALCULATIONS ===");
// Calculate input token cost (prompt tokens)
const inputTokenCost = (usage.promptTokens / 1000000) * pricing.inputTokensPerMillion;
console.log(`Input tokens cost: ${usage.promptTokens} tokens × $${pricing.inputTokensPerMillion}/million = $${inputTokenCost.toFixed(6)}`);
// Calculate output token cost (completion tokens)
const outputTokenCost = (usage.completionTokens / 1000000) * pricing.outputTokensPerMillion;
console.log(`Output tokens cost: ${usage.completionTokens} tokens × $${pricing.outputTokensPerMillion}/million = $${outputTokenCost.toFixed(6)}`);
// Calculate search queries cost
const searchQueriesCost = (usage.numSearchQueries / 1000) * pricing.searchQueriesPer1000;
console.log(`Search queries cost: ${usage.numSearchQueries} queries × $${pricing.searchQueriesPer1000}/1000 = $${searchQueriesCost.toFixed(6)}`);
// Calculate reasoning tokens cost
const reasoningTokenCost = (usage.reasoningTokens / 1000000) * pricing.reasoningTokensPerMillion;
console.log(`Reasoning tokens cost: ${usage.reasoningTokens} tokens × $${pricing.reasoningTokensPerMillion}/million = $${reasoningTokenCost.toFixed(6)}`);
// Calculate total cost
const totalCost = inputTokenCost + outputTokenCost + searchQueriesCost + reasoningTokenCost;
console.log("\n=== COST SUMMARY ===");
console.log(`Input tokens: $${inputTokenCost.toFixed(6)}`);
console.log(`Output tokens: $${outputTokenCost.toFixed(6)}`);
console.log(`Search queries: $${searchQueriesCost.toFixed(6)}`);
console.log(`Reasoning tokens: $${reasoningTokenCost.toFixed(6)}`);
console.log("─".repeat(25));
console.log(`TOTAL COST: $${totalCost.toFixed(6)}`);
console.log(`TOTAL COST: $${totalCost.toFixed(4)} (rounded to 4 decimal places)`);
// Show percentage breakdown
console.log("\n=== COST BREAKDOWN BY PERCENTAGE ===");
console.log(`Input tokens: ${((inputTokenCost/totalCost)*100).toFixed(2)}%`);
console.log(`Output tokens: ${((outputTokenCost/totalCost)*100).toFixed(2)}%`);
console.log(`Search queries: ${((searchQueriesCost/totalCost)*100).toFixed(2)}%`);
console.log(`Reasoning tokens: ${((reasoningTokenCost/totalCost)*100).toFixed(2)}%`);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment