UniterRouter
Features

成本明细

LLM API 成本追踪 - GPT-4、Claude、Gemini API 调用实时计价。监控 Token 使用量,比较模型成本,优化 AI 支出。

成本明细

UniterRouter 在每个 API 请求的响应 usage 对象中提供实时成本信息。这让你可以程序化地跟踪成本,无需查询控制台。

成本明细适用于托管 UniterRouter 的 Pro 计划 用户。

响应格式

启用成本明细后,API 响应的 usage 对象中将包含额外的成本字段:

{
	"id": "chatcmpl-123",
	"object": "chat.completion",
	"created": 1234567890,
	"model": "openai/gpt-4o",
	"choices": [
		{
			"index": 0,
			"message": {
				"role": "assistant",
				"content": "你好!今天我能帮你什么?"
			},
			"finish_reason": "stop"
		}
	],
	"usage": {
		"prompt_tokens": 10,
		"completion_tokens": 15,
		"total_tokens": 25,
		"cost_usd_total": 0.000125,
		"cost_usd_input": 0.000025,
		"cost_usd_output": 0.0001,
		"cost_usd_cached_input": 0,
		"cost_usd_request": 0,
		"cost_usd_data_storage": 0.00000025
	}
}

成本字段

字段描述
cost_usd_total请求的总推理成本(美元,不包括存储)
cost_usd_input输入/提示 token 的成本(美元)
cost_usd_output输出/完成 token 的成本(美元)
cost_usd_cached_input缓存输入 token 的成本(美元,折扣价)
cost_usd_request每请求成本(美元,适用于按请求计费的模型)
cost_usd_data_storageUniterRouter 存储成本(美元,每百万 token $0.01,仅在启用保留时)

注意: cost_usd_total 仅包含提供商/推理成本。当组织策略中启用数据保留时,数据存储成本(cost_usd_data_storage)由 UniterRouter 单独计费。

流式响应

流式响应中也提供成本信息。成本字段包含在 [DONE] 消息之前发送的最终使用块中:

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","choices":[...],"usage":{"prompt_tokens":10,"completion_tokens":15,"total_tokens":25,"cost_usd_total":0.000125,"cost_usd_input":0.000025,"cost_usd_output":0.0001}}

data: [DONE]

免费计划用户

如果你使用免费计划(托管 UniterRouter),usage 对象将包含信息消息而不是成本字段:

{
	"usage": {
		"prompt_tokens": 10,
		"completion_tokens": 15,
		"total_tokens": 25,
		"info": "升级到 Pro 以获取美元成本明细"
	}
}

升级到 Pro 解锁 API 响应中的实时成本明细。

示例:在代码中跟踪成本

以下是使用成本明细功能程序化跟踪成本的示例:

import OpenAI from "openai";

const client = new OpenAI({
	apiKey: process.env.UNITEROUTER_API_KEY,
	baseURL: "https://api.uniterouter.ai/v1",
});

async function trackCosts() {
	const response = await client.chat.completions.create({
		model: "gpt-4o",
		messages: [{ role: "user", content: "你好!" }],
	});

	const usage = response.usage as any;

	if (usage.cost_usd_total !== undefined) {
		console.log(`请求成本: $${usage.cost_usd_total.toFixed(6)}`);
		console.log(`  输入: $${usage.cost_usd_input.toFixed(6)}`);
		console.log(`  输出: $${usage.cost_usd_output.toFixed(6)}`);

		if (usage.cost_usd_cached_input > 0) {
			console.log(`  缓存: $${usage.cost_usd_cached_input.toFixed(6)}`);
		}
	}

	return response;
}

使用场景

预算监控

实时跟踪成本并在应用中实现预算限制:

let totalSpent = 0;
const BUDGET_LIMIT = 10.0; // $10 预算

async function makeRequest(messages: Message[]) {
	const response = await client.chat.completions.create({
		model: "gpt-4o",
		messages,
	});

	const cost = (response.usage as any).cost_usd_total || 0;
	totalSpent += cost;

	if (totalSpent > BUDGET_LIMIT) {
		throw new Error(`预算超支: $${totalSpent.toFixed(2)}`);
	}

	return response;
}

按用户成本分配

为计费或分析跟踪每个用户的成本:

const userCosts: Map<string, number> = new Map();

async function makeRequestForUser(userId: string, messages: Message[]) {
	const response = await client.chat.completions.create({
		model: "gpt-4o",
		messages,
	});

	const cost = (response.usage as any).cost_usd_total || 0;
	const currentCost = userCosts.get(userId) || 0;
	userCosts.set(userId, currentCost + cost);

	return response;
}

成本分析

按模型、时间段或任何其他维度聚合成本:

interface CostEntry {
	timestamp: Date;
	model: string;
	inputCost: number;
	outputCost: number;
	totalCost: number;
}

const costLog: CostEntry[] = [];

async function loggedRequest(model: string, messages: Message[]) {
	const response = await client.chat.completions.create({
		model,
		messages,
	});

	const usage = response.usage as any;

	costLog.push({
		timestamp: new Date(),
		model: response.model,
		inputCost: usage.cost_usd_input || 0,
		outputCost: usage.cost_usd_output || 0,
		totalCost: usage.cost_usd_total || 0,
	});

	return response;
}

数据存储成本

当组织策略中启用数据保留时,UniterRouter 会在配置的保留期内存储完整的请求和响应负载。此存储会产生少量额外成本:

  • 费率:每百万 token $0.01
  • 适用于:输入、缓存、输出和推理 token
  • 何时收费:仅当保留级别设置为"保留所有数据"时
  • 计费模式:在 API 密钥模式下,仅存储成本从额度中扣除(推理成本计入你的提供商密钥)

存储成本在控制台和使用明细中与推理成本分开显示,以保持提供商成本和 UniterRouter 平台成本之间的透明度。

在计费设置中启用自动充值,防止存储成本耗尽额度时请求失败。

企业功能

企业客户可以使用额外的成本管理功能:

  • 自定义加价率用于内部成本分配
  • 部门级计费跨团队跟踪使用情况
  • 详细导出报告用于会计集成

联系 [email protected] 了解企业定价。

How is this guide?