HBG Classical Poem Silk Video — скилл

Скилл делает из китайского классического стихотворения вертикальное видео 1080x1920 в духе живописи тушью с каллиграфическими титрами и звуком

  • 389 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Широкий доступ

Почему такой уровень

  • Запускает скрипты оболочки и Python, обращается к Docker-контейнеру, в котором пользователь авторизуется в стороннем сервисе, и работает с куки и сессиями этого сервиса, поэтому нужна осторожность с хранением профиля
  • Шаг очистки удаляет видимую отметку Gemini из готовых клипов: это может нарушать условия сервиса и вводить зрителей в заблуждение насчет происхождения видео, ответственность на пользователе
  • Установщик запускается как curl с передачей в оболочку, содержимое install.sh стоит прочитать до запуска
Все причины и проверки

mr-funny/hbg-classical-poem-silk-video

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/hbg-classical-poem-silk-video

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Запускает скрипты оболочки и Python, обращается к Docker-контейнеру, в котором пользователь авторизуется в стороннем сервисе, и работает с куки и сессиями этого сервиса, поэтому нужна осторожность с хранением профиля
  • Шаг очистки удаляет видимую отметку Gemini из готовых клипов: это может нарушать условия сервиса и вводить зрителей в заблуждение насчет происхождения видео, ответственность на пользователе
  • Установщик запускается как curl с передачей в оболочку, содержимое install.sh стоит прочитать до запуска

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл classical-poem-silk-video ведет агента от текста китайского стихотворения до готового вертикального видео. Сначала он разбирает эпоху, место, время года, образы и эмоциональную дугу. Затем делит стихотворение на сцены: до четырех строк он берет по строке на сцену, длинные стихи делит по две строки. Для каждой сцены строится собственный стиль китайской живописи: тушь, гунби, лазурно-зеленый пейзаж, всадники и другие. Неподвижные кадры агент создает встроенным ImageGen, затем оживляет их через Docker-контейнер `gemini-flow-suite`. Скилл жестко ограничивает движение: камера неподвижна, здание, горы и стволы остаются якорями, а двигаются только волны, птицы, ветви, одежда. Каждый клип проверяют по ранним, средним и поздним кадрам и отбраковывают лишних животных, перестроенные здания и сбросы композиции. В репозитории лежат скрипты для титров и сборки. Скрипт make_scene_ass.py делает двухколоночные вертикальные субтитры шрифтом Ma Shan Zheng, где иероглифы появляются по одному. render_scene.sh вшивает титры и сохраняет исходный звук клипа. concat_poem_crossfade.sh склеивает сцены с плавным переходом по картинке и звуку, поверх идет непрерывный BGM. final_media_qa.sh проверяет готовый MP4: размер, 30 кадров в секунду, H.264 и AAC, черные кадры, тишину и контрольные кадры. Отдельный шаг убирает белый значок-звездочку Gemini в правом нижнем углу кадра и оставляет красную печать как часть картины.

Для кого. Для авторов коротких вертикальных видео и преподавателей китайской литературы, которые работают в Codex или Claude Code и готовы подключить Docker и аккаунт для сервиса Gemini.

Подходит, если

  • Нужно видео по классическому стихотворению, например «Ночная стоянка у Фэнцяо» или «Весенняя прогулка у озера Цяньтан», в формате 9:16
  • Требуются титры кистью, где иероглифы появляются по одному в два вертикальных столбца справа налево
  • Стихотворение из восьми строк надо разбить на четыре сцены по две строки, по каждой своя живописная манера
  • Уже есть клипы, и нужно проверить их на дублированных птиц, лишние ноги лошади, перестроенные здания и черные кадры на стыках
  • Нужно собрать несколько сцен с плавными переходами и непрерывной фоновой музыкой, не потеряв исходный звук клипов

Не подходит, если

  • Нужен западный или современный визуальный стиль: скилл целиком построен на китайской живописи и классической поэзии
  • Docker или доступ к контейнеру `gemini-flow-suite` недоступен: без него этап оживления кадров не работает
  • Вам нужны логотипы и значки сервисов в кадре нетронутыми: шаг очистки удаляет белую звездочку Gemini, и ее лучше не запускать, если условия сервиса запрещают такое
  • Нужен длинный ролик с речью или закадровым голосом: скилл просит естественный фоновый звук без диалогов
  • Нужен быстрый черновик за минуты: пример из репозитория разбит на много шагов с проверкой каждого клипа

Пример запроса к агенту

Используй скилл classical-poem-silk-video и сделай видео по стихотворению «Ночная стоянка у Фэнцяо»: каждая строка отдельной сценой, луна и вода двигаются, камера неподвижна

