Step 3.7 Flash 作为 Serverless LLM 在 Novita AI 上可用,模型 ID 为 stepfun/step-3.7-flash,兼容 OpenAI 的 chat/completions 接口,支持文本、图像和视频输入、文本输出、函数调用、结构化输出以及推理(见模型页面)。本快速入门聚焦于开发者工作流程:如何调用 API、哪些请求模式目前安全可用、需要预算的定价字段、以及在将多模态或推理行为接入生产前需要注意的地方。
调用 API 前需要准备什么?
首先准备好三项配置:
| 项目 | 值 |
|---|---|
| API 密钥 | 创建 Novita AI API 密钥并存储在环境变量中,例如 NOVITA_API_KEY。 |
| 兼容 OpenAI 的 base URL | https://api.novita.ai/openai |
| 聊天补全端点 | POST https://api.novita.ai/openai/v1/chat/completions |
| 模型 ID | stepfun/step-3.7-flash |
Novita AI 文档索引 列出了兼容 OpenAI 的 base URL,聊天补全 API 参考 记录了 POST https://api.novita.ai/openai/v1/chat/completions 的请求和响应字段。
确保 API 密钥不被纳入版本控制。本地开发时,在 shell 中导出它。生产环境中,从密钥管理器加载:
export NOVITA_API_KEY="your_api_key"
如果你的应用已使用兼容 OpenAI 的聊天补全,迁移路径通常很短:将客户端指向 Novita AI 的 base URL,设置 Authorization bearer token,然后使用 Step 3.7 Flash 模型 ID。
哪些 Step 3.7 Flash 信息对实现至关重要?
在代码中使用确切的模型 ID,在面向用户的 UI 中使用显示名称。当前 Novita 模型页面将 Step 3.7 Flash 列为 StepFun 系列中的 Chat 模型。
| 字段 | 当前 Novita 值 |
|---|---|
| 显示名称 | Step 3.7 Flash |
| API 模型 ID | stepfun/step-3.7-flash |
| Novita 显示的模型系列 | StepFun |
| 托管类型 | Serverless LLM |
| 端点 | chat/completions |
| 输入模态 | 文本、图像、视频 |
| 输出模态 | 文本 |
| 上下文窗口 | 262,144 tokens |
| 最大输出 tokens | 256,000 |
| 列出的功能 | Serverless、函数调用、结构化输出、推理 |
| 列出的标签 | MoE、>100B、NEW、Featured |
| 默认列出的 T1 速率限制 | 30 RPM 和 50,000,000 TPM |
截至 2026 年 6 月 18 日,Novita 列出的 stepfun/step-3.7-flash Token 价格如下:
| Token 类型 | 列出的价格 |
|---|---|
| 输入 Token | 每 1M tokens $0.20 |
| 输出 Token | 每 1M tokens $1.15 |
| 缓存读取输入 Token | 每 1M tokens $0.04 |
定价、模型可用性、速率限制以及支持的请求参数可能会发生变化。在采购审查、生产发布或任何面向客户的定价承诺之前,请查阅 Step 3.7 Flash 模型页面 和 Novita AI 定价页面。
如何通过 cURL 调用 Step 3.7 Flash?
首次冒烟测试时,请仅使用文本请求。这可以在添加工具、模式、图像或视频之前,确认身份认证、模型路由、响应解析和基本生成能力。
curl "https://api.novita.ai/openai/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${NOVITA_API_KEY}" \
-d '{
"model": "stepfun/step-3.7-flash",
"messages": [
{
"role": "system",
"content": "You are a concise technical assistant."
},
{
"role": "user",
"content": "Create a four-step checklist for testing a multimodal support bot before release."
}
],
"max_tokens": 512,
"temperature": 0.2
}'
成功的响应遵循 Novita AI 文档中描述的聊天补全格式:一个 choices 数组、包含生成 content 的消息、created/model 元数据,以及返回用量时的 usage 对象。对于流式响应,API 参考指出 usage 出现在最后一个响应块中。
使用此冒烟测试验证:
- API 密钥有效。
- 模型 ID 被接受。
- 你的客户端可以解析
choices[0].message.content。 - 你的日志记录了 prompt、completion 和总 token 用量,且不存储密钥。
- 你的超时和重试策略与提示词大小相匹配。
如何通过 Python 调用 Step 3.7 Flash?
设置 Novita base URL 后,OpenAI Python SDK 模式与 Novita AI 兼容。根据你的依赖策略在自己的项目中安装并锁定 SDK 版本。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/openai",
api_key=os.environ["NOVITA_API_KEY"],
)
response = client.chat.completions.create(
model="stepfun/step-3.7-flash",
messages=[
{"role": "system", "content": "You are a concise technical assistant."},
{
"role": "user",
"content": "Summarize the release risks for a customer support workflow that accepts screenshots and long text tickets.",
},
],
max_tokens=512,
temperature=0.2,
)
print(response.choices[0].message.content)
在应用代码中,应将其封装在一个小型模型网关中,而不是在整个代码库中散布原始 API 调用。网关可让你强制执行默认 token 限制、设置路由级别的超时、统一错误处理,以及在评估时切换模型而不改变业务逻辑。
一个实用的生产包装器应捕获:
model、prompt_tokens、completion_tokens和total_tokens。- 请求延迟和重试次数。
- HTTP 状态码和 API 错误类别。
- 是否使用了工具、JSON 模式、图像输入或视频输入。
- 不包含 API 密钥和敏感用户内容的脱敏请求摘要。
这些遥测数据很重要,因为 Step 3.7 Flash 拥有大型上下文窗口和高最大输出限制。这些限制很有用,但生产系统仍应设置明确的 max_tokens、在模型调用前拒绝过大的用户上传,并监控输出长度。
如何处理多模态输入?
Novita 将文本、图像和视频列为 Step 3.7 Flash 的输入模态,将文本列为输出模态。将此视为支持能力边界,然后在交付多模态集成前,通过当前 Novita 文档或控制台验证确切的负载格式。
快速入门建议按以下顺序操作:
- 运行纯文本冒烟测试。
- 使用当前文档中描述的 Novita 聊天消息格式添加一个图像输入。
- 在实际任务上验证响应质量和响应格式。
- 只有在确认请求格式、大小限制、延迟和成本行为后,再添加更大的图像批次或视频。
不要假设每个兼容 OpenAI 的多模态负载格式都会被每个 Novita 托管的模型接受。Step 3.7 Flash 模型页面确认了图像和视频输入支持,但视频请求示例对文件处理、URL 访问、时长、大小和特定模型的格式化更为敏感。如果当前文档或控制台示例没有提供你需要的精确视频负载格式,请避免从其他提供商的文档中硬编码一个。
良好的初始图像用例包括:
- 结合用户工单文本总结支持截图。
- 从产品截图中提取 UI 状态用于内部分类助手。
- 审查视觉 QA 图像并生成文本清单。
视频应更保守地进行测试。从短片段开始,记录可行的请求形式,捕获延迟和 token 用量,并定义视频输入被拒绝、过大或对你的路由来说太慢时的回退行为。
函数调用和结构化输出如何融入?
Step 3.7 Flash 列有函数调用和结构化输出功能。在聊天补全 API 中,函数调用通过 tools 暴露,结构化输出通过 response_format 暴露。
当模型应选择工具并返回 JSON 参数,而不是直接回答用户时,使用函数调用。API 参考文档描述了类型为 function 的函数工具,包含 function.name、description、JSON Schema parameters 和可选的 strict 设置。
tools = [
{
"type": "function",
"function": {
"name": "create_support_ticket",
"description": "Create an internal support ticket from a user-reported issue.",
"parameters": {
"type": "object",
"properties": {
"summary": {"type": "string"},
"priority": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"needs_human_review": {"type": "boolean"},
},
"required": ["summary", "priority", "needs_human_review"],
},
},
}
]
response = client.chat.completions.create(
model="stepfun/step-3.7-flash",
messages=[
{
"role": "user",
"content": "The payment settings page returns a 500 error after I upload a screenshot.",
}
],
tools=tools,
temperature=0.1,
)
当你的应用需要验证过的 JSON 响应且无需外部工具调用时,使用结构化输出。Novita 的聊天补全 API 参考文档描述了带有 json_schema 的 response_format,并指出严格模式支持 JSON Schema 的子集。保持早期模式简单,避免奇特的模式特性,并在模型响应不通过验证时关闭功能。
关于推理,要区分模型能力与请求行为。Step 3.7 Flash 模型页面将推理列为一项功能,而聊天补全 API 参考文档记录了与推理相关的参数,并附有特定模型的支持说明。在依赖生产解析器中的推理字段之前,先用 stepfun/step-3.7-flash 运行 API 测试,并处理你的账户收到的确切响应格式。
团队应如何在生产前预算和测试?
使用列出的 token 价格估算初始预算,然后用实际使用日志验证。Step 3.7 Flash 对输入、输出和缓存读取采用不同定价,因此长提示词、冗长输出和重复上下文具有不同的成本曲线。
例如,发送大型支持记录的应用可能在输入 token 上花费大部分预算。要求长计划的智能体可能在输出 token 上花费更多。重用上下文的检索或记忆工作流可能受益于缓存读取定价(如果缓存行为适用于部署的请求模式)。
在生产前,运行包含以下内容的评估集:
- 短纯文本提示词,用于测试延迟和基线回答质量。
- 接近预期上限(而非最大上下文窗口)的长上下文提示词。
- 匹配真实上传源和文件处理的图像提示词。
- 正确行为是调用函数的工具调用提示词。
- 有意测试无效、缺失和边缘情况字段的 JSON 模式提示词。
- 过大输入、媒体缺失、API 密钥无效和超时的失败案例。
不要仅凭功能列表将全部流量路由到新模型。功能标志告诉你哪些功能可用;评估告诉你模型是否能在你的工作负载上遵循你的指令、模式、安全规则和延迟预算。
常见问题解答
Step 3.7 Flash 在 Novita AI 上可用吗?
是的。Novita 将 Step 3.7 Flash 列为 Serverless LLM,API 模型 ID 为 stepfun/step-3.7-flash。
我应该使用哪个端点访问 Step 3.7 Flash?
使用兼容 OpenAI 的聊天补全端点:POST https://api.novita.ai/openai/v1/chat/completions。
Step 3.7 Flash 支持图像和视频输入吗?
Novita 将文本、图像和视频列为 Step 3.7 Flash 的输入模态,文本为输出模态。在生产前,使用当前 Novita 文档或控制台示例验证确切的图像或视频负载格式。
Step 3.7 Flash 的费用是多少?
截至 2026 年 6 月 18 日,Novita 列出 stepfun/step-3.7-flash 价格为:每 1M 输入 tokens 为 $0.20,每 1M 输出 tokens 为 $1.15,每 1M 缓存读取输入 tokens 为 $0.04。
Step 3.7 Flash 支持函数调用和结构化输出吗?
是的。Novita 将函数调用和结构化输出列为 Step 3.7 Flash 的功能。使用 tools 进行函数调用,使用 response_format 进行结构化输出,然后在生产前测试你的确切模式和解析器。
我应该从其他提供商复制视频负载格式吗?
不需要。即便 API 兼容 OpenAI,多模态文件和 URL 处理方式也可能不同。请使用当前 Novita 文档、控制台示例或你自己的 stepfun/step-3.7-flash 成功 API 测试中验证过的负载格式。
