Skip to content

AgentPrismPricingOptions

Namespace AgentPrism · Assembly AgentPrism.Core.dll

Defines a run-cost price source. It is a secondary source for a model that has no price in the ModelDescriptor catalog.

public sealed class AgentPrismPricingOptions

objectAgentPrismPricingOptions

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

AgentPrism does not invent prices. This stores only values supplied by the consumer in configuration. Configuration paths:

  • AgentPrism:Pricing:Currency
  • AgentPrism:Pricing:{provider}:{model}:Input\|Output
  • AgentPrism:Pricing:Voice:{provider}:{model}:PerMillionCharacters\|PerMinute

Wildcards are not supported.

The section is bound manually for AOT. Every child of Pricing is treated as a provider name, so the Currency and Voice keys are reserved and cannot be provider names. When adding a reserved key, also update the skip list in BindPricing.

public AgentPrismPricingOptions()

Gets or sets the currency label displayed in reports. No conversion occurs.

public string? Currency { get; set; }

string?

Gets price overrides per model, keyed by provider name.

public IDictionary<string, IDictionary<string, ModelPriceOverride>> Providers { get; }

IDictionary<string, IDictionary<string, ModelPriceOverride>>

Gets voice prices per model, keyed by voice provider name.

public IDictionary<string, IDictionary<string, VoicePriceOverride>> Voice { get; }

IDictionary<string, IDictionary<string, VoicePriceOverride>>

Voice pricing uses characters or duration rather than tokens, so it cannot share a dictionary with AgentPrismPricingOptions.Providers. The two sections are not combined because their units differ;