Ограничения

  • Нужны Codex или другой агент с встроенным ImageGen, Docker и запущенный контейнер `gemini-flow-suite` из отдельного репозитория Mr-funny/hbg-gemini-flow-suite. Авторизацию в нем нужно пройти самостоятельно, скилл ее не выполняет и не печатает куки, ключи и профиль браузера.
  • Для сборки используются `ffmpeg` и `ffprobe`, поэтому проверка готового файла требует установленных утилит.
  • Описание репозитория и инструкции написаны по-китайски. Вывод скилла рассчитан на китайские стихи, русские тексты им не покрываются.
  • Шаг очистки значка выполняется только когда его просит пользователь и когда это разрешают условия сервиса. Решение принимает пользователь.
  • Видео-клипы создает внешний сервис Gemini, качество и доступность зависят от него. Из России сервисы Google могут быть недоступны.

Как отключить. Удалите папку classical-poem-silk-video из каталога скиллов агента: для Codex это ~/.codex/skills/classical-poem-silk-video, для Claude Code соответствующая папка со скиллами. Контейнер `gemini-flow-suite` останавливается отдельно командами Docker.

Частые вопросы

Как поставить скилл для видео по китайским стихам в Claude Code?

Выполните команду curl -fsSL https://raw.githubusercontent.com/Mr-funny/hbg-classical-poem-silk-video/main/install.sh | sh -s -- --claude. Для Codex хватит версии без флага: она ставит скилл в ${CODEX_HOME:-~/.codex}/skills/classical-poem-silk-video. Возможна и ручная установка клонированием репозитория и копированием папки skill/classical-poem-silk-video.

Чем это видео отличается от обычного оживления картины?

Камера остается неподвижной, а движение возникает только у предметов внутри картины: волны, птицы, ветви, одежда. Здания, горы и стволы объявляются неподвижными якорями, число птиц и тело лошади закреплены, а на каждую сцену дается одно главное действие и одно-два фоновых.

Что нужно кроме самого скилла?

Нужен агент со встроенным ImageGen и Docker с контейнером `gemini-flow-suite` из репозитория Mr-funny/hbg-gemini-flow-suite. Авторизацию в контейнере пользователь проходит сам. Для сборки и проверки видео потребуются `ffmpeg` и `ffprobe`.

Как скилл делает титры?

Скрипт make_scene_ass.py создает файл ASS с шрифтом Ma Shan Zheng. Первая строка стихотворения идет в правый столбец, вторая в левый, иероглифы появляются по одному, а знаки препинания в кадре не показываются. Шрифт распространяется по лицензии SIL Open Font License 1.1.

Что делает скилл со значком Gemini в кадре?

Скрипт clean_star_watermark.sh убирает только белую звездочку Gemini в правом нижнем углу, а красная традиционная печать остается как часть картины. Автор оговаривает, что чистка выполняется только по просьбе пользователя и когда условия сервиса это разрешают.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл делает из стихотворения 20–80-секундную анимацию в стиле китайской туши: кадры рисует код, музыку синтезирует numpy.

СкиллМинимальный доступ64Звезды репозитория

Скилл превращает китайский текст озвучки в анимированный HTML для записи экрана: ручной ход кадров или субтитры SRT

СкиллМинимальный доступ247Звезды репозитория

Скилл превращает текст в готовое видео: озвучка, субтитры, обложка и описание, а картинку код рисует кадр за кадром.

СкиллШирокий доступ85Звезды репозитория

Скилл рисует видео кодом: объясняющие ролики с озвучкой и промо-ролики для сайтов в 35 визуальных стилях, 16:9 и 9:16.

СкиллРасширенный доступ176Звезды репозитория

Скилл ведет Claude Code от песни и текста до готового лирик-клипа в духе Vocaloid с рендером кадров в браузере и ffmpeg.

СкиллРасширенный доступ271Звезды репозитория

Скилл превращает китайский текст истории или набор упорядоченных картинок в вертикальную рисованную анимацию, немой видеоряд в стиле дневникового комикса

СкиллРасширенный доступ2,5 тыс.Звезды репозитория

Коротко о README

README открывается готовым текстом для агента, который сам устанавливает скилл, и таблицей типичных ошибок оживления с тем, как скилл их обходит. Дальше идут четыре способа установки, описание Docker-среды, примеры запросов и схема конвейера, а также итоги реального проекта на восемь строк с готовым роликом в релизе.

Бейдж для README

Исходный SKILL.md

---
name: classical-poem-silk-video
description: Turn Chinese classical poems and ci into coherent vertical Chinese-art videos with poem-driven scene grouping, GPT ImageGen stills, Docker-only Gemini I2V, retained model-generated ambience, Gemini sparkle-watermark cleanup, brush-calligraphy captions revealed character by character, optional local BGM mixing, stitching, and final-frame QA. Supports verse-driven variation across ink landscape, gongbi bird-and-flower, colored figure-and-horse painting, blue-green landscape, xuan paper, silk, and related Chinese visual languages. Use when users ask for 古诗词动态视频、诗词逐句或两句一景、国风视频、毛笔字逐字出现、整首诗拼接成片,or want the established 月落乌啼霜满天 workflow applied to another poem.
---

# Classical Poem Silk Video

