feat: ElevenLabs-Voice-Liste + Fehlerdetails in Audio-Batch-Ergebnissen

- GET /api/tts-settings/voices/available listet die Account-Stimmen
  (Grundlage für Voice-Auswahl im CMT statt Freitext-IDs)
- Audio-Batch/-Fill-Fehler enthalten jetzt das ElevenLabs-Detail
  (z.B. voice_not_found) statt nur 'ElevenLabs error'

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 21:00:27 +02:00
parent 985119bb03
commit f5b69a9213
4 changed files with 27 additions and 4 deletions

View File

@@ -5,7 +5,7 @@ const { query } = require('../db');
const { LANGS, fillMissingRow } = require('./translate');
const { translateWordGroup } = require('./pairContent');
const { generatePairsForObject, persistPair } = require('./generatePairs');
const { generateAndStore } = require('../routes/audios');
const { generateAndStore, describeError } = require('../routes/audios');
const queue = [];
let running = false;
@@ -167,7 +167,7 @@ async function runPicture(pictureId) {
await generateWithBackoff(u);
progress.audiosDone++;
} catch (err) {
failures.push(`${u.source_table}/${u.source_field}/${u.language}: ${err.message}`);
failures.push(`${u.source_table}/${u.source_field}/${u.language}: ${describeError(err)}`);
}
await setStep(pictureId, 'audio', progress);
}