TTS (CrispASR): send consent_attestation for voice cloning#11504
Merged
Conversation
CrispASR v0.7.0 gates voice cloning behind a consent attestation and returns HTTP 400 consent_required without it. VoxCPM2 already sent the field; apply the same to the remaining cloning engines so they work against 0.7.0: - F5-TTS, IndexTTS, VibeVoice: always clone, so always send it - CosyVoice3: only inside the isClone branch - Qwen3: only for CustomVoice (reference WAV); VoiceDesign does not clone The user supplies their own reference voice by importing a WAV into SE, which is the act being attested. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CrispASR added a `spoken_disclaimer` request flag (default true) that, when false, suppresses the audible AI-disclosure prefix it otherwise prepends to cloned audio. The inaudible watermark + C2PA provenance metadata remain embedded regardless, so machine-readable provenance is unaffected. Send `spoken_disclaimer = false` from every cloning engine (F5-TTS, IndexTTS, VibeVoice, CosyVoice3, Qwen3 CustomVoice, VoxCPM2). SE surfaces the AI-generated nature in its own UI, so the spoken prefix would only corrupt the synthesized subtitle audio. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Problem
CrispASR v0.7.0 added a consent gate for voice cloning: any
/v1/audio/speechrequest that clones a reference voice must include aconsent_attestationfield, or the server returns HTTP 400consent_required. Without this, every cloning synth fails, e.g.:VoxCPM2CrispAsralready sent the field; the other cloning engines never did, so they all break identically on 0.7.0.Fix
Send the same
consent_attestationvalue (matching VoxCPM2's existing wording) on every cloning request:if (isClone)branch onlyThe user supplies their own reference voice by importing a WAV into SE, which is the act being attested.
Notes
🤖 Generated with Claude Code