Create a finished 9:16 poem video from the complete poem. Keep the visual series coherent without forcing every scene into one antique-silk template, let each scene express only its assigned lines, retain each generated clip's original ambience, and deliver the final MP4 visibly in chat.

Before the first run on a machine, read [runtime-contract.md](references/runtime-contract.md) and run [check_prerequisites.sh](scripts/check_prerequisites.sh). Never print, copy, or commit authentication cookies, API keys, browser profiles, or generated account data.

## Workflow

1. Read the complete poem. Identify title, poet, era, place, season, time, explicit imagery, actions, and emotional arc.
2. Group scenes:
   - Four lines or fewer: default to one line per scene.
   - More than four lines: default to two consecutive lines per scene.
   - Respect an explicit grouping request over these defaults.
3. Build a compact scene ledger with literal images, dominant action, depth layers, emotional function, and forbidden imagery reserved for other scenes.
4. Define one series bible. Read [style-and-scene-mapping.md](references/style-and-scene-mapping.md). Keep the series' Chinese visual DNA, historical period, typography zone, and quality level coherent, while choosing a poem-driven substyle, medium, palette, and depth pattern for every scene.
5. Generate one text-free 9:16 initial frame per scene with the built-in `image_gen` tool. Leave clean negative space on the right for typography. Save every accepted image into the active project.
6. Animate each image through the `gemini-flow-suite` Docker container without opening or controlling the host browser. Use [docker_gemini_i2v.sh](scripts/docker_gemini_i2v.sh) and a scene-specific motion prompt. Require natural ambient audio and no spoken dialogue. If the runtime is missing, follow [runtime-contract.md](references/runtime-contract.md); never improvise by exposing credentials or driving the user's browser.
7. Inspect every generated clip at early, middle, and late timestamps. Reject severe anatomy changes, duplicated animals, new architecture, style drift, or composition resets.
8. Remove only the white Gemini sparkle/diamond watermark with [clean_star_watermark.sh](scripts/clean_star_watermark.sh). Preserve a traditional red seal or other intentional painting content unless the user explicitly asks to remove it.
9. Create the vertical two-column calligraphy ASS file with [make_scene_ass.py](scripts/make_scene_ass.py). Use `Ma Shan Zheng`; place the first line in the right column and the second in the left column. Reveal one character at a time and omit punctuation from the displayed columns.
10. Burn captions and retain the AI clip's original audio with [render_scene.sh](scripts/render_scene.sh). Do not replace or discard the source audio.
11. Join the rendered scenes. Use [concat_poem_crossfade.sh](scripts/concat_poem_crossfade.sh) when adjacent scenes should dissolve naturally, or [concat_poem.sh](scripts/concat_poem.sh) for deliberate hard cuts. Crossfade both picture and retained ambience, while keeping BGM continuous and quiet beneath them; never restart the BGM at every scene.
12. Run [final_media_qa.sh](scripts/final_media_qa.sh) on the final encoded file. Verify 1080x1920, 30 fps, H.264/AAC, expected duration, both audio sources, safe typography, no white sparkle watermark, preserved red seal, natural transition midpoints, and no black or corrupt ending frame. Open suspicious frames at full resolution before delivery.

## Image and motion rules

- Use the built-in `image_gen` tool for still frames. Do not use Gemini/Flow image generation for them.
- Use the existing style reference only as a medium/patina reference; never copy its exact composition or subjects.
- Use one dominant event per scene. Do not illustrate the whole poem in scene 1.
- Keep the series coherent through Chinese visual language, period, recurring subjects, typography zone, and detail quality. Deliberately vary substyle, medium, dominant hue, light temperature, and depth pattern when the poem changes imagery or emotional function.
- Avoid repeating the same left-heavy subject, empty-right layout, parchment color, tree silhouette, and horizon height in every scene. Preserve caption safety while varying the visual skeleton.
- Translate sound through visible causes: open beaks, ripples, bending reeds, beating wings, or attentive posture.
- Keep the camera locked by default. Motion must come from existing depicted causes: drifting mist density, expanding water ripples, attached foliage oscillation, small anatomically coherent bird or horse actions, and cloth responding to wind. Use camera movement only when the user explicitly requests it.
- Prefer anchored local motion over long cross-frame travel. Treat architecture, tree trunks, shorelines, main body torsos, typography negative space, and the red seal as static anchors that may not be redrawn.
- Forbid new people, buildings, boats, birds, flowers, text, seals, or landmarks unless assigned to that scene.
- Preserve the model-generated audio. Measure both sources and place BGM roughly 6–10 dB below the retained ambience; 8%–16% linear gain is a starting range, not a fixed rule.
- If the user explicitly requests full-volume parallel sound, override the quiet-bed default: keep the generated ambience at its existing gain, mix the BGM at 100% linear gain with no ducking, and use only a final limiter to prevent clipping. Do not restart either source at scene boundaries.

## Output contract

Сообщить о проблеме