Skip to content

feat(media-use): the voice credits line names the real source, your recording or any vendor - #7380

Merged
miguel-heygen merged 1 commit into
mainfrom
feat/voice-credit
Nov 7, 2026
Merged

miguel-heygen merged 1 commit into
mainfrom
feat/voice-credit

Conversation

@miguel-heygen

@miguel-heygen miguel-heygen commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator

What

audio_meta.json gets voice_credit, the credits line for the voices of a run, naming where each really came from: "Voice: your own recording", "Voice: AI-generated by ElevenLabs" (or HeyGen, Google Gemini, Kokoro), or a mix joined with "; ". The style-sampling remix rule now points at it instead of a HeyGen-only wording.

Why

Discord, "Use your own voice recording": the credits line could not name another vendor. Root cause: no code wrote a credits line at all. The only rule was prose in skills/style-sampling/references/remix.md:26 ("name it in the credits as AI-generated", written for a HeyGen stock voice), so whatever voice was used, the credit was HeyGen's wording. The engine knows the real source (tts_provider, and source: "recording" per voice from #7377), so it now writes the line and the skill uses it as is.

Related work

Builds on #7377 (merged); it uses that PR's voice.source. Refs the same Discord report as #7366 (merged).

How

New skills/media-use/audio/scripts/lib/voice-credit.mjs (one map of provider to vendor name, one function). audio.mjs writes voice_credit into the meta it already writes. Searched for an existing credits writer: none (grep -rn "credit" skills/media-use/audio finds only SFX licence credits in sfx.mjs/openverse.mjs, a different thing).

Test plan

  • fails without the fix: skills/media-use/audio/scripts/lib/voice-credit.test.mjs "a generated voice is credited to the vendor that made it, not always HeyGen" and "a recording is credited as the person's own, and a mix names both" (both fail when every credit says HeyGen), plus the voice_credit assertion in recording.test.mjs.
  • 30 node tests pass on a remote box, 0 skipped; oxfmt and oxlint clean; skills manifest regenerated; skill mirror OK.
  • Not run: a real ElevenLabs or Gemini run (the credit text comes from the provider name the engine already records).
  • Documentation updated (references/audio.md, remix.md)
  • Comments follow CONTRIBUTING.md

Size

A small follow-up that belongs with #7377's recording work but is a separate review: the credits line is its own behavior change, and folding it in would reopen an approved PR.

Size: 53 lines on its own; it was stacked on #7377, which has merged, and this lane has no other open PR to carry it.

heygengenesis[bot]
heygengenesis Bot previously approved these changes Nov 7, 2026

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE · 0 blocker · 0 important · 0 nits · head 2eb776b1

Checked

Checked the fails without the fix: claim by stubbing voiceCredit to always return HeyGen's wording: both voice-credit.test.mjs cases and the recording.test.mjs voice_credit assertion fail, and all pass on this head (8/8, 0 skipped). The credit is rebuilt from the merged prev.voices/prev.tts_provider, so a --only bgm/--only sfx rerun keeps the right line and doesn't null it. The manifest diff is only the hash and file count. Base is feat/voice-own-recording (#7377, approved), so this lands on that branch, not main. CI not read: this identity can't read check-runs (mergeStateStatus CLEAN).

Base automatically changed from feat/voice-own-recording to main November 7, 2026 20:16
@miguel-heygen
miguel-heygen dismissed heygengenesis[bot]’s stale review November 7, 2026 20:16

The base branch was changed.

@heygengenesis heygengenesis Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE · 0 resolved, 0 open, 0 new · 2eb776b → 5474a68

Rebased onto main after #7377 merged. The patch against main matches the approved head's patch against feat/voice-own-recording line for line (index lines aside), and voice-credit + recording tests still pass (8/8).

@miguel-heygen
miguel-heygen added this pull request to the merge queue Nov 7, 2026
Merged via the queue into main with commit f5bde95 Nov 7, 2026
118 of 119 checks passed
@miguel-heygen
miguel-heygen deleted the feat/voice-credit branch November 7, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant