Step 3.7 Flash API 在 Novita AI 上:多模态快速入门

Step 3.7 Flash API 在 Novita AI 上:多模态快速入门

Step 3.7 Flash 在 Novita AI 上作为无服务器 LLM 提供,模型 ID 为 stepfun/step-3.7-flash,兼容 OpenAI 的 chat/completions 接口,支持文本、图像和视频输入,文本输出、函数调用、结构化输出以及推理功能(如模型页面所列)。本快速入门聚焦于开发者工作流:如何调用 API,哪些请求模式可以安全使用,需要预算哪些定价字段,以及在将多模态或推理行为接入生产环境前需要注意哪些细节。有关该模型功能及定位的更全面介绍,请参阅 Step 3.7 Flash API 概览

调用 API 前需要准备什么?

首先准备三项配置:

项目
API 密钥 创建 Novita AI API 密钥并将其存储在环境变量中,例如 NOVITA_API_KEY
兼容 OpenAI 的基础 URL https://api.novita.ai/openai
聊天补全端点 POST https://api.novita.ai/openai/v1/chat/completions
模型 ID stepfun/step-3.7-flash

Novita AI 文档索引 列出了兼容 OpenAI 的基础 URL,聊天补全 API 参考 则记录了 POST https://api.novita.ai/openai/v1/chat/completions 的请求和响应字段。

切勿将 API 密钥放入源代码管理。在本地开发中,请在 shell 中导出它。在生产环境中,请从密钥管理器中加载:

export NOVITA_API_KEY="your_api_key"

如果你的应用程序已经在使用兼容 OpenAI 的聊天补全,迁移路径通常很小:将客户端指向 Novita AI 的基础 URL,设置 Authorization 承载令牌,然后使用 Step 3.7 Flash 模型 ID。

哪些 Step 3.7 Flash 事实对实现至关重要?

在代码中使用精确的模型 ID,在面向用户的界面中使用显示名称。当前的 Novita 模型页面将 Step 3.7 Flash 列为 StepFun 系列中的聊天模型。

字段 当前 Novita 值
显示名称 Step 3.7 Flash
API 模型 ID stepfun/step-3.7-flash
Novita 显示的模型系列 StepFun
托管类型 无服务器 LLM
端点 chat/completions
输入模态 文本、图像、视频
输出模态 文本
上下文窗口 262,144 个令牌
最大输出令牌数 256,000
列出的功能 无服务器、函数调用、结构化输出、推理
列出的标签 MoE、>100B、NEW、Featured
默认列出的 T1 速率限制 30 RPM 和 50,000,000 TPM

截至 2026 年 6 月 18 日,Novita 为 stepfun/step-3.7-flash 列出了以下令牌价格:

令牌类型 列出的价格
输入令牌 每 100 万个令牌 $0.20
输出令牌 每 100 万个令牌 $1.15
缓存读取输入令牌 每 100 万个令牌 $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": "你是一个简洁的技术助手。"
      },
      {
        "role": "user",
        "content": "创建一个四步检查清单,用于在发布前测试多模态支持机器人。"
      }
    ],
    "max_tokens": 512,
    "temperature": 0.2
  }'

成功的响应遵循 Novita AI 文档所述的聊天补全格式:一个 choices 数组,一条包含生成 content 的消息,created/model 元数据,以及一个 usage 对象(当返回使用情况时)。对于流式响应,API 参考指出使用情况会出现在最终响应块中。

使用此冒烟测试来验证:

  • API 密钥有效。
  • 模型 ID 被接受。
  • 你的客户端能够解析 choices[0].message.content
  • 你的日志记录能够捕获提示、补全和总令牌使用情况,且不存储密钥。
  • 你的超时和重试策略适合提示的大小。

如何从 Python 调用 Step 3.7 Flash?

当设置 Novita 基础 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": "你是一个简洁的技术助手。"},
        {
            "role": "user",
            "content": "总结一个接受截图和长文本工单的客户支持工作流的发布风险。",
        },
    ],
    max_tokens=512,
    temperature=0.2,
)

print(response.choices[0].message.content)

对于应用程序代码,请将其封装在一个小型模型网关中,而不是将原始 API 调用分散在整个代码库中。网关允许你强制执行默认令牌限制、设置按路由的超时、规范化错误,以及在无需更改业务逻辑的情况下切换模型进行评估。

一个实用的生产封装应捕获:

  • modelprompt_tokenscompletion_tokenstotal_tokens
  • 请求延迟和重试次数。
  • HTTP 状态和 API 错误类别。
  • 是否使用了工具、JSON 模式、图像输入或视频输入。
  • 一份经过脱敏处理的请求摘要,排除 API 密钥和敏感用户内容。

这些遥测数据很重要,因为 Step 3.7 Flash 拥有较大的上下文窗口和较高的最大输出限制。这些限制很有用,但生产系统仍应设置明确的 max_tokens,在模型调用之前拒绝过大的用户上传,并监控输出长度。

应如何处理多模态输入?

Novita 将文本、图像和视频列为 Step 3.7 Flash 的输入模态,文本为输出模态。请将其视为支持的能力边界,然后在部署多模态集成之前,根据当前的 Novita 文档或控制台验证确切的负载格式。

