Hypernatural

TechniqueBy HypernaturalVersion 3, Oct 29, 2026

elevenlabs-sound-effects

Generate realistic sound effects and loopable ambience from a text description with ElevenLabs' sound effects model through hn4a (door creaks, birdsong, rain, crowds, impacts, whooshes), then place them on picture. Falls back to the sound-effects guide's other routes when hn4a doesn't offer the model.

SKILL.md

ElevenLabs sound effects

Text in, sound out: "old wooden door creaking open slowly", "songbirds in a garden at dawn, distant", "cartoon pop". Use it whenever a sound should be realistic. Placement, panning, looping and levels follow guide-add-sound-effects.

1. Is the model available?

models("sound effects") and models("elevenlabs"). Look for an ElevenLabs sound-effects model (on fal it is fal-ai/elevenlabs/sound-effects/v2, about $0.002 per second of audio). If hn4a lists it, describe it and call it with run like any model: billing, uploads, the call log and the person's project all work as usual.

If hn4a doesn't list it, say so plainly and choose another route from guide-add-sound-effects (the person's own sound files, sound generated with the shot, or local synthesis). Don't present synthesized sound as a recording, and don't work around hn4a to reach the model.

Video models' built-in sound (H3 Max, Seedance, Kling, Veo) is not a substitute when specific effects matter: measure it before relying on it. A test cut asked for a kettle whistle, birdsong and rain; the audio came back as low drones (spectral centroid 200-600 Hz, no whistle or chirps).

2. The request

The model's fields (check describe for the exact names and ranges):

FieldRangeNotes
textrequiredWhat the sound is: its source, distance and space
duration_seconds0.5-22 on fal (30 on ElevenLabs directly)Set it for spot effects; leave out to let the model choose
prompt_influence0-1, default 0.30.5-0.7 for a specific sound, 0.2-0.3 for varied ambience takes
loopbooltrue for ambience beds that must loop seamlessly

Ask for MP3 or WAV output and convert to 48 kHz WAV with ffmpeg before mixing. Price a batch with run(..., estimate: true) and tell the person before running more than a few.

3. Prompting

  • Describe the sound, not the scene: source + action + material + space + distance. "Heavy oak door creaking open slowly in a quiet stone hallway, close" beats "spooky castle". "Small songbirds chirping in a garden, distant, early morning, no wind".
  • One sound per generation. Layer in the mix, not in the prompt.
  • Spot effects: set duration_seconds to the moment's length plus a little tail.
  • Ambience: loop: true, 10-20 s, then loop it under the scene.
  • Make 2-3 takes of anything important (prompt_influence ~0.3), put them on a review page with the picture, and let the person pick by ear. One before many.

4. Cue list

Build the cue list from the picture before generating: a 2 fps contact sheet of the cut, then the frame of each event (door starts to move, glass hits the floor, toast pops). One line per sound: time, prompt, duration, pan. Keep it in audio/sfx/cues.md so a later pass regenerates the same list.

5. Into the cut

Name takes like hn4a does (door_a.wav, door_b.wav, never reusing a letter) in audio/sfx/. Place, pan, loop and level per guide-add-sound-effects, mixing in Python or listing each file as its own entry in a compose spec's audio with start at its cue. You can't hear: open a review page with the cut, each sound and its moment in the row's body, send the MP4 into the chat as well, and ask the person to listen.

Go make something cool.

Install the app, open your agent, describe the video. That's the whole onboarding.

Sticker HypernaturalSticker BannerSticker TVBoy