hyperframes-media

Generate TTS voiceovers, background music, sound effects, and captions for HyperFrames video compositions.

Updated Jul 16, 2026
One-click install
npx skills add https://github.com/X-manist/Cohmira --skill hyperframes-media-x-manist
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hyperframes-media
Source: https://github.com/X-manist/Cohmira/tree/main/src/builtin-plugins/openmontage/.agents/skills/hyperframes-media
Command: npx skills add https://github.com/X-manist/Cohmira --skill hyperframes-media-x-manist

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires google-genai, kokoro-onnx, soundfile, transformers, torch, numpy, elevenlabs, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve? Producing the audio layer of a video composition — voiceover, background music, sound effects, transcription, and captions — normally requires juggling multiple TTS providers, music generators, and transcription tools with inconsistent outputs. This Skill provides one shared audio engine that produces all of these assets from a single request file, with automatic provider fallback when credentials are missing. ## Core Features & Use Cases - Unified audio engine: scripts/audio.mjs takes a neutral audio_request.json and produces TTS voice lines, BGM, and SFX, writing an id-keyed audio_meta.json with word-level timestamps. - Multi-provider TTS with fallback: HeyGen (native word timestamps) → ElevenLabs → local Kokoro-82M, selected automatically based on available credentials. - BGM and SFX: HeyGen audio-library retrieval when credentialed, with local Lyria/MusicGen generation for BGM and a bundled 21-file SFX library as offline fallbacks. - Transcription and captions: Whisper-based word-level transcription, caption authoring guidance (style detection, word grouping, karaoke motion), and background removal for talking-head overlays. - Use Case: A workflow needs narration, music, and sound effects for a product-launch video. It writes an audio_request.json listing its script lines and mood, runs the engine, and receives ready-to-compose WAV/MP3 assets plus per-word timing data for animated captions. ## Quick Start Ask the AI to generate a voiceover, background music, and sound effects for your video script using the hyperframes-media audio engine, starting with the sign-in preflight via npx hyperframes auth status.

Frequently Asked Questions about hyperframes-media

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate TTS voiceover with word timestamps for video captions?

Use the HeyGen TTS path, which returns native word timestamps in the same response as the audio. Run scripts/heygen-tts.mjs with --words to write a flat [{id,text,start,end}] JSON file that the captions pipeline consumes directly, skipping a separate Whisper pass.

How do I add background music and sound effects to a video composition?

Write an audio_request.json with a bgm mood query and per-line sfx names, then run scripts/audio.mjs. With a HeyGen credential it retrieves music and effects from the HeyGen audio library; without one it generates BGM locally via Lyria or MusicGen and uses a bundled 21-file SFX library.

What TTS providers are supported and how is fallback handled?

The provider chain is HeyGen first, then ElevenLabs, then local Kokoro-82M, chosen by which credentials are present. HeyGen and ElevenLabs need API keys and ffmpeg; Kokoro runs offline with no key but requires chaining transcription to get word timestamps.

Does transcription work with non-English audio?

Yes, but you must pass --model explicitly. The CLI default small.en silently translates non-English audio into English; use --model small --language <iso-code> for known languages or --model small for auto-detection.

Why is my background music missing when the video assembles?

Local BGM generation runs as a detached process, so audio_meta.json shows bgm_pending: true until it finishes. Run scripts/wait-bgm.mjs before assembling; it writes bgm_status.json with ready, failed, or timeout, and a failed track is omitted rather than blocking the render.

Can I use remove-background to get a clean plate of a scene without the person?

No. The --background-output option produces a hole-cut plate with a transparent silhouette where the subject was, not an inpainted clean plate. For a standalone scene without the person you need an inpainting tool such as LaMa, ProPainter, or E2FGVI.