对于快速入门,请按以下顺序操作:

  1. 运行纯文本冒烟测试。
  2. 使用当前文档记录的 Novita 聊天消息格式添加一个图像输入。
  3. 在你的实际任务上验证响应质量和响应格式。
  4. 仅在你确认了请求格式、大小限制、延迟和成本行为之后,再添加更大的图像批次或视频。

不要假设每个兼容 OpenAI 的多模态负载格式都能被每个 Novita 托管的模型接受。Step 3.7 Flash 模型页面验证了图像和视频输入支持,但视频请求示例对文件处理、URL 访问、时长、大小和模型特定格式更为敏感。如果当前的文档或控制台示例没有显示你需要的精确视频负载格式,请避免从其他提供商的文档中硬编码一个。

良好的初始图像用例包括:

  • 将支持截图与用户的工单文本一起总结。
  • 从产品截图中提取 UI 状态,用于内部分类助手。
  • 审查视觉 QA 图像并生成文本检查清单。

视频应更保守地测试。从短视频片段开始,记录有效的确切请求形式,捕获延迟和令牌使用情况,并为视频输入被拒绝、过大或对你的路由来说太慢的情况定义回退行为。

函数调用和结构化输出如何适配?

Step 3.7 Flash 被列为支持函数调用和结构化输出。在聊天补全 API 中,函数调用通过 tools 暴露,结构化输出通过 response_format 暴露。

当模型应选择工具并返回 JSON 参数而不是直接回答用户时,请使用函数调用。API 参考文档记录了函数工具,包含 typefunctionfunction.namedescription、JSON Schema parameters 以及可选的 strict 设置。

tools = [
    {
        "type": "function",
        "function": {
            "name": "create_support_ticket",
            "description": "根据用户报告的问题创建内部支持工单。",
            "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": "我上传截图后,支付设置页面返回 500 错误。",
        }
    ],
    tools=tools,
    temperature=0.1,
)

当你的应用程序需要经过验证的 JSON 响应且无需外部工具调用时,请使用结构化输出。Novita 的聊天补全 API 参考文档记录了带有 json_schemaresponse_format,并指出严格模式支持 JSON Schema 的子集。早期模式应保持较小,避免使用奇特的模式特性,并在模型响应验证失败时安全失败。

对于推理,请区分模型能力与请求行为。Step 3.7 Flash 模型页面将推理列为一个功能,而聊天补全 API 参考文档则记录了与推理相关的参数,并带有模型特定的支持说明。在生产解析器中依赖某个推理字段之前,请使用 stepfun/step-3.7-flash 运行一次 API 测试,并处理你的账户收到的确切响应格式。

团队在生产前应如何预算和测试?

使用列出的令牌价格来估算初始预算,然后通过实际使用日志进行验证。Step 3.7 Flash 对输入、输出和缓存读取的定价不同,因此长提示、冗长输出和重复上下文具有不同的成本曲线。如果你正在将 Novita AI 与其他 LLM API 提供商进行比较,2026 年最佳 LLM API 提供商 指南涵盖了定价层级、速率限制和提供商的权衡。对于仍在评估哪个推理提供商适合代理工作负载的团队,为 AI 代理选择推理提供商 详细介绍了关键的评估标准。

例如,一个发送大型支持记录的应用程序可能将其大部分预算花费在输入令牌上。一个要求长计划的代理可能在输出令牌上花费更多。一个重用上下文的检索或记忆工作流,如果缓存行为适用于部署的请求模式,则可能从缓存读取定价中受益。

在生产之前,运行一个包含以下内容的评估集:

  • 短文本提示,用于测试延迟和基线答案质量。
  • 接近预期上限(而非最大上下文窗口)的长上下文提示。
  • 与你实际上传来源和文件处理方式匹配的图像提示。
  • 正确行为是调用函数的工具调用提示。
  • 有意测试无效、缺失和边缘情况字段的 JSON 模式提示。
  • 针对过大输入、缺失媒体、无效 API 密钥和超时的失败案例。

不要仅根据功能列表将所有流量路由到新模型。功能标志告诉你哪些是可用的;评估则告诉你模型在你的工作负载上是否遵循你的指令、模式、安全规则和延迟预算。

常见问题

Step 3.7 Flash 是否可通过 Novita AI 使用?

是的。Novita 将 Step 3.7 Flash 列为无服务器 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 的价格为:每 100 万个输入令牌 $0.20,每 100 万个输出令牌 $1.15,每 100 万个缓存读取输入令牌 $0.04。

Step 3.7 Flash 是否支持函数调用和结构化输出?

是的。Novita 将函数调用和结构化输出列为 Step 3.7 Flash 的功能。对函数调用使用 tools,对结构化输出使用 response_format,然后在生产之前测试你的确切模式和解析器。

我应该从其他提供商复制视频负载吗?

不应该。即使 API 兼容 OpenAI,多模态文件和 URL 处理方式也可能不同。请使用在当前 Novita 文档、控制台示例或你自己针对 stepfun/step-3.7-flash 的成功 API 测试中验证过的负载格式。

推荐阅读