資料には具体的なスキルの内容や手順が記載されていないため、用途や得られる結果を特定できません。
- 用途を確認したいとき
- 入力や手順を確認したいとき
- 期待する結果を確認したいとき
神話と事実を対比する縦型動画広告を、用意したコピーや音声、ブランド素材から組み立てます。字幕と音声のタイミングも整えられます。
Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike MYTH cards that flip to teal-check FACT cards (per-line strikethrough that crosses EVERY wrapped line), a "what actually works" turn, an optional proof reveal, a punch line, and a static end card. DETERMINISTIC assembly with ZERO AI-gen visuals — HTML hyperframes rendered frame-exact via Playwright (`window.renderAt(t)`, animation a pure function of beat-local time), Whisper beat-snap to VO word onsets, concat at a uniform fps, karaoke `.ass` captions burned last (suppressed on the proof + end-card beats), and a VO + optional music mix (music −20 dB, `amix normalize=0`, tail fade). FREE (Python + Playwright + ffmpeg); the recipe supplies the copy / palette / end-card / VO and gates the paid VO / music / Whisper calls to their own capabilities. Use for the myth-vs-fact format.
実行スコア 未検証
インストール方法を見る神話と事実を対比する約29.5秒の縦型動画広告を、コピー、配色、ブランドのエンドカード画像、ナレーション音声から組み立てます。冒頭のフック、3組のMYTH/FACTカード、「実際に効果のあること」への転換、任意の証拠紹介、締めの一文、静止エンドカードという流れで構成します。MYTHの取り消し線は折り返した各行に表示されます。音声の単語のタイミングに合わせて場面や字幕を調整し、任意の音楽を加えて動画に仕上げます。映像素材はHTMLの文字や図形から描画し、生成AIの画像・動画は使いません。
商品やサービスについて広まりがちな誤解を、短い動画で説明したいときに向いています。音声なしでも主張を読める構成にしたい場合や、既にあるコピー、ナレーション、ブランド画像を使って動画を編集したい場合にも使えます。
描画にはPython 3、PlaywrightとChromium、ffmpeg/ffprobeが必要です。Whisperによる音声のタイミング取得は省略でき、オフライン実行も可能です。ナレーション、音楽、Whisperの呼び出しは別の機能で用意します。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
The free, deterministic renderer for the myth-vs-fact video ad format — the sound-off-safe kinetic-typography explainer that busts N common myths and hands the viewer a credible resolution. Red-strike MYTH cards flip to teal-check FACT cards over a VO (voice + tone are the caller's choice; the demo used a calm-authority expert), then a "what actually works" turn + an optional proof reveal + a punch line + a static brand end card.
Every on-screen word is a deterministic HTML hyperframe — no AI image/video gen, no b-roll, no character. Visuals are free (no paid calls). The only metered spend is upstream (VO + Whisper word-timestamps + an optional music bed), gated to its own capabilities. This capability OWNS the whole FREE assembly: beat-snap → render → captions → mix → burn → master. Iterate the cut for free; re-roll only the offending paid audio beat.
It ports a validated earlier build — brand-neutralised,
config-driven, and portable (no /Users, no clients/; everything via --config +
--work-dir).
SOUND-OFF SAFE is the whole point: every claim is legible on-screen and the VO only reinforces it. VO-FIRST: render the VO, extract Whisper word onsets on the RENDERED audio, then snap every beat boundary + strike wipe + reveal to those onsets.
hook → 3× myth-fact (the flip triad — identical grammar so it reads as a pattern) →
turn (the "what actually works" pivot) → proof (optional actives/proof reveal, omit if
empty) → punch (full-frame closer) → end-card (the static brand PNG). Each beat carries
its role, duration, and its copy; ONE role template renders any pair.
scripts/beat_snap.py — VO-first alignment. FAL Whisper word-timestamps on the RENDERED
VO → re-snap every beat boundary to the nearest word onset. Writes
beat-manifest.json + whisper/words-flat.json into the work dir. --no-whisper keeps
the config durations un-snapped for a fully offline run.scripts/render_beats.py — the deterministic renderer. Per mg beat: pick the role
template under hyperframes/, inject the beat's copy + palette + fonts as window.BEAT,
drive window.renderAt(t) frame-by-frame via Playwright, screenshot each frame → ffmpeg
at EXACTLY the configured fps (default 25/1). The end-card beat is built from the
pre-supplied brand PNG (scale/crop + a ~0.35s fade-up) — never generated per run.scripts/make_captions.py — karaoke .ass from the manifest + Whisper words. ≤3 words
per cue; close on a >0.4s gap / beat-window edge / sentence-ending punctuation. Captions
are burned ONLY in caption-allowed windows; the proof + end-card beats are suppressed.scripts/compose.py — the assembler: concat the beats → mix VO + optional music (music
−20 dB, amix normalize=0, ~0.8s tail fade) → burn the .ass LAST → master mp4.scripts/config.example.json — the shape of the brand config the recipe binds (the
demo build, a made-up houseplant-care brand, as a worked reference).scripts/hyperframes/ — the bundled hyperframe scaffold: _shared.css (palette-tokened
tokens + card/tag/fact/pill/chain type), _shared.js (the initRenderer /
springScale / buildLineStrikes + strikeLines per-line-strike / popIn /
revealWords helpers + config injection), and one template per role (beat-hook.html,
beat-myth-fact.html, beat-turn.html, beat-proof.html, beat-punch.html).--config + a runtime work dir — NO hardcoded paths)config.json carries: fps (25) / width / height; vo + optional music +
mix{music_db:-20, tail_fade:0.8}; palette (the five CSS-var tokens bg, myth_strike,
fact_accent, headline_ink, accent); brand_name; display_font; end_card_png +
end_card_fade; caption_style; suppress_beats; and beats[] — each {n, role, duration, captions, cues{...}} plus the role's copy:
eyebrow, hook_line, emphasis, strike_wordmyth_index, myth_line, and either fact_line (a [bracketed] phrase
becomes the accented payload) OR fact_clauses[] (a staggered clause chain)turn_slate, turn_sub ([brackets] → emphasis)proof_eyebrow, proof_items[] ({name, badge}), proof_footnotepunch_lineend_card_png)The recipe's myth_fact_pairs, hook_line, turn_slate, punch_line, palette,
end_card_png, and optional actives_or_proof map onto these beats 1:1. See
config.example.json (a worked example — the Fernhollow houseplant demo; its copy and
palette are that brand's, never defaults).
The creative calls the caller makes upstream (the video-format recipe asks the user). This renderer never picks them — it only consumes the rendered files and copy:
vo file (made by create-vo-elevenlabs). The demo used a calm
expert voice.music file (made by create-music-elevenlabs). The demo used a
calm airy pad + sparse warm keys, no drums.The palette is a brand fact (brand kit), not a choice.
Range.getClientRects,
deduped to one rect per visual line) and lay one red bar at each line's vertical MIDDLE,
driven as ONE continuous L→R sweep. A single fixed-Y rule reads as an underline the moment
the headline wraps.setTimeout, no CSS keyframes —
so Playwright seeks frame-exact and the render is fully reproducible.render_beats.py enforces +
warns; a mismatch makes the concat demuxer silently drop frames.Events Format: line MUST carry the Name field or every cue gets a
leading-comma artifact. Suppress the proof/footnote + end-card beats (two text layers at
one spot both go unreadable).−20 dB under the VO, amix normalize=0 (with
normalize on the bed pumps), ~0.8s tail fade. Sound-off must still work without the bed.compose.py + make_captions.py (the concat / mix / caption
path) still run; only render_beats.py needs the browser.watch (QC the final master — the red strike crosses the vertical MIDDLE of EVERY wrapped
myth line, the VO is intelligible, captions are legible with no card collision,
suppression is correct on the proof + end-card beats, framerate is uniform 25/1, no
clipping, every claim is legible sound-off). The recipe gates the paid create-vo-elevenlabs
(VO), create-music-elevenlabs (bed), and FAL Whisper calls — this capability itself
makes NO paid calls.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
資料には具体的なスキルの内容や手順が記載されていないため、用途や得られる結果を特定できません。
顧客の課題や商品情報、広告事例を調べ、根拠のある広告訴求と静止画・動画・コピー案にまとめます。動画案は実際の制作フォーマットとの相性も確認し、商品単位の角度集として整理します。
Google、Meta、LinkedInなどの広告実績を分析し、成果の出た広告や予算の無駄を特定します。停止・拡大・テスト案や、具体的な予算配分を提案します。
広告費と登録後の成果を照合し、質の高いリード獲得にかかった実コストを算出します。広告素材ごとに拡大・維持・調査・停止の判断材料を整理するスキルです。
Meta広告を始める前にブランド情報を調べ、予算や広告表現に関わる不明点だけを質問して準備を整えます。確認事項と仮定を記録し、ブランド情報とキャンペーン概要を作成します。
広告文や画像内の表現を配信先と商品カテゴリのルールに照らして確認し、直せる箇所を修正しながら、法務や人の判断が必要なリスクを広告ごとに整理します。