Files

13 lines
1.7 KiB
TypeScript

import { VersionInfo } from '@start9labs/start-sdk'
export const v_0_2_20 = VersionInfo.of({
version: '0.2.20:0',
releaseNotes: {
en_US: 'Big speed win on long-audio transcription via Gemini, plus a fallback fix. (1) The Gemini transcribe path was previously a single generateContent call against the entire audio file — for a 173-min podcast, that meant one giant call to Google that took 7-8 minutes. Now the relay splits any audio longer than 30 min into ~30-min chunks via ffmpeg, uploads each to Gemini File API in parallel (6 concurrent), and calls generateContent for each chunk independently. Each chunk\'s transcript has its [MM:SS] timestamps shifted by the chunk\'s start offset before stitching, so the final transcript is a single chronological stream — downstream parsers see the same shape as before. On a 173-min audio: ~7-8 min single-call → ~2-3 min parallel-chunked (limited by the slowest chunk, not the sum). Short audio (≤30 min) still takes the original single-call fast path. (2) Fallback chain now walks LATERALLY through other models when the primary fails, not just downward. Previously, picking gemini-3.1-flash-lite (which sits at the bottom of the analysis chain) left zero fallbacks: a single 503 from Google\'s capacity would fail the entire analyze call. Now the chain walks primary → everything-below → everything-above as a last-resort tier, so a flash-lite 503 falls through to flash → flash-preview → 2.5-pro → 3.1-pro instead of failing the user\'s job. Operators concerned about runaway cost from auto-falling-up can monitor in the dashboard.',
},
migrations: {
up: async ({ effects }) => {},
down: async ({ effects }) => {},
},
})