mirror of
https://github.com/HeyPuter/puter.git
synced 2026-11-05 05:24:13 +00:00
* fix(ai): meter converted audio from reported output duration * fix(ai): size undocumented voice changer output formats as the default * fix(ai): skip WAV headers when metering and renew streamed charge holds A wav_* output's RIFF header was counted as samples, rounding a 3 s clip up to 4 s. The streamed-charge hold now renews until the charge lands, so a slow reader can't outlast it. * fix(ai): time Opus output by its pages and renew holds through slow opens Opus is variable bitrate, so a mostly silent clip billed far under its length at the nominal rate; its length now comes from the last Ogg page's granule position. The streamed-charge hold renews from before the upstream opens, since opening can run as long as the hold's TTL, and is released even if recording the charge throws. Speech-to-text extra_body can no longer override response_format or stream, which billing reads.