Skip to content

feat(samples): add Opus 5.5 motion samples rebuilt as MulmoScript - #128

Merged
ystknsh merged 4 commits into
mainfrom
feat/opus55-motion-samples
Sep 28, 2026
Merged

ystknsh merged 4 commits into
mainfrom
feat/opus55-motion-samples

Conversation

@ystknsh

@ystknsh ystknsh commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

X で「Claude Opus 5.5 で作った」とされる映像表現を集め、mulmocast の html_tailwind のアニメーションで作り直した見本集を samples/opus55-motion/ に追加します。本番のデッキではなく、演出を探すときに参照するためのものです。

  • 対象: 見本の台本 10 本(8 フォルダ)、それぞれを書き出す build.py、素材(生成画像 4 枚、ElevenLabs の BGM 2 曲、取得したデータ)、目次と落とし穴をまとめた README.md、X から集めた 79 件のデータ(research/x-posts.json)
  • 検証: npm test が samples/ も見るようにしました。samples/ では台本の隣にデータの JSON もあるので、$mulmocast のキーを持つファイルだけを台本として扱います
  • 入口: CLAUDE.md に、samples/opus55-motion/README.md を見本の目次として 1 行足しました
  • 動画: repo には入れず、この本文に添付しました(下の「動画」)

Items to Confirm / Review

  • 公開 repo に置くもの: research/x-posts.json は他人の投稿の本文を除き、URL・投稿者・日付・反応数・技法タグと、こちらで書いた要約だけにしました。README にも X の投稿 URL を 45 件載せています
  • 生成物を commit したこと: Nano Banana Pro の画像 4 枚(計 2.4MB)と ElevenLabs の BGM 2 曲(計 1.2MB)は、台本が相対パスで参照していて書き出しに必要なので入れました
  • scripts/validate-all.js の判定の変更: mulmoclaude/ と mulmoterminal/ の判定は変えていません。samples/ だけ、$mulmocast の無い JSON を除外します。壊れた台本を置くと失敗し、データの JSON は外れることを確かめました
  • トーン: 見本は mulmocast のユーザー向けに演出の幅を見せる目的なので、CLAUDE.md の暖色テーマに揃えていないデッキがあります
  • 声のモデル: ナレーションのあるデッキ(ideas-news、ideas-story)は gemini-3.1-flash-tts-preview です。CLAUDE.md の決まり(2.5 Pro)とは違います。mulmocast 2.7.2 のモデル一覧には無いものの、そのまま API に渡って動きました

動画

添付した動画は、書き出したものをそのまま載せています(どれもナレーション・BGM の有無は各デッキのとおり)。

L1(手堅い) sampler/

sampler-16x9.mp4
sampler-9x16.mp4

L2・L3・Shorts showcase/

showcase-L2-L3.mp4
showcase-shorts.mp4

MV: 曲のキックごとに筆が入る ideas-mv/

ideas-music-painted-mv.mp4

解説: 微分・深海・美術史 ideas-explain/

ideas-explain-math-ocean-arthistory.mp4

公開データから自動で組むニュース番組 ideas-news/

ideas-data-auto-news.mp4

口パクの掛け合い・合戦の地図・対戦 HUD・切り絵 ideas-story/

ideas-story-lipsync-battle-collage.mp4

3D: ゲーム映像・粘土・設計図 ideas-3d/

ideas-3d-game-clay-blueprint.mp4

合成と形式: 撮影映像の注釈・Lottie・8bit ideas-composite/

ideas-composite-footage-lottie-8bit.mp4

User Prompt

  • Cursor Agent を起動し、Grok 4.7 で X の情報を集めたい。Opus 5.5 でみんなが多種多様な表現をしている。以前の調査(ystknsh/claude-config の PR Pre-register the E2 task suite #28)はプレゼンのコードまで落とし込んでいなかったので、再度調査してほしい。Shorts に限らない
  • 趣旨: Opus 5.5 の能力、特に動画の表現力が向上したと言われているので調査する。そのうち MulmoClaude / MulmoTerminal に使えそうな演出・表現方法を見つけ、縦横・用途(紹介、説明など)に分解して整理する
  • MulmoAnimation で表現できないものは、直接書いてよい。ystknsh/media の PR Generated image beats for the-assistant-you-nurture (flat vector en / Ghibli ja) #3 と receptron/presentations の PR feat: add MulmoCast 30s promo and whiteboard how-it-works decks #126 も参考にする(Opus 5.5 の能力は半分くらいしか表現できていない)
  • 見本がもっとも手堅い印象なので、もっと表現力の高い演出もレベル別に見たい。After Effects っぽいものや、YouTube Shorts で出てきそうなハイテンポの切り替えも入れる。実際にやるかは置いておき、こんな表現があるんだと分かるようにしたい
  • 落とした表現も含めて、mulmocast のユーザーが「これもできるの?」と思えるアイディアの素材として全部作る。BGM は ElevenLabs、TTS は Gemini 3.1、画像生成は Nano Banana か GPT Image。動画生成(Veo など)は使わない
  • センシティブなニュースは外す
  • 作った MulmoScript は、まずは presentations に自分用として、worktree で置く。mp4 は git で管理せず、PR 本文に添付して README からリンクする

実装の要点

  • 各フォルダの台本は build.py から書き出します(台本の JSON は直接編集しない)。音に合わせるものは 2 段階です。MV は曲を先に作ってキックの時刻を測り、口パクは TTS を先に作って 1/30 秒ごとの音量を測ってから、その数値を台本に焼き込みます
  • 素材は台本からの相対パスで参照します。html_tailwind の src 属性の相対パスは、mulmocast が台本のフォルダを基準に解決します(node_modules/mulmocast/lib/utils/image_plugins/html_tailwind.js の resolveRelativeImagePaths)。撮影映像は repo の mulmoterminal/clips/first-run-assets/07-grid.mp4 を参照し、コピーは持っていません
  • worktree から相対パスに関わる 4 本(MV、ニュース、キャラクター、合成)を書き出し、画像・映像・BGM が読めることと、MV のキックの時刻が変わらないことを確かめました
  • 作る途中で見つかった MulmoAnimation と書き出しの落とし穴(同じ要素への animate() の重ねがけ、scaleX の非対応、SVG の opacity、アニメーションの beat がキャッシュされないこと など)は README に記録しました

🤖 Generated with Claude Code

work in mulmo-presentations

ystknsh and others added 3 commits September 28, 2026 00:02
samples/ keeps data JSON (beat tables, fetched data, music plans) next to
its decks, so only files with a "$mulmocast" key are validated there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nine decks (L1-L3 levels, a high-tempo Shorts reel, and idea decks for a
beat-synced MV, explainers, a live-data news show, lip-synced dialogue,
3D, footage overlays and export formats), each generated by its own
build.py. Assets are referenced by paths relative to the deck.
README.md indexes the patterns and records the pitfalls found.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ystknsh ystknsh changed the title Feat/opus55 motion samples feat(samples): add Opus 5.5 motion samples rebuilt as MulmoScript Sep 28, 2026
The mp4s stay out of the repo; README's index links to the copies
attached to the PR body.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ystknsh
ystknsh merged commit ab00aa8 into main Sep 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant