阶跃星辰开放平台把 StepAudio 3 语音系列标成限时免费,截止北京时间 2026 年 11 月 8 日 23:59:59。11 月 9 日 00:00:00 起按定价表计费。覆盖实时语音、TTS、音频生成、音乐和 ASR,开放 API,个人账号要先实名。

截止日和正式价

出处是官方 API 定价。原文写的是:StepAudio 3 系列模型限时免费至北京时间 2026 年 11 月 8 日 23:59:59,自 2026 年 11 月 9 日 00:00:00 起按下表价格正式计费。同一段还说,部分语音模型会随算力成本调整,新价同样从 11 月 9 日 0 点生效,此前调用仍按原价。

定价表里的正式价(人民币)大致是:

  • stepaudio-3-realtime:0.65 元/会话分钟(39.00 元/会话小时),用户说话和 agent 说话都计入,不足 1 分钟按 1 分钟
  • stepaudio-3-tts 语音合成、stepaudio-3-gen 音频生成:95.00 元/百万输入文本计费字符;音色复刻/设计各 10.00 元/个音色
  • stepaudio-3-music:无音频输入 16.00 元/输出音频小时,有音频输入 32.00 元/输出音频小时
  • stepaudio-3-asr-max:7.50 元/音频小时

计费字符规则写在定价页:1 个英文字母算 1 个字符,1 个日文字符算 2.5 个,1 个汉字算 3 个,数字、标点、空格各算 1 个。

模型页和定价表的 Model ID 不完全一致。Realtime、Chat、Gen、Music 的模型页仍写限免期用带 -preview 的名字,例如 stepaudio-3-realtime-preview、stepaudio-3-gen-preview、stepaudio-3-music-preview,并说明到期后预览版下线、换成正式付费版。TTS 文档和语音合成 API 当前用的是 stepaudio-3-tts。调之前对着对应模型页抄一遍 ID,别混用。

怎么拿 Key,限速多少

快速开始写明:个人账号先完成个人实名认证,再在控制台「账户管理 > 接口密钥」创建 API Key。Base URL 是 https://api.stepfun.com/v1。

API 速率限制按累计现金充值分档,代金券不计入。个人 V0(累计充值不足 ¥100)是并发 5、RPM 100、TPM 500,000。资源打满时官方可能临时下调各档。

TTS 非流式接口是 POST /v1/audio/speech,单次输入最多 1000 字符,官方音色示例常用 cixingnansheng。curl 大致这样:

curl https://api.stepfun.com/v1/audio/speech \
  -H "Authorization: Bearer $STEPFUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "stepaudio-3-tts",
    "input": "智能阶跃,十倍每个人的可能。",
    "voice": "cixingnansheng",
    "response_format": "mp3"
  }' \
  --output step.mp3

用 Spring Boot 接 TTS

这里用 Spring Boot 4.1.1,JDK 21,依赖 spring-boot-starter-web 和 spring-boot-starter-restclient,不走 SDK。

stepfun.api-key=${STEPFUN_API_KEY:}
stepfun.model=stepaudio-3-tts
stepfun.voice=cixingnansheng
server.port=8080
package com.example.stepfun;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestClient;

@Component
public class StepfunTtsClient {

    public record SpeechRequest(String model, String input, String voice, String response_format) {}

    private final RestClient restClient;
    private final String model;
    private final String voice;

    public StepfunTtsClient(RestClient.Builder builder,
                            @Value("${stepfun.api-key:}") String apiKey,
                            @Value("${stepfun.model:stepaudio-3-tts}") String model,
                            @Value("${stepfun.voice:cixingnansheng}") String voice) {
        RestClient.Builder b = builder.baseUrl("https://api.stepfun.com");
        if (!apiKey.isBlank()) {
            b = b.defaultHeader("Authorization", "Bearer " + apiKey);
        }
        this.restClient = b.build();
        this.model = model;
        this.voice = voice;
    }

    public byte[] speak(String text) {
        SpeechRequest body = new SpeechRequest(model, text, voice, "mp3");
        return restClient.post()
                .uri("/v1/audio/speech")
                .contentType(MediaType.APPLICATION_JSON)
                .body(body)
                .retrieve()
                .body(byte[].class);
    }
}
@RestController
public class TtsController {

    private final StepfunTtsClient client;

    public TtsController(StepfunTtsClient client) {
        this.client = client;
    }

    @GetMapping("/tts")
    public ResponseEntity<?> tts(
            @RequestParam(defaultValue = "智能阶跃,十倍每个人的可能。") String text) {
        try {
            byte[] audio = client.speak(text);
            return ResponseEntity.ok()
                    .header(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=step.mp3")
                    .contentType(MediaType.valueOf("audio/mpeg"))
                    .body(audio);
        } catch (HttpStatusCodeException e) {
            return ResponseEntity.status(e.getStatusCode())
                    .contentType(MediaType.APPLICATION_JSON)
                    .body(e.getResponseBodyAsString());
        }
    }
}

编译输出:

[INFO] --- compiler:3.15.0:compile (default-compile) @ stepfun-tts-demo ---
[INFO] Nothing to compile - all classes are up to date.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.488 s
[INFO] Finished at: 2026-11-02T08:14:15+08:00
[INFO] ------------------------------------------------------------------------

本地启动日志:

2026-11-02T08:14:17.585+08:00  INFO ... Tomcat started on port 8080 (http) with context path '/'
2026-11-02T08:14:17.596+08:00  INFO ... Started StepfunTtsApplication in 1.357 seconds

这次没有 StepFun 账号的 Key,所以没拿到真实音频。不设 STEPFUN_API_KEY 时,请求打到 api.stepfun.com 的返回是:

{"error":{"message":"Incorrect API key provided","type":"invalid_api_key"}}
HTTP 401

同类 TTS 限免还可以看 HeyGen Voice Turbo 文本转语音免费到 11 月 30 日。那边是单独的 -free 模型名,写错就照常计费;阶跃这条是定价页给整个 StepAudio 3 系列开的窗口,截止日写在 11 月 8 日。

— 感谢阅读 —
广告

一起交流

分享你的思考,让讨论更进一步。