Files
openclaw/docs/providers/stepfun.md
Tianning Li 583ca34bf8 feat(stepfun): add step-3.7-flash model (#88082)
* feat(stepfun): add step-3.7-flash model and make it default

* fix(stepfun): set step-3.7-flash cacheRead cost to 0.04

* fix(stepfun): raise step-3.7-flash maxTokens to context limit

Output was artificially capped at 65536; StepFun docs set max_tokens
default to INF, bounded only by the 256K context window. Raise
step-3.7-flash maxTokens to 262144 on both stepfun and stepfun-plan,
matching contextWindow. Per models.dev anomalyco/models.dev#1903.
step-3.5-flash entries unchanged.

* fix(stepfun): zero step-plan step-3.7-flash cost for plan billing

Step Plan endpoint bills per subscription plan, not per token, matching
the sibling stepfun-plan/step-3.5-flash and step-3.5-flash-2603 entries
which already carry zero cost. Standard stepfun/step-3.7-flash keeps its
per-token rate. Per models.dev anomalyco/models.dev#1903, whose step-plan
providers omit cost entirely.

* docs(changelog): note StepFun 3.7 support

* style(stepfun): format provider table

* fix(stepfun): forward reasoning effort

* fix(stepfun): scope reasoning compat to 3.7

* test(stepfun): keep 3.5 reasoning compat unchanged

* fix(stepfun): carry off fallback through agent turns

* fix(stepfun): use documented token limit field

* fix(stepfun): match chat completions contract

* chore(stepfun): keep changelog release-owned

---------

Co-authored-by: Tianning Li <litianning@stepfun.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-09 07:14:46 +01:00

10 KiB

summary, read_when, title
summary read_when title
Use StepFun models with OpenClaw
You want StepFun models in OpenClaw
You need StepFun setup guidance
StepFun

StepFun ships as an external official plugin (@openclaw/stepfun-provider) with two provider ids:

  • stepfun for the standard endpoint
  • stepfun-plan for the Step Plan endpoint
Standard and Step Plan are **separate providers** with different endpoints and model ref prefixes (`stepfun/...` vs `stepfun-plan/...`). Use a China key with the `.com` endpoints and a global key with the `.ai` endpoints.

Install plugin

openclaw plugins install @openclaw/stepfun-provider
openclaw gateway restart

Region and endpoint overview

Endpoint China (.com) Global (.ai)
Standard https://api.stepfun.com/v1 https://api.stepfun.ai/v1
Step Plan https://api.stepfun.com/step_plan/v1 https://api.stepfun.ai/step_plan/v1

Auth env var: STEPFUN_API_KEY

Built-in catalog

Standard (stepfun):

Model ref Context Max output Notes
stepfun/step-3.5-flash 262,144 65,536 Default standard model
stepfun/step-3.7-flash 262,144 262,144 Multimodal image input support

Step Plan (stepfun-plan):

Model ref Context Max output Notes
stepfun-plan/step-3.5-flash 262,144 65,536 Default Step Plan model
stepfun-plan/step-3.7-flash 262,144 262,144 Multimodal image input support
stepfun-plan/step-3.5-flash-2603 262,144 65,536 Additional Step Plan model

Getting started

Best for general-purpose use via the standard StepFun endpoint.
<Steps>
  <Step title="Choose your endpoint region">
    | Auth choice                    | Endpoint                     | Region        |
    | -------------------------------- | ----------------------------- | -------------- |
    | `stepfun-standard-api-key-intl` | `https://api.stepfun.ai/v1`  | International |
    | `stepfun-standard-api-key-cn`   | `https://api.stepfun.com/v1` | China          |
  </Step>
  <Step title="Run onboarding">
    ```bash
    openclaw onboard --auth-choice stepfun-standard-api-key-intl
    ```

    China endpoint:

    ```bash
    openclaw onboard --auth-choice stepfun-standard-api-key-cn
    ```
  </Step>
  <Step title="Non-interactive alternative">
    ```bash
    openclaw onboard --auth-choice stepfun-standard-api-key-intl \
      --stepfun-api-key "$STEPFUN_API_KEY"
    ```
  </Step>
  <Step title="Verify models are available">
    ```bash
    openclaw models list --provider stepfun
    ```
  </Step>
</Steps>

Default model: `stepfun/step-3.5-flash`
Alternate model: `stepfun/step-3.7-flash`
Best for the Step Plan reasoning endpoint.
<Steps>
  <Step title="Choose your endpoint region">
    | Auth choice                 | Endpoint                                | Region        |
    | ------------------------------ | ------------------------------------------ | -------------- |
    | `stepfun-plan-api-key-intl` | `https://api.stepfun.ai/step_plan/v1`  | International |
    | `stepfun-plan-api-key-cn`   | `https://api.stepfun.com/step_plan/v1` | China          |
  </Step>
  <Step title="Run onboarding">
    ```bash
    openclaw onboard --auth-choice stepfun-plan-api-key-intl
    ```

    China endpoint:

    ```bash
    openclaw onboard --auth-choice stepfun-plan-api-key-cn
    ```
  </Step>
  <Step title="Non-interactive alternative">
    ```bash
    openclaw onboard --auth-choice stepfun-plan-api-key-intl \
      --stepfun-api-key "$STEPFUN_API_KEY"
    ```
  </Step>
  <Step title="Verify models are available">
    ```bash
    openclaw models list --provider stepfun-plan
    ```
  </Step>
</Steps>

Default model: `stepfun-plan/step-3.5-flash`
Alternate models: `stepfun-plan/step-3.7-flash`, `stepfun-plan/step-3.5-flash-2603`

A single auth flow writes region-matched profiles for both stepfun and stepfun-plan, so both surfaces are discovered together after one onboarding run.

Advanced configuration

```json5 { env: { STEPFUN_API_KEY: "your-key" }, agents: { defaults: { model: { primary: "stepfun/step-3.5-flash" } } }, models: { mode: "merge", providers: { stepfun: { baseUrl: "https://api.stepfun.ai/v1", api: "openai-completions", apiKey: "${STEPFUN_API_KEY}", models: [ { id: "step-3.7-flash", name: "Step 3.7 Flash", reasoning: true, input: ["text", "image"], thinkingLevelMap: { off: "low", minimal: "low", xhigh: "high", max: "high" }, cost: { input: 0.2, output: 1.15, cacheRead: 0.04, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 262144, compat: { supportsStore: false, supportsDeveloperRole: false, supportsUsageInStreaming: false, supportsReasoningEffort: true, supportsStrictMode: false, supportedReasoningEfforts: ["low", "medium", "high"], maxTokensField: "max_tokens", reasoningEffortMap: { off: "low", none: "low", minimal: "low", low: "low", medium: "medium", high: "high", xhigh: "high", adaptive: "high", max: "high", }, }, }, { id: "step-3.5-flash", name: "Step 3.5 Flash", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 65536, }, ], }, }, }, } ``` ```json5 { env: { STEPFUN_API_KEY: "your-key" }, agents: { defaults: { model: { primary: "stepfun-plan/step-3.5-flash" } } }, models: { mode: "merge", providers: { "stepfun-plan": { baseUrl: "https://api.stepfun.ai/step_plan/v1", api: "openai-completions", apiKey: "${STEPFUN_API_KEY}", models: [ { id: "step-3.7-flash", name: "Step 3.7 Flash", reasoning: true, input: ["text", "image"], thinkingLevelMap: { off: "low", minimal: "low", xhigh: "high", max: "high" }, cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 262144, compat: { supportsStore: false, supportsDeveloperRole: false, supportsUsageInStreaming: false, supportsReasoningEffort: true, supportsStrictMode: false, supportedReasoningEfforts: ["low", "medium", "high"], maxTokensField: "max_tokens", reasoningEffortMap: { off: "low", none: "low", minimal: "low", low: "low", medium: "medium", high: "high", xhigh: "high", adaptive: "high", max: "high", }, }, }, { id: "step-3.5-flash", name: "Step 3.5 Flash", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 65536, }, { id: "step-3.5-flash-2603", name: "Step 3.5 Flash 2603", reasoning: true, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 65536, }, ], }, }, }, } ``` - `step-3.7-flash` accepts text and image input through OpenClaw. StepFun's API also supports video, which is not yet a model input modality in OpenClaw. - Step 3.7 supports `low`, `medium`, and `high` reasoning effort. Because the model has no non-reasoning mode, `/think off` maps to `low`. - `step-3.5-flash-2603` is currently exposed only on `stepfun-plan`. - Use `openclaw models list` and `openclaw models set <provider/model>` to inspect or switch models. Overview of all providers, model refs, and failover behavior. Full config schema for providers, models, and plugins. How to choose and configure models. StepFun API key management and documentation.