Три команды пресинга для видеокомпозиций: TTS с Kokoro (54 голоса, 9 языков, локально), транскрипция Whisper и обработка изображений.
npx -y skills add heygen-com/hyperframes --skill hyperframes-media --agent claude-codeСоздание аудио- и медиаассетов для HyperFrames-композиций: озвучка (TTS), фоновая музыка, звуковые эффекты, транскрипция, субтитры и удаление фона — через единый аудиодвижок scripts/audio.mjs.
Воркфлоу НЕ реализуют аудио самостоятельно и не используют копии вендорных библиотек. Есть один движок — scripts/audio.mjs — который принимает нейтральный audio_request.json и записывает audio_meta.json (плюс ассеты в assets/voice|bgm|sfx):
node <MEDIA_DIR>/scripts/audio.mjs --request ./audio_request.json --hyperframes . --out ./audio_meta.json
Все три возможности деградируют по одному переключателю — наличию HeyGen-учётных данных ($HEYGEN_API_KEY / $HYPERFRAMES_API_KEY / ~/.heygen):
| Возможность | Учётные данные HeyGen есть | Нет учётных данных |
|---|---|---|
| TTS | HeyGen Starfish REST (нативные временны́е метки слов) | → ElevenLabs → Kokoro (цепочка с transcribe) |
| BGM | Получение из библиотеки HeyGen | Локальная генерация Lyria → MusicGen (отдельный процесс) |
| SFX | Получение из библиотеки HeyGen (min_score 0.4) | Встроенная библиотека из 21 файла (assets/sfx/) |
Формат запроса (audio_request.json): { provider?, lang?, speed?, lines: [{ id, text, sfx?: [names] }], bgm: { mode?, query?, prompt? } }. Поле bgm.mode: retrieve | generate | none; при отсутствии — auto.
Формат вывода (audio_meta.json, ключи по id): { tts_provider, voice_id, bgm, bgm_pending, …, voices, sfx, total_duration_s }.
Флаг --only tts,bgm,sfx запускает подмножество и дополняет существующий --out.
Всегда выполняйте перед генерацией голоса или BGM. Отсутствие HeyGen-учётных данных — не повод молча переключиться на локальные движки: сначала рекомендуйте войти в систему и дайте пользователю решить.
npx hyperframes auth status
exit 1) → выводит инструкцию по регистрации. Рекомендуйте войти: npx hyperframes auth login — браузерный OAuth, создаёт аккаунт. Для существующего HeyGen API-ключа: npx hyperframes auth login --api-key (сохраняется в ~/.heygen). ОСТАНОВИТЕСЬ и ждите выбора пользователя перед генерацией — это реальная точка принятия решений.npx hyperframes auth status --json возвращает { configured, recommended_action, offline_engines } для детерминированного ветвления.| Порядок | Провайдер | Определяется когда | Временны́е метки слов |
|---|---|---|---|
| 1 | HeyGen (Starfish) | $HEYGEN_API_KEY / hyperframes auth login | Да, нативные |
| 2 | ElevenLabs | $ELEVENLABS_API_KEY установлен | Нет — добавьте transcribe |
| 3 | Kokoro-82M (локальный, 54 голоса) | Всегда (ключ не нужен) | Нет — добавьте transcribe |
| Ассет | HeyGen type | Куда попадает | Fallback (нет учётных данных) |
|---|---|---|---|
| BGM | music | assets/bgm/track.mp3 (получение) · track.wav (генерация) | Lyria / MusicGen генерация |
| SFX | sound_effects (min_score 0.4) | assets/sfx/<slug>.mp3 | Встроенная библиотека из 21 файла |
scripts/audio.mjs. Не реализуйте TTS/BGM/SFX внутри воркфлоу — пишите адаптер audio_request.json и вызывайте движок.hyperframes tts может быть только с Kokoro.am_michael — только Kokoro; HeyGen UUID не работают с Kokoro. При указании --voice также фиксируйте --provider.--model в transcribe. Дефолтный small.en молча переводит не-английское аудио.transcribe для последних двух.{ id, text, start, end }.glass shatter, не dramatic sound); отсутствие совпадений пропускает, не блокирует рендер. SFX на громкости ~0.35 под голосом + BGM..hyperframes/caption-skin.html; не редактируйте compositions/captions.html напрямую.| Задача | Источник |
|---|---|
Схема движка, audio_request.json, флаг --only | scripts/audio.mjs (заголовок) |
| TTS — провайдеры, голоса, временны́е метки слов | references/tts.md |
| BGM — получение HeyGen + генерация Lyria/MusicGen | references/bgm.md |
| SFX — получение HeyGen + встроенная библиотека | references/sfx.md |
| Транскрипция Whisper | references/transcribe.md |
| Удаление фона | references/remove-background.md |
| TTS → транскрипция → субтитры | references/tts-to-captions.md |
| Авторинг субтитров — стиль, группировка слов | references/captions/authoring.md |
| Анимация субтитров — karaoke, маркеры, аудиореактивность | references/captions/motion.md |