> ## Documentation Index
> Fetch the complete documentation index at: https://narev.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateMinimaxV3Middleware

[**@ai-billing/minimax**](../index)

***

[@ai-billing/minimax](/docs/sdk/ai-billing/reference/minimax/typedoc/index) / createMinimaxV3Middleware

# Function: createMinimaxV3Middleware()

> **createMinimaxV3Middleware**\<`TTags`>(`options`): `LanguageModelV3Middleware`

Defined in: [minimax/src/ai-sdk/language-model-middleware/v3/language-model-v3-minimax-billing-middleware.ts:82](https://github.com/narevai/ai-billing/blob/main/packages/minimax/src/ai-sdk/language-model-middleware/v3/language-model-v3-minimax-billing-middleware.ts#L82)

Creates a V3 billing middleware for the Minimax provider (via `@ai-sdk/anthropic` with MiniMax base URL).
Maps AI SDK usage into billing fields and resolves cost from pricing plus usage.

## Type Parameters

### TTags

`TTags` *extends* `JSONObject`

The shape of the tags object, extending DefaultTags.

## Parameters

### options

[`MinimaxV3MiddlewareOptions`](/docs/sdk/ai-billing/reference/minimax/typedoc/interfaces/MinimaxV3MiddlewareOptions)\<`TTags`>

Billing options; see [MinimaxV3MiddlewareOptions](/docs/sdk/ai-billing/reference/minimax/typedoc/interfaces/MinimaxV3MiddlewareOptions). A `priceResolver` is required.

## Returns

`LanguageModelV3Middleware`

A V3 billing middleware instance for Minimax.

## Example

```ts theme={null}
import { createAnthropic } from '@ai-sdk/anthropic';
import { wrapLanguageModel } from 'ai';
import { createMinimaxMiddleware } from '@ai-billing/minimax';
import {
  consoleDestination,
  createObjectPriceResolver,
  type ModelPricing,
} from '@ai-billing/core';

const minimax = createAnthropic({
  apiKey: process.env.MINIMAX_API_KEY,
  baseURL: 'https://api.minimax.io/anthropic/v1',
});

const customPricingMap: Record<string, ModelPricing> = {
  'minimax-m1': {
    promptTokens: 0.4 / 1_000_000,
    completionTokens: 1.6 / 1_000_000,
    internalReasoningTokens: 1.6 / 1_000_000,
  },
};

const priceResolver = createObjectPriceResolver(customPricingMap);

const billingMiddleware = createMinimaxMiddleware({
  destinations: [consoleDestination()],
  priceResolver,
});

const wrappedModel = wrapLanguageModel({
  model: minimax('minimax-m1'),
  middleware: billingMiddleware,
});
```
