mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-01 19:42:03 +00:00
docs: write down the house narrator, and stop the videos sounding like two products
Every user-journey film on the docs site is narrated by ElevenLabs River (SAz9YHcvj6GT2YYXdXww) at 145-155 wpm with music about -31 LUFS under it. That was recorded in one launch project's notes and nowhere an agent would look. So when I briefed six new docs videos I asked for "a music bed plus SFX" and said nothing about voice. Two fell back to local Kokoro (am_michael, bm_george) and one used an unspecified ElevenLabs take. Three films, three narrators, none of them the one the rest of the site uses. Being re-voiced now. The rule is in skills/media-use/audio/references/tts.md, next to the provider table an agent already reads before generating a voiceover, including the reason: falling back to a local voice because a key was not to hand produces a film that sounds wrong beside the others. If ElevenLabs cannot be reached, say so and stop rather than substituting. Also on this branch: the superseded Huly film is gone from the product-launch page, and three pages that ended up with two hero videos stacked now lead with one. Where the older clip still showed something different — a finished motion graphic, the same edits done in Studio — it moved below under its own heading instead of being deleted.
This commit is contained in:
@@ -6,6 +6,34 @@ bundled `heygen-tts.mjs` script below.
|
||||
|
||||
> **Run the Preflight first — no credential is not a green light to silently use the local voice.** Before generating a voiceover, complete the sign-in **Preflight** (see `../SKILL.md` → Preflight): run `npx hyperframes auth status`, recommend signing in, and **STOP for the user's choice** (sign in for HeyGen voices, or continue offline with local Kokoro). This applies to a one-off "generate a voiceover" request just as much as inside a full workflow.
|
||||
|
||||
## Narrating a HyperFrames docs video
|
||||
|
||||
Anything that will sit on hyperframes.heygen.com uses one narrator, so the site
|
||||
does not sound like two products.
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| Voice | **River** — "Relaxed, Neutral, Informative" |
|
||||
| Provider | ElevenLabs |
|
||||
| `voice_id` | `SAz9YHcvj6GT2YYXdXww` |
|
||||
| Model | `eleven_multilingual_v2` |
|
||||
| Pace | 145–155 words per minute, with room to breathe |
|
||||
| Music under it | about −31 LUFS, never masking the voice |
|
||||
|
||||
```bash
|
||||
curl -s -X POST "https://api.elevenlabs.io/v1/text-to-speech/SAz9YHcvj6GT2YYXdXww" \
|
||||
-H "xi-api-key: $ELEVENLABS_API_KEY" -H "Content-Type: application/json" \
|
||||
-d '{"text":"...","model_id":"eleven_multilingual_v2"}' -o take.mp3
|
||||
```
|
||||
|
||||
This is the voice every user-journey film on the docs site already uses. Falling
|
||||
back to local Kokoro because a key was not to hand produces a film that sounds
|
||||
wrong beside the others — three docs videos were built that way and had to be
|
||||
re-voiced. If you cannot reach ElevenLabs, say so and stop rather than
|
||||
substituting a different voice.
|
||||
|
||||
Use another voice only for a documented reason, and write the reason down.
|
||||
|
||||
## Available routes
|
||||
|
||||
| Order | Provider | Env trigger | Voice IDs | Word timestamps | Audio format |
|
||||
|
||||
Reference in New Issue
Block a user