跳转到主要内容
计算token数,支持 Chat Completion 接口与 Messages 接口两种格式。

计算 Chat Completion Token 数

请求地址

POST https://api.stepfun.com/v1/token/count

请求参数

  • model string required
    需要使用的模型名称
  • messages object array required
    迄今为止用户输入或模型生成的不同类别消息列表

请求响应

  • data object
    计算token返回数据

示例

curl https://api.stepfun.com/v1/token/count \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $STEP_API_KEY" \
-d '{
"model": "step-1-8k",
"messages": [
		{
			"role": "system",
			"content": "你是由阶跃星辰提供的AI聊天助手,你擅长中文,英文,以及多种其他语言的对话。在保证用户数据安全的前提下,你能对用户的问题和请求,作出快速和精准的回答。同时,你的回答和建议应该拒绝黄赌毒,暴力恐怖主义的内容。"
		},
		{
			"role": "user",
			"content": "你好,请介绍一下阶跃星辰的人工智能!"
		}
	]
}'
{
	"data": {
		"total_tokens": 85
	}
}

估算 Message Token 数

估算 Messages API 输入 token 数量,不生成模型回复。

请求地址

POST https://api.stepfun.com/v1/messages/count_tokens
Step Plan 场景请使用 POST https://api.stepfun.com/step_plan/v1/messages/count_tokens

请求参数

请求体结构与创建 Message 相同,通常至少需要提供:
  • model string required
    模型名称
  • messages object array required
    对话消息列表
也可按需携带 systemtools 等上下文字段。max_tokens 在该接口中可不传。

请求响应

Content-Type: application/json
{
    "input_tokens": 12
}
  • input_tokens int
    估算的输入 token 数量

示例

from anthropic import Anthropic

client = Anthropic(api_key="STEP_API_KEY", base_url="https://api.stepfun.com/v1")

response = client.messages.count_tokens(
    model="step-3.5-flash",
    messages=[
        {
            "role": "user",
            "content": "统计这句话需要多少输入 token?"
        }
    ],
)

print(response.input_tokens)
{
    "input_tokens": 12
}