Skip to main content

Installation

Overview

The @ai-billing/fireworks package provides middleware for tracking token usage and calculating costs when using Fireworks models with the Vercel AI SDK. It captures Fireworks’ OpenAI-compatible usage payload, including cached prompt tokens and reasoning tokens, ensuring that costs are accurately reflected.

Usage

To use the middleware, wrap your Fireworks model using wrapLanguageModel from the ai package and pass the createFireworksMiddleware.
1

Initialize the Fireworks provider

First, set up the provider using the Fireworks SDK and your API key.
2

Define model pricing

Set up a price resolver to define the costs for the models you’ll be using. Fireworks bills on prompt tokens, completion tokens, and cached prompt tokens (inputCacheReadTokens).Fireworks has no separate pricing tier for reasoning tokens — reasoning tokens are billed at the same rate as completionTokens, so you don’t need to configure anything extra for reasoning models.
3

Create the billing middleware

Initialize the Fireworks billing middleware. You need to provide a destination (such as consoleDestination) where billing events will be sent, along with your priceResolver.
4

Wrap the model

Use wrapLanguageModel from the ai package to apply the billing middleware to your Fireworks model.
5

Use the wrapped model

Finally, use the wrapped model with AI SDK functions like generateText or streamText. The billing middleware will automatically track tokens, handle reasoning metrics, and calculate costs.