From e23a235ffaf137a16458cb74b9ea8332d32ed970 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Tue, 3 Mar 2026 12:10:01 +0300 Subject: [PATCH] fix(web-test): limit ElevenLabs TTS concurrency to 2 and improve error logging Co-Authored-By: Claude Opus 4.6 --- .claude/skills/web-test/scripts/browser.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/web-test/scripts/browser.mjs b/.claude/skills/web-test/scripts/browser.mjs index d6e464c0..a51fbc86 100644 --- a/.claude/skills/web-test/scripts/browser.mjs +++ b/.claude/skills/web-test/scripts/browser.mjs @@ -2714,7 +2714,7 @@ export async function addNarration(videoPath, opts = {}) { try { // Phase 1: Generate TTS audio for each caption const ttsFiles = []; - const BATCH_SIZE = 5; + const BATCH_SIZE = (opts.provider === 'elevenlabs') ? 2 : 5; for (let batchStart = 0; batchStart < captions.length; batchStart += BATCH_SIZE) { const batch = captions.slice(batchStart, batchStart + BATCH_SIZE); const promises = batch.map(async (cap, batchIdx) => { @@ -2727,7 +2727,7 @@ export async function addNarration(videoPath, opts = {}) { try { await ttsProvider(cap.speech, ttsFile, ttsOpts); } catch (retryErr) { - warnings.push(`TTS failed for caption ${idx}: ${retryErr.message}`); + warnings.push(`TTS failed for caption ${idx}: ${retryErr.message || retryErr.cause?.message || String(retryErr)}`); // Generate 1s silence as placeholder generateSilence(ttsFile, 1, ffmpegPath); }