Skip to main content
@ai-billing/minimax
@ai-billing/minimax / 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 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<TTags> Billing options; see MinimaxV3MiddlewareOptions. A priceResolver is required.

Returns

LanguageModelV3Middleware A V3 billing middleware instance for Minimax.

Example

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,
});