UNPKG

gemini-cost-tracker

Version:

CLI tool to display token usage and costs for Gemini and Vertex AI

232 lines 6.69 kB
// Price data updated on 2025-07-24T09:22:26.946Z // Sources: // - Gemini API: https://ai.google.dev/gemini-api/docs/models + https://ai.google.dev/gemini-api/docs/pricing // - Vertex AI: https://cloud.google.com/vertex-ai/generative-ai/pricing export const PRICE_TABLE = { 'gemini-2.5-pro': { inputTokenPrice: 0.00125, outputTokenPrice: 0.01, currency: 'USD', model: 'gemini-2.5-pro', }, 'gemini-2.5-flash': { inputTokenPrice: 0.0003, outputTokenPrice: 0.0025, currency: 'USD', model: 'gemini-2.5-flash', }, 'gemini-2.5-flash-lite': { inputTokenPrice: 0.0001, outputTokenPrice: 0.0004, currency: 'USD', model: 'gemini-2.5-flash-lite', }, 'gemini-2.0-flash': { inputTokenPrice: 0.0002, outputTokenPrice: 0.002, currency: 'USD', model: 'gemini-2.0-flash', }, 'gemini-2.0-flash-lite': { inputTokenPrice: 0.0002, outputTokenPrice: 0.002, currency: 'USD', model: 'gemini-2.0-flash-lite', }, 'gemini-1.5-pro': { inputTokenPrice: 0.00125, outputTokenPrice: 0.005, currency: 'USD', model: 'gemini-1.5-pro', }, 'gemini-1.5-flash': { inputTokenPrice: 0.000075, outputTokenPrice: 0.0003, currency: 'USD', model: 'gemini-1.5-flash', }, 'gemini-1.5-flash-8b': { inputTokenPrice: 0.000075, outputTokenPrice: 0.0003, currency: 'USD', model: 'gemini-1.5-flash-8b', }, 'gemini-pro': { inputTokenPrice: 0.000125, outputTokenPrice: 0.000375, currency: 'USD', model: 'gemini-pro', }, 'gemini-pro-vision': { inputTokenPrice: 0.000125, outputTokenPrice: 0.000375, currency: 'USD', model: 'gemini-pro-vision', }, 'gemini-1.5-pro-extended': { inputTokenPrice: 0.00125, outputTokenPrice: 0.005, currency: 'USD', model: 'gemini-1.5-pro-extended', }, 'gemini-1.5-flash-extended': { inputTokenPrice: 0.000075, outputTokenPrice: 0.0003, currency: 'USD', model: 'gemini-1.5-flash-extended', }, 'gemini-2.5-pro-extended': { inputTokenPrice: 0.00125, outputTokenPrice: 0.01, currency: 'USD', model: 'gemini-2.5-pro-extended', }, 'gemini-2.5-flash-audio': { inputTokenPrice: 0.0003, outputTokenPrice: 0.0025, currency: 'USD', model: 'gemini-2.5-flash-audio', }, 'gemini-2.5-flash-lite-audio': { inputTokenPrice: 0.0001, outputTokenPrice: 0.0004, currency: 'USD', model: 'gemini-2.5-flash-lite-audio', }, 'gemini-2.5-flash-native-audio': { inputTokenPrice: 0.0003, outputTokenPrice: 0.0025, currency: 'USD', model: 'gemini-2.5-flash-native-audio', }, 'gemini-2.5-flash-thinking': { inputTokenPrice: 0.0003, outputTokenPrice: 0.0025, currency: 'USD', model: 'gemini-2.5-flash-thinking', }, 'text-bison-001': { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: 'text-bison-001', }, 'text-bison-002': { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: 'text-bison-002', }, 'chat-bison-001': { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: 'chat-bison-001', }, 'chat-bison-002': { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: 'chat-bison-002', }, 'code-bison-001': { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: 'code-bison-001', }, 'code-bison-002': { inputTokenPrice: 0.00025, outputTokenPrice: 0.0005, currency: 'USD', model: 'code-bison-002', }, 'codechat-bison-001': { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: 'codechat-bison-001', }, 'codechat-bison-002': { inputTokenPrice: 0.00025, outputTokenPrice: 0.0005, currency: 'USD', model: 'codechat-bison-002', }, 'gemini-1.5-pro-vertex': { inputTokenPrice: 0.00125, outputTokenPrice: 0.005, currency: 'USD', model: 'gemini-1.5-pro-vertex', }, 'gemini-1.5-flash-vertex': { inputTokenPrice: 0.000075, outputTokenPrice: 0.0003, currency: 'USD', model: 'gemini-1.5-flash-vertex', }, 'gemini-2.5-pro-vertex': { inputTokenPrice: 0.00125, outputTokenPrice: 0.01, currency: 'USD', model: 'gemini-2.5-pro-vertex', }, 'gemini-2.5-flash-vertex': { inputTokenPrice: 0.0003, outputTokenPrice: 0.0025, currency: 'USD', model: 'gemini-2.5-flash-vertex', }, 'imagegeneration-004': { inputTokenPrice: 0.00004, outputTokenPrice: 0.00004, currency: 'USD', model: 'imagegeneration-004', }, 'imagegeneration-004-ultra': { inputTokenPrice: 0.000059999999999999995, outputTokenPrice: 0.000059999999999999995, currency: 'USD', model: 'imagegeneration-004-ultra', }, 'video-generation-001': { inputTokenPrice: 0.0005, outputTokenPrice: 0.00075, currency: 'USD', model: 'video-generation-001', }, }; // Currency conversion rates (USD to other currencies) // These should be updated regularly or fetched from an API export const CURRENCY_RATES = { USD: 1.0, JPY: 150.0, // As of early 2025, approximate rate }; export function getPriceModel(modelName) { const priceModel = PRICE_TABLE[modelName]; if (!priceModel) { // Return default pricing for unknown models return { inputTokenPrice: 0.001, outputTokenPrice: 0.001, currency: 'USD', model: modelName, }; } return priceModel; } export function getAllSupportedModels() { return Object.keys(PRICE_TABLE); } export function getCurrencyRate(from, to) { if (from === to) return 1.0; const fromRate = CURRENCY_RATES[from] || 1.0; const toRate = CURRENCY_RATES[to] || 1.0; return toRate / fromRate; } export function convertPrice(amount, fromCurrency, toCurrency) { const rate = getCurrencyRate(fromCurrency, toCurrency); return amount * rate; } //# sourceMappingURL=priceTable.js.map