我做了个站,叫 Dovetune: dovetune.com ,把用户写下的一段真实记忆变成原创歌曲。歌词可以编辑,生成后能免费试听完整一首,决定要不要付费带走。 为什么做 我想试试,送给家人的歌能不能从一件小事开始,而不是满篇“感谢你一直陪伴”。比如“妈妈六年里每个周六送我去训练,自己带着书在车里等”,我觉得这一个画面就比很多祝福具体。做这个站,就是想看看这样的记忆放进歌里,听起来会是什么感觉。 踩的两个坑 第一个坑,是把账号限流当成了模型故障。 Claude 返回 429,我第一反应是这个模型暂时不能用了,马上切 Gemini,结果还是 429。我以为换了模型就换了一条路,其实两个请求走的还是同一个转售账号。 后来翻文档,才看到两句关键说明:限制按账号计算,被拒绝的请求不会进入队列。也就是说,这个账号下的模型共用限流池;账号还在被限的时候,切模型没有用,立即重试也不会让请求排队等着执行。 这让我重新看了一遍“失败就换模型”的降级逻辑。它看起来有备用方案,实际上没有区分失败原因。对这个供应商来说,账号限流时如果要继续处理,就得换供应商;上游返回 500,才考虑在原供应商里切模型。接转...