Repository navigation
feat: support fixed-reference narration through remote MCP - #10
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The local Drama adapter exposed text-only previews, so the picture-book film could not reuse one narrator across takes. MCP audio generation now accepts a project-owned reference audio Asset and exact transcript; shared preflight resolves the local media and the normal worker forwards the conditioning to the configured Drama 3 INT4 service. Each take records the reference Asset/hash, transcript, parameters and input fingerprint. Unconditioned requests remain supported.
The workstation's remote gateway intentionally blocks host-path import. A separate chunked MCP byte-upload tool imports explicitly supplied media through the existing project Asset service, validates length/SHA-256, resumes identical chunks and retains receipts. It does not expose arbitrary host paths, change gateway authentication, or create separate project state.
This is an installation-specific local model/remote production integration and is maintained in this Fork. The generic timeline audio gain bug is handled separately in Fork PR #9 and upstream BeatAPI#24.
Validation: full TypeScript suite 453 passed / 0 skipped with FFmpeg configured, after including the audio regression tests from main; typecheck, i18n and production build pass; three Python narration tests pass. Provider tests verify UI/MCP parity, project ownership, forged-path rejection and transcript pairing; upload tests verify chunk retries, digest and boundary validation. Tests use temporary project state without model inference. Live fixed-voice generation and MCP-to-UI verification remain to be run after installation/restart. No generated assets, machine configuration or credentials are committed.