Skip to content

feat(stepfun-ai): add international StepFun platform#1814

Merged
rekram1-node merged 1 commit into
anomalyco:devfrom
neonn0d:feat/stepfun-ai
May 21, 2026
Merged

feat(stepfun-ai): add international StepFun platform#1814
rekram1-node merged 1 commit into
anomalyco:devfrom
neonn0d:feat/stepfun-ai

Conversation

@neonn0d
Copy link
Copy Markdown
Contributor

@neonn0d neonn0d commented May 20, 2026

StepFun runs two platforms with separate accounts: platform.stepfun.com (already covered by providers/stepfun) and platform.stepfun.ai. Keys are not interchangeable — .ai keys get rejected by api.stepfun.com as invalid_api_key.

Stepfun's Open Code integration guide tells users to point opencode at https://api.stepfun.ai/step_plan/v1. This adds providers/stepfun-ai for that endpoint and symlinks the shared chat models. Same shape as moonshotai-cn.

Verification

With a live .ai key:

POST https://api.stepfun.com/v1/chat/completions          → 401 invalid_api_key
POST https://api.stepfun.ai/step_plan/v1/chat/completions → 200 OK

End-to-end against opencode with provider.stepfun.options.baseURL = "https://api.stepfun.ai/step_plan/v1":

$ opencode run -m stepfun/step-3.5-flash-2603 "Reply with exactly: PONG"
> build · step-3.5-flash-2603
PONG

StepFun runs two separate platforms with distinct accounts/keys:
platform.stepfun.com (China, already covered by providers/stepfun) and
platform.stepfun.ai (international). Keys are not interchangeable
across the two — .ai keys are rejected by api.stepfun.com as
invalid_api_key.

Stepfun's own opencode integration guide instructs users to point at
https://api.stepfun.ai/step_plan/v1. This adds providers/stepfun-ai
for that endpoint, symlinking the shared chat models. Follows the
moonshotai / moonshotai-cn pattern.
@rekram1-node
Copy link
Copy Markdown
Collaborator

are we certain they are different? I only see 1 plan in those docs

@neonn0d
Copy link
Copy Markdown
Contributor Author

neonn0d commented May 21, 2026

hey, thanks for taking a look. they are two different platforms, not two plans. step plan is just one subscription, but it only exists on the .ai side.

stepfun's own opencode docs confirm the split : https://platform.stepfun.ai/docs/en/step-plan/integrations/open-code

Whether the key belongs to the correct environment (.ai / .com)

so a key from platform.stepfun.ai cannot authenticate against api.stepfun.com, and that is what this PR is trying to address. let me know if you want me to change anything

@rekram1-node rekram1-node merged commit 49840c0 into anomalyco:dev May 21, 2026
1 check passed
msullivan added a commit to vercel-labs/modelsdotdev-python that referenced this pull request May 29, 2026
…#5)

models.dev added a second provider named "StepFun":
anomalyco/models.dev#1814

We could consider suggesting upstream that they disambiguate the names
but this PR will fix us.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants