Halloween video sound design: a Lyria prompt that stays scary
Halloween trailer and ad sound design with one prompt to Sume's Music Router: drones, stingers and a quiet bed, no vocals, plus a silent-clip caption fallback.

How do you make Halloween video sound design with AI? Write a brief with a number for tempo, a key, two to four textured instruments and one named moment, close with "Instrumental, no vocals.", and send it to the Sume Music Router. The Music 1.0 docs list those axes for a scene-specific brief and warn that they are creative directions, not guaranteed settings, so you listen to what comes back.
Horror music works on restraint. A bed that holds one low note and a single sharp event beats a wall of noise under dialogue, and a prompt is a good place to say so.
Build the brief from the seven axes
The docs' table of axes is a checklist. For a haunted-house reveal, fill each one with a decision.
| Axis | Halloween choice |
|---|---|
| Emotion | Hushed dread, then a jolt |
| Genre | Dark ambient, sparse horror score |
| Tempo | 60 BPM, slow pulse |
| Key and mode | C phrygian |
| Instruments | Bowed cello drone, detuned music box, sub swell |
| Arc | The music box stops dead at 0:20, a low hit at 0:22 |
| Era | Dry and close, 1978 production |
Send it
Keep exclusions in the positive prompt, because a non-empty negative_prompt returns HTTP 400. If the model reports lyrics or a section map, they arrive in result.lyrics.
import os
import requests
r = requests.post(
"https://api.sume.com/v1/music-router/generate",
headers={
"Authorization": "Bearer " + os.environ["SUME_API_KEY"],
"Idempotency-Key": "halloween-cue-001",
},
json={
"model": "sume/music-auto",
"prompt": "Hushed dread, dark ambient horror score, 60 BPM, C phrygian. Bowed cello drone, detuned music box, sub swell. The music box stops dead at 0:20 and a low hit lands at 0:22. Dry and close, 1978 production. A 30-second track. Instrumental, no vocals.",
"mode": "sync",
"wait_timeout_seconds": 30,
},
timeout=60,
)
print(r.status_code)
print(r.json())Under dialogue and over a silent clip
For a clip with a voice, set soundtrack.duck_db on the Timeline 1.0 render so the bed gets quieter under speech. For a silent clip, the captions endpoint fails with caption_no_speech; send cues with text, start and end to burn authored overlay lines such as a title card, no speech-to-text involved.
- Bed:
soundtrack.urlwithgain_dbandfade_out_seconds. - Ducking:
duck_dbfrom 0 to 20, only with a real audio spine. - Silent title cards:
cueson/v1/video-captions.
Do not do
Do not name a film composer or a franchise in the prompt and expect a copy; the docs describe no such behavior, and a brief is stronger when it names instruments and structure.
Sources
Related posts
More in Use cases
- Handbag product photos: hardware close-up as a second reference
Keep clasps, zips and stitching accurate in AI handbag photos: send the full bag and a hardware close-up as two references to Sume's image API. Checks included.
- Hat and cap try-on API: one selfie, one call per colorway
Let shoppers see a cap or beanie on their own head: one selfie plus one product photo per colorway, a cache key per shopper, SKU and colour, and a cost log.
- Haunted house ticket teaser: three stills, one 18 s render, $2.68
A haunted house or trail promo from three photos: Wan 3.0 clips at $0.125 a second, a Timeline render, a music bed and burned-in dates. $2.675 in total.
- Headphone and earbud product photos: logo and orientation QC
Make headphone or earbud lifestyle shots with Sume's image API, then catch flipped logos, wrong earcup sides and cable errors with a Pillow contact sheet.
Written by Sume