Skip to content
围炉聊科技微信公众号二维码关注公众号,获取新文章推送
添加我为微信朋友扫描二维码,添加我为朋友

免费的TTS API——零成本基建系列

前面几期我们整理了长期免费的大模型 API、文生图 API、语音合成与识别 API,这期继续零成本基建系列,单独介绍一家很适合做「中文 TTS + 声音克隆」的服务:Inworld TTS

老规矩,先明确这里的「免费」边界:它不等于永久、无限量、免登录或不绑卡,而是官方截止目前存在持续性的免费额度,适合做原型验证、个人工具和低频任务,不建议直接拿来跑生产级高并发。

Inworld 做游戏 NPC 实时语音起家,TTS 是它的第一方模型(inworld-tts-2)。它的 On-Demand(按需)免费档每月自带最多 70 分钟 TTS(或 400 分钟 STT)的免费量,声音克隆和声音设计也一并免费开放,而且不需要绑卡——这一点对只想验证流程的个人开发者非常友好。

项目说明
服务Inworld TTS(inworld-tts-2)+ 零样本声音克隆
免费规则On-Demand 档每月最多 70 分钟 TTS(或 400 分钟 STT)免费
并发限制并发合成 5、Voice cloning API 2 次/分钟
计费模型TTS 按百万字符计费,Playground 与 API 共用额度
试用结果中文声音克隆成功;中文句子合成约 5.7 秒 MP3
检索时间2026-09-07

免费额度和限制

开通后注册即用,官方定价页里 On-Demand 免费计划写得非常直白:Start free,每月含最多 70 分钟 TTS(或 400 分钟 STT),包含 100 个自定义声音、声音克隆与声音设计能力。

1.00

官方计费文档里也明确写了原文:

On-Demand accounts include up to 70 minutes of TTS for free.

1.00

几点容易误读的限制,提前说明:

  • 「70 分钟」是免费量上限,不是无限量。超出后要么等账单周期重置,要么按百万字符付费(TTS-2 起价约 $25/100 万字符)。个人拿来做自动化朗读、AI 播客试水,一个月几十上百句话完全够用。
  • 并发很低。On-Demand 档并发合成只有 5,Voice cloning/design API 每分钟 2 次。批量批量地跑肯定会被限流,适合串行、低频的调用方式。

各档位的 TTS 限制官方这样列:

限制项On-DemandCreatorBuilderDeveloperGrowth
Concurrent generations51050150500
WebSocket connections5010050015005000
Voice design API (req/min)2351020
Voice cloning API (req/min)2351020

1.00

表格数据来自官方计费文档,检索时间 2026-09-07,档位定价与额度后续可能调整,以官网为准。

注册拿 Key 很简单:访问 https://platform.inworld.ai 用邮箱注册,进入 API Keys 页面创建一个 Key 即可。建议Key 直接存到环境变量 INWORLD_API_KEY,下文的脚本直接读。

第一步:声音克隆(免费)

Inworld 的声音克隆是零样本的,你不用训练,只需要一段目标音色的参考音频(官方建议 5~15 秒,我用了一段 41 秒的 m4a、取前 20 秒)。

先用 ffmpeg 把参考音频转成单声道 24kHz 的 wav(这是它的内部采样要求):

bash
ffmpeg -i myvoice.m4a -t 20 -ac 1 -ar 24000 myvoice_20s.wav

然后调克隆接口。注意一个容易踩的坑:Inworld 的 API 几经迭代,当前新版接口全部使用 camelCase 字段(voiceSamplesvoiceIdaudioConfig),网上很多旧教程里的 snake_case(voice_idaudio_config)已经对不上新版了;鉴权也很特殊,直接用 API Key 当作 HTTP Basic 凭证即可(Authorization: Basic <你的KEY>,前面不拼用户名)。

python
import base64, json, os, urllib.request

API = "https://api.inworld.ai"
KEY = os.environ["INWORLD_API_KEY"]

