JSPM

openrouter-cost-calculator

1.6.6
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 207
    • Score
      100M100P100Q87359F
    • License ISC

    Lightweight AI cost and credit calculator for OpenRouter models

    Package Exports

    • openrouter-cost-calculator

    Readme

    OpenRouter Cost Calculator

    A lightweight utility to calculate costs for AI models (OpenRouter, OpenAI, etc.) and convert them into internal credits. Supports both Offline Calculation (using stored pricing) and Online Calculation (fetching real-time pricing from OpenRouter API).

    Features

    • Dual Mode:
      • Offline: Zero-latency calculation using your own pricing data (e.g., from DB).
      • Online: Auto-fetch model pricing from OpenRouter API.
    • Flexible Billing: Configure margin multipliers and USD-to-Credit conversion rates.
    • Input-Focused: Calculates cost based primarily on input (prompt) tokens, as per modern pricing strategies.

    Installation

    npm install openrouter-cost-calculator

    Usage

    Best for production environments where you store model pricing in your database. No API calls required.

    import { OpenRouterCalculator } from "openrouter-cost-calculator";
    
    // 1. Initialize
    const calculator = new OpenRouterCalculator();
    
    // 2. Configure Billing (Optional)
    calculator.setBillingConfig({
      marginMultiplier: 2.0, // e.g. 2x margin
      usdPerCredit: 0.005,   // $0.005 = 1 Credit
    });
    
    // 3. Set Pricing (e.g. from your DB)
    calculator.setPricing({
      prompt: "0.0000025",
      completion: "0.00001", // (Optional, ignored in calculation if not using output tokens)
      image: "0.004",
      request: "0"
    });
    
    // 4. Calculate
    const result = calculator.calculateEstimate({
      prompt_tokens: 150
    });
    
    console.log(`USD Cost: $${result.usdCost}`);
    console.log(`Credits: ${result.credit}`);

    2. Online Mode (Auto-Fetch Pricing)

    Useful for scripts or environments where you want to fetch the latest pricing from OpenRouter.

    import { OpenRouterCalculator } from "openrouter-cost-calculator";
    
    // 1. Initialize with API Key
    const calculator = new OpenRouterCalculator("YOUR_OPENROUTER_API_KEY");
    
    calculator.setBillingConfig({
      marginMultiplier: 1.2
    });
    
    // 2. Calculate directly (Fetches models internally)
    // calculateCost(modelId, usage, imageCount?)
    const result = await calculator.calculateCost(
      "openai/gpt-4",
      { prompt_tokens: 500 },
      0 // image count
    );
    
    if (result.modelDetails) {
      console.log(`Model: ${result.modelDetails.id}`);
      console.log(`Input Cost: $${result.usdCost}`);
    } else {
      console.log("Model pricing not found");
    }

    Configuration

    Option Description Default
    marginMultiplier Multiplier for revenue calculation (e.g. 2.0 = 200% price) 1.0
    usdPerCredit USD value of 1 internal credit unit undefined
    minimumCredit Minimum credits to charge if calculated < min 0

    License

    MIT