mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-10 22:20:14 +00:00
* feat(hyperframes-creative): add frame-preset library Add a library of ready-made visual frame presets (claude, biennale-yellow, blockframe, blue-professional, bold-poster, broadside, capsule, cartesian, cobalt-grid, coral, creative-mode, daisy-days, editorial-forest, …), each with a FRAME.md spec, a frame-showcase.html, and a per-preset caption-skin.html. Registered in the creative design-spec so workflows can remix a preset onto brand tokens. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(hyperframes-media): shared TTS/BGM/SFX audio engine Add a shared audio engine under hyperframes-media (scripts/audio.mjs + lib/ tts.mjs, bgm.mjs, sfx.mjs, heygen.mjs) plus a bundled SFX pack and manifest. Workflows resolve this engine by path (../../hyperframes-media/scripts/ audio.mjs) for text-to-speech, background music, and sound effects, so audio is authored once and reused across skills instead of duplicated per workflow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(skills): gate render on user review; refresh router, core, general-video - hyperframes-cli: render is now user-gated — preview opens Studio (the timeline editor where the user can hand-edit anything, not just watch); never auto-render once checks pass, pause at preview and render only after approval. - hyperframes (router): tighten the entry SKILL.md description + routing. - hyperframes-core: rewrite SKILL.md and add script-format.md + storyboard-format.md references for the script-driven authoring architecture. - general-video: tidy the fallback-workflow description and routing table. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * style(hyperframes-creative): reformat frame-preset showcase HTML Run the HTML formatter over the frame-showcase.html files (indentation, self-closing void tags, one CSS declaration per line). Formatting only — no content or markup changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(hyperframes-media): correct wait-bgm field mapping and guard credential parse Two correctness fixes from review (#1632): - wait-bgm.mjs read audioMeta.bgm_path / audioMeta.bgm_enabled, but audio.mjs writes the path nested as bgm.path and the flag as bgm_pending. The detached generate path (Lyria/MusicGen) therefore always saw an empty path and exited status: disabled, silently dropping the music track even while generation was running. Read audioMeta.bgm?.path and gate on bgm_pending. - heygenCredential() had an unguarded JSON.parse despite documenting that it never throws — a malformed ~/.heygen credentials file crashed the engine at startup instead of degrading to no-credential. Wrap the parse and return null. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore(hyperframes): add router tag to entry skill metadata Fold the router metadata tag into the foundation rewrite of the entry SKILL.md. This file is owned by this PR (the full router rewrite); keeping the tag tweak here — instead of a separate edit on the pre-rewrite version in another PR — avoids a guaranteed merge conflict between the two. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
98 lines
3.6 KiB
JSON
98 lines
3.6 KiB
JSON
{
|
||
"chime": {
|
||
"file": "chime.mp3",
|
||
"duration": 2.5,
|
||
"description": "Soft melodic chime — gentle positive beat: success/confirmation or a lighthearted transition. Sync to the visual moment."
|
||
},
|
||
"click-soft": {
|
||
"file": "click-soft.mp3",
|
||
"duration": 0.37,
|
||
"description": "Quiet short click — low-key UI tap / soft selection. Short accent, sync exactly to the on-screen action."
|
||
},
|
||
"click": {
|
||
"file": "click.mp3",
|
||
"duration": 0.37,
|
||
"description": "Crisp UI click — button press, toggle, selection. Short accent, sync exactly to the on-screen action."
|
||
},
|
||
"error": {
|
||
"file": "error.mp3",
|
||
"duration": 1.62,
|
||
"description": "Negative / error tone — failure state, a 'wrong' beat, or a glitchy interruption."
|
||
},
|
||
"glitch-1": {
|
||
"file": "glitch-1.mp3",
|
||
"duration": 2.64,
|
||
"description": "Punchy digital glitch — hard-cut accent or sudden reveal. Trigger on the hit; let the decay bleed into the next shot (J-cut)."
|
||
},
|
||
"glitch-2": {
|
||
"file": "glitch-2.mp3",
|
||
"duration": 3.5,
|
||
"description": "Harsh, longer glitch — chaotic / jarring transition or a distorted reveal."
|
||
},
|
||
"glitch-3": {
|
||
"file": "glitch-3.mp3",
|
||
"duration": 3.1,
|
||
"description": "Low-key glitch texture — subtle digital shift, minimal transition that sits under other audio."
|
||
},
|
||
"impact-bass-1": {
|
||
"file": "impact-bass-1.mp3",
|
||
"duration": 2.12,
|
||
"description": "Bass impact hit — logo/hero snap, headline slam. Trigger on the visual landing; decay carries into the next shot (J-cut)."
|
||
},
|
||
"impact-bass-2": {
|
||
"file": "impact-bass-2.mp3",
|
||
"duration": 2.59,
|
||
"description": "Bass impact with a short swell — brief anticipation then a deep hit. Place so the peak lands on the reveal."
|
||
},
|
||
"key-press": {
|
||
"file": "key-press.mp3",
|
||
"duration": 0.4,
|
||
"description": "Single key press — one keystroke / terminal-input beat. Short accent, sync to the typed character."
|
||
},
|
||
"notification": {
|
||
"file": "notification.mp3",
|
||
"duration": 2.46,
|
||
"description": "Notification chime — alert, message-in, toast/badge appears. Sync to the element entering."
|
||
},
|
||
"ping": {
|
||
"file": "ping.mp3",
|
||
"duration": 1.32,
|
||
"description": "Sharp electronic ping — punchy accent on a key reveal or data point. Sync to the beat."
|
||
},
|
||
"pop": {
|
||
"file": "pop.mp3",
|
||
"duration": 0.72,
|
||
"description": "Quick pop — element appear/spawn, chip/tag/badge in. Small precise accent, sync to the pop-in."
|
||
},
|
||
"riser": {
|
||
"file": "riser.mp3",
|
||
"duration": 10.03,
|
||
"description": "Long cinematic riser (~10s build, peak at the end). Trigger at (climax_time − 10.03s) so it crests exactly on the reveal."
|
||
},
|
||
"sparkle": {
|
||
"file": "sparkle.mp3",
|
||
"duration": 1.8,
|
||
"description": "Bright sparkle / shimmer — magical reveal or 'shine' highlight on a hero element. Sync to the highlight."
|
||
},
|
||
"typing": {
|
||
"file": "typing.mp3",
|
||
"duration": 1.5,
|
||
"description": "Typing burst (~1.5s of keys) — keyboard / code typing reveal, text-being-typed beat. Start as the text begins typing."
|
||
},
|
||
"whoosh-cinematic": {
|
||
"file": "whoosh-cinematic.mp3",
|
||
"duration": 5.54,
|
||
"description": "Cinematic whoosh build (~5.5s) — sweeping scene transition. Align so the swell peaks on the cut."
|
||
},
|
||
"whoosh-short": {
|
||
"file": "whoosh-short.mp3",
|
||
"duration": 0.57,
|
||
"description": "Short whoosh — quick swipe/slide accent, fast element move, snappy transition. Sync to the motion."
|
||
},
|
||
"whoosh": {
|
||
"file": "whoosh.mp3",
|
||
"duration": 0.57,
|
||
"description": "Punchy whoosh/impact — fast reveal or hard transition accent. Sync to the motion."
|
||
}
|
||
}
|