世界杯四分之一决赛激战正酣,一个程序员对着屏幕大喊大叫,脑子里冒出一个念头:能不能把这种情绪装进一段音频里?于是,一个命名为 PassionCast 的网页工具诞生了。它不产生 “你的球队真了不起” 这种敷衍的赞美,而是真的把球队的历史、球员、宿敌关系织进六十秒的 AI 评论里。选印度、点“敌对之火”,你会听到一段喘不上气的解说,念叨着印巴板球与足球交织的紧张感,名字和背景都落在实处;换成阿根廷,就是马拉多纳、蓝白军团、迭戈的遗产。这就是作者想要的。

这个应用目前托管在 GitHub Pages 上,零后端、零数据库,一个页面、原生 JavaScript,打包工具是 Vite。用户不需要下载任何东西,页面已经内置了三段预生成样本:阿根廷的敌对之火(比赛评论员声线)、印度的赛前鼓动(史诗叙述者声线)、英格兰的心碎时刻(史诗叙述者声线),直接点播放就行。如果想自己定制,则需要免费的 Gemini 和 ElevenLabs 两个 API 密钥,整个设置过程大概三十秒就能跑通。

打开网易新闻 查看精彩图片

操作路径非常简单:从 2026 世界杯 48 支参赛队里选定主队,再选一种激情模式——赛前动员、荣耀瞬间、宿敌烈焰、心碎、球迷颂歌或者自定义输入;接着挑一个声音——史诗叙述者、比赛评论员或诗意讲述者。点下生成键后,Gemini 2.0 Flash 负责写脚本,ElevenLabs 负责把它念出来,浏览器直接回放。

实现这个看似轻巧的流程,作者把绝大部分时间花在调教 Gemini 上。起初把温度设在 0.7,输出的文案干巴巴的:“你的队伍拥有骄傲的历史,球迷们很兴奋。” 毫无感染力。把温度拉到 0.9,再搭配一个详细的系统提示,注入队名、对手信息、该国的足球文化以及所需的叙事风格——解说员式、讲述者式还是诗人式——文本才开始像那么回事。

另一个关键约束是字数。作者发现 150 到 200 个单词是最佳甜区,刚好能在 45 至 60 秒的音频里从容表达。太短显得空洞,太长则 ElevenLabs 会语速急促,整段音频被拖得沉闷。没有后端的设计意图很明确:谁都可以分叉仓库、塞进自己的密钥,三十秒内跑起来。整个调用链路就是浏览器发起请求,Gemini 返回文案,再把文案推给 ElevenLabs 合成语音,最后播放。

这个应用最让人兴奋的地方不在于技术多么高深,而在于它非常直接地捕捉到了看球时的那种社区式狂热。没有主播、没有演播室,一个人、两个 API,就让一场虚拟的解说变得像身边朋友在耳边怒吼。对于想快速验证想法的开发者来说,这种架构同时也提供了一个低门槛的范本:把生成式模型的能力嵌入一句提示词和一个 HTML 文件里,就能在特定场景里创造出新鲜的情绪价值。