v0.1.0
Highlights
First tagged release of nr_repurpose — a TYPO3 backend module that turns a webpage URL or an uploaded PDF into ready-to-publish content formats. An editor creates a job, the document is distilled into a single content brief, and three generator families produce the artifacts asynchronously:
- Podcast — a dialogue script with one to three persona-driven speakers (persona snippets contribute name, character and optionally an own TTS voice; two hosts by default), synthesized turn by turn via text-to-speech, stitched into one audio file with ffmpeg, delivered with a transcript and WebVTT captions. Transient synthesis failures are retried instead of failing the episode.
- Schaubild — three diagram variants rendered from branded HTML templates in headless Chromium, each composited over an AI-generated background.
- Instagram story — a multi-slide 9:16 carousel with optional AI-generated backgrounds.
Editorial control
Generation is steered through nr-llm's prompt-snippet library: the job form offers persona, tone, audience, image-style and layout selectors with descriptive labels, and layout snippets carry an imageSize metadata key that drives gpt-image-2 output dimensions per channel (skyscraper, wide, square, Facebook, X). The job detail view shows fine-grained live progress while a job runs and, for every artifact, the complete creation parameters — the exact system, user and image prompts, the models, image sizes and voices used.
Governance built in
Every text, image and speech call goes through nr-llm's Provider → Model → Configuration tiers (nr-llm ≥ 0.12.0), so token usage and cost are tracked centrally and attributable per model and per configuration. API keys are stored in nr-vault — never in extension configuration or templates.
Operations
Jobs run through Symfony Messenger (doctrine transport) with a nr_repurpose:generate CLI command for manual runs. GD compositing pre-flights its memory requirement and fails a single artifact gracefully instead of taking the worker down. Tests, PHPStan (level 10), CGL and Rector run via the Docker-isolated Build/Scripts/runTests.sh; releases ship with SBOMs, Cosign signatures and SLSA provenance.
Requirements
TYPO3 14.3, PHP 8.3+, netresearch/nr-llm ^0.12.0 (which brings netresearch/nr-vault ^0.10.0). Podcast and image generation additionally need ffmpeg, Chromium with playwright-core, and poppler-utils for PDF ingestion on the worker host.
Installation
The package is not yet published on Packagist. Until then, add the repository explicitly:
composer config repositories.nr-repurpose vcs https://github.com/netresearch/t3x-nr-repurpose
composer require netresearch/nr-repurpose:^0.1.0Publication status
- TER: skipped
- Packagist: skipped
- Documentation: skipped
Security
All release artifacts are signed with Sigstore keyless signing.
Verify signatures
cosign verify-blob \
--bundle nr-repurpose-0.1.0.zip.sigstore.json \
--certificate-identity-regexp "https://github.com/netresearch/.*" \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
nr-repurpose-0.1.0.zipVerify checksums
sha256sum -c checksums.txtSoftware Bill of Materials (SBOM)
SBOMs are provided in both SPDX and CycloneDX formats for supply chain transparency.