def clone_voice(wav_path, display_name="my_voice"):
    audio = base64.b64encode(open(wav_path, "rb").read()).decode()
    body = {
        "displayName": display_name,
        "langCode": "ZH_CN",          # 中文声音
        "voiceSamples": [{"audioData": audio}],
    }
    req = urllib.request.Request(
        API + "/voices/v1/voices:clone",
        data=json.dumps(body).encode(),
        headers={"Authorization": "Basic " + KEY, "Content-Type": "application/json"},
        method="POST",
    )
    with urllib.request.urlopen(req) as resp:
        return json.loads(resp.read())["voice"]["voiceId"]

print(clone_voice("myvoice_20s.wav", "myvoice_clone"))

实测返回一个可复用的 voiceId(形如 balmy-topaz-3458__myvoice_clone)。克隆一次,之后就一直复用这个 ID,不用每次重复上传参考音频。

第二步:用克隆的声音合成中文(免费)

拿到 voiceId 后,合成就只剩一次 POST。指定模型 inworld-tts-2,音频格式用 MP3、24kHz:

python
import base64, json, os, urllib.request

API = "https://api.inworld.ai"
KEY = os.environ["INWORLD_API_KEY"]

def speak(text, voice_id, out="out.mp3"):
    body = {
        "text": text,
        "voiceId": voice_id,
        "modelId": "inworld-tts-2",
        "deliveryMode": "BALANCED",
        "audioConfig": {"audioEncoding": "MP3", "sampleRateHertz": 24000},
    }
    req = urllib.request.Request(
        API + "/tts/v1/voice",
        data=json.dumps(body).encode(),
        headers={"Authorization": "Basic " + KEY, "Content-Type": "application/json"},
        method="POST",
    )
    with urllib.request.urlopen(req) as resp:
        audio = base64.b64decode(json.loads(resp.read())["audioContent"])
    open(out, "wb").write(audio)
    print("OK ->", out)

speak("这是使用 Inworld TTS 免费额度合成的中文语音测试。", "你的voiceId")

实测用上面克隆出来的声音合成这一句,得到约 5.7 秒的 MP3,音色和参考音频接近,中文发音自然,整体流程 6 秒内完成。

一个绕不开的合规细节

这套免费 API 用起来几乎是无感的,但它有一个当前无法通过参数关闭的规则:平台对中国区输出的音频会在末尾强制追加一句可听的声明「本音频由人工智能生成」,依据是国内《AI生成合成内容标识办法》(2025-09-01 起施行)。这条声明是平台侧加上的,官方文档没有提供关闭开关,只有企业/商业授权才能走合规白名单。

除此之外,音频里还带不可感知的隐式水印,以及 MP3 元数据里的 AIGC 标识——这部分是防篡改的,后处理裁剪也挪不掉。

如果你的使用场景不允许结尾带这句声明(比如导出素材前想裁掉),只能走后处理裁剪:用波形能量分析定位正文结束与声明开始的分界(我测试的这条音频正文止于约 7.95 秒、声明从 8.53 秒开始),然后裁剪:

bash
ffmpeg -i in.mp3 -t 8.20 -c copy out.mp3

怎么选

Inworld TTS 在零成本基建系列里的定位很清晰:它是目前少数「中文合成 + 声音克隆 + 免费额度」三者齐全的入口。相比上期的 Azure F0(每月 50 万字符)、Cloudflare Workers AI(每天 10,000 Neurons),Inworld 的优势是:

  • 注册即可用,不需要绑卡,免费额度是 70 分钟 TTS / 月,拿来做个人音频工具、AI 播客试水、视频配音原型、Agent 语音回复都够;
  • 零样本声音克隆免费,几秒钟就能把人声克隆成自己的合成音,适合做「用自己的声音说话」这类产品化验证;
  • API 形态简单,克隆一次 + 一条合成接口,整个链路几十行 Python 就能跑通。

短板也很明确:免费档并发低(合成 5)、有中国区强制声明尾音、商用受限。如果你的场景是高并发或需要完全干净的商用音频,还是去买付费档或看其他方案。

零成本基建的核心是「先跑起来再说」:70 分钟/月的免费量,足够把你想验证的语音功能完整搭一遍了。你可以关注我获取更多的零成本基建资讯。