Class PricingTier

java.lang.Object
com.langfuse.client.resources.commons.types.PricingTier

public final class PricingTier extends Object
  • Method Details

    • getId

      public String getId()
      Returns:
      Unique identifier for the pricing tier
    • getName

      public String getName()
      Returns:
      Name of the pricing tier for display and identification purposes.

      Examples: "Standard", "High Volume Tier", "Large Context", "Extended Context Tier"

    • getIsDefault

      public boolean getIsDefault()
      Returns:
      Whether this is the default tier. Every model must have exactly one default tier with priority 0 and no conditions.

      The default tier serves as a fallback when no conditional tiers match, ensuring cost calculation always succeeds. It typically represents the base pricing for standard usage patterns.

    • getPriority

      public int getPriority()
      Returns:
      Priority for tier matching evaluation. Lower numbers = higher priority (evaluated first).

      The default tier must always have priority 0. Conditional tiers should have priority 1, 2, 3, etc.

      Example ordering:

      • Priority 0: Default tier (no conditions, always matches as fallback)
      • Priority 1: High usage tier (e.g., >200K tokens)
      • Priority 2: Medium usage tier (e.g., >100K tokens)

      This ensures more specific conditions are checked before general ones.

    • getConditions

      public List<PricingTierCondition> getConditions()
      Returns:
      Array of conditions that must ALL be met for this tier to match (AND logic).

      The default tier must have an empty conditions array. Conditional tiers should have one or more conditions that define when this tier's pricing applies.

      Multiple conditions enable complex matching scenarios (e.g., "high input tokens AND low output tokens").

    • getPrices

      public Map<String,Double> getPrices()
      Returns:
      Prices (USD) by usage type for this tier.

      Common usage types: "input", "output", "total", "request", "image" Prices are specified in USD per unit (e.g., per token, per request, per second).

      Example: {"input": 0.000003, "output": 0.000015} means $3 per million input tokens and $15 per million output tokens.

    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getAdditionalProperties

      public Map<String,Object> getAdditionalProperties()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • builder

      public static PricingTier.IdStage builder()