> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# nemo-relay-node/pricing

> Declarations exported by `nemo-relay-node/pricing`.

Generated from `crates/node/pricing.d.ts`.

Import from `nemo-relay-node/pricing`.

Declarations exported by `nemo-relay-node/pricing`.

## Interfaces

### `TokenPricingRates`

Token rates expressed per one million tokens.

```ts
export interface TokenPricingRates {
  input_per_million: number;
  output_per_million: number;
  cache_read_per_million?: number;
  cache_write_per_million?: number;
}
```

### `PromptCachePricing`

Prompt-cache accounting settings for a catalog entry.

```ts
export interface PromptCachePricing {
  read_accounting?: 'included_in_prompt_tokens' | 'separate';
}
```

### `TokenRateTier`

One prompt-token threshold tier.

```ts
export interface TokenRateTier {
  min_prompt_tokens?: number;
  max_prompt_tokens?: number;
  rates: TokenPricingRates;
}
```

### `PromptTokenThresholdRateSchedule`

Threshold-based token rate schedule.

```ts
export interface PromptTokenThresholdRateSchedule {
  type: 'prompt_token_threshold';
  applies_to?: 'full_request';
  tiers: TokenRateTier[];
}
```

### `ModelPricing`

One model pricing catalog entry.

```ts
export interface ModelPricing {
  provider: string;
  model_id: string;
  aliases?: string[];
  currency?: string;
  unit?: 'per_token' | 'per_request' | 'per_second' | 'gpu_hour';
  rates?: TokenPricingRates;
  rate_schedule?: PromptTokenThresholdRateSchedule | JsonObject;
  prompt_cache: PromptCachePricing;
  pricing_as_of: string;
  pricing_source: string;
}
```

### `PricingCatalog`

Inline pricing catalog payload.

```ts
export interface PricingCatalog {
  version?: number;
  entries: Array<ModelPricing | JsonObject>;
}
```

### `InlineSource`

Inline pricing source config.

```ts
export interface InlineSource {
  type: 'inline';
  catalog: PricingCatalog | JsonObject;
}
```

### `FileSource`

File-backed pricing source config.

```ts
export interface FileSource {
  type: 'file';
  path: string;
}
```

### `PricingConfig`

Canonical pricing plugin config.

```ts
export interface PricingConfig {
  sources?: PricingSource[];
}
```

## Functions

### `defaultConfig`

Create a default pricing component config.

```ts
export declare function defaultConfig(): PricingConfig;
```

### `tokenRates`

Create per-token pricing rates with defaults applied.

```ts
export declare function tokenRates(config?: Partial<TokenPricingRates>): TokenPricingRates;
```

### `promptCache`

Create prompt-cache accounting settings with defaults applied.

```ts
export declare function promptCache(config?: Partial<PromptCachePricing>): PromptCachePricing;
```

### `tokenRateTier`

Create one prompt-token threshold rate tier.

```ts
export declare function tokenRateTier(rates: TokenPricingRates, config?: Omit<Partial<TokenRateTier>, 'rates'>): TokenRateTier;
```

### `promptTokenThresholdRateSchedule`

Create a prompt-token threshold rate schedule.

```ts
export declare function promptTokenThresholdRateSchedule(
  tiers?: TokenRateTier[],
  config?: Omit<Partial<PromptTokenThresholdRateSchedule>, 'type' | 'tiers'>,
): PromptTokenThresholdRateSchedule;
```

### `catalogEntry`

Create one pricing catalog entry with defaults applied.

```ts
export declare function catalogEntry(config: Omit<ModelPricing, 'prompt_cache'> & Partial<ModelPricing>): ModelPricing;
```

### `inlineCatalog`

Create an inline pricing catalog payload.

```ts
export declare function inlineCatalog(
  entries?: Array<ModelPricing | JsonObject>,
  config?: Omit<Partial<PricingCatalog>, 'entries'>,
): PricingCatalog;
```

### `inlineSource`

Create an inline pricing source.

```ts
export declare function inlineSource(catalog: PricingCatalog | JsonObject): InlineSource;
```

### `fileSource`

Create a file-backed pricing source.

```ts
export declare function fileSource(path: string): FileSource;
```

### `pricingConfig`

Create a pricing config from ordered sources.

```ts
export declare function pricingConfig(sources?: PricingSource[]): PricingConfig;
```

### `ComponentSpec`

Wrap pricing config as a top-level plugin component.

```ts
export declare function ComponentSpec(
  config: PricingConfig | JsonObject,
  options?: {
    enabled?: boolean;
```

### `validateConfig`

Validate a pricing config document without activating it.

```ts
export declare function validateConfig(config: PricingConfig | JsonObject): ConfigReport;
```

## Type Aliases

### `PricingSource`

Pricing source config.

```ts
export type PricingSource = InlineSource | FileSource | JsonObject;
```

## Constants

### `PRICING_PLUGIN_KIND`

Plugin kind used by the pricing component.

```ts
export declare const PRICING_PLUGIN_KIND = 'pricing';
```