← ClaudeAtlas

change-voicelisted

Replaces the voice in a video or audio file with one from the Novoads voice catalog, over the REST API. Converts the SPEECH in the source to a voice you pick, keeps the original timing so lip-sync survives, and returns audio that gets muxed back over the untouched picture locally. Casts by MEASURING the source voice against auditioned candidates instead of reading labels, refuses a source with no speech before anything is charged, fences sound effects and music so they survive from the original track, and verifies the finished file by transcribing it. Use when an actor's voice sounds robotic, flat, thin or simply wrong, and for "change the voice", "voice swap", "swap the voice on this ad", "re-voice my ad", "the actor's voice sounds bad", "make him sound human", "different voice for this video", "speech to speech", "same video better voice". Not for narrating a silent clip (that is a voice-over), not translation, and it changes neither pronunciation nor accent.
novoads/claude-code-ads · ★ 14 · AI & Automation · score 73
Install: claude install-skill novoads/claude-code-ads
# Change Voice One video in. The same video out, with the speech re-performed by a voice you chose. The picture never moves. The timing never moves. What changes is who is speaking, and the entire craft of this skill is in three decisions the endpoint cannot make for you: **which voice**, **which spans of audio to replace**, and **whether the result is actually good**. The HTTP call in the middle is one request. **Every HTTP mechanic here belongs to the pack, not to this skill.** Auth, strict bodies, status codes, rate limits and error envelopes are written out once in [`skills/novoads-api/SKILL.md`](../novoads-api/SKILL.md) and its [`reference.md`](../novoads-api/reference.md). Read those for mechanics; this file names the endpoint and the fields that matter to a re-voice. ## Before anything: this runs on a Novoads account - **Base URL:** `https://api.novoads.ai/v1` (host overridable with `NOVOADS_BASE_URL` — host only, you append `/v1`). - **Auth:** `Authorization: Bearer $NOVOADS_API_KEY`, read from `.env` at the repo root. - **Check:** `./scripts/check-novoads-env.sh`. If it is missing, run `./scripts/setup.sh`. - **ffmpeg on your machine.** Hard dependency, not optional: the local speech check, the casting measurement and the whole assembly are local ffmpeg work. `ffmpeg -version` before you start. - **Never** print API keys, commit `.env`, or paste a key into `MASTER_CONTEXT.md`. > **REST key required. A Novoads MCP connector is not a substitute.** If > `NOV