tts-voice-creator-clone-and.../routes
mARTin-B78 c81ae28da2
Some checks are pending
Test and SonarQube / quality (push) Waiting to run
feat(magazine): add figure/chart/table description generation and spoken narration
Adds a "Describe" action per figure in article review: sends the cropped
image to the configured vision engine (with fallback) for a type-aware
one- or two-sentence description -- a chart gets a prompt about what it
measures and its trend, a table about headings and what stands out, etc.
Editable before approval. A new "Read figure descriptions" toggle in the
reading controls speaks these where they occur; purely additive, off by
default, and a figure with no description behaves exactly as before.

New core/magazine.py describe_visual_region()/_chain() reuse the same
reliability guards as page OCR (repetition-loop detection, sentence-
boundary truncation). New routes: POST .../images/{id}/describe
(background job), PATCH .../images/{id} (manual edit), descriptions=1 on
the article-text endpoint.

Live-verified end to end against the ingested c't KI Wissen 2026
magazine. Also found and documented a real, config-dependent limitation:
the currently-configured primary vision engine is transcription-only and
returns empty content for any descriptive prompt (confirmed with three
different prompts) -- not a code defect, but description generation
needs a genuinely caption-capable engine reachable as the fallback.

251 tests passing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 17:39:57 +02:00
..
__init__.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
admin.py Release v1.22.2 2026-09-03 16:12:02 +02:00
characters.py feat: validate canonical image asset digests 2026-09-04 09:53:50 +02:00
conversation.py fix: recover character sheet requests from gateway 405 2026-09-09 06:49:52 +02:00
docker.py fix(engines): resolve LiteLLM card's own key server-side instead of a stale global one 2026-09-14 13:58:54 +02:00
history.py feat: record protected generation history 2026-09-04 08:07:42 +02:00
jobs.py feat: expand resource diagnostics 2026-09-04 10:42:08 +02:00
library.py security: validate upload filenames and archive paths 2026-09-04 08:04:26 +02:00
magazine.py feat(magazine): add figure/chart/table description generation and spoken narration 2026-09-14 17:39:57 +02:00
reader.py Refine character sheets and live output UI 2026-07-09 19:47:16 +02:00
recovery.py security: harden P0 boundaries and recovery 2026-09-04 07:33:41 +02:00
rehearsals_db.py Release v1.22.3 2026-09-04 07:28:26 +02:00
settings.py fix: prevent caching of API key handoff 2026-09-04 08:52:46 +02:00
sources.py perf: bound fish audio response cache 2026-09-04 07:53:17 +02:00
stt.py feat: distinguish provider configuration and health 2026-09-04 11:35:52 +02:00
tts.py feat: distinguish provider configuration and health 2026-09-04 11:35:52 +02:00