本文へ移動
cccskills
無料GitHub で公開日本語紹介

ai-presenter-video

台本やテーマと成人の人物画像から、ナレーションと字幕付きの話者動画を制作。口の動きや画質を確認し、音量を整えた保存用・共有用動画に仕上げます。

原文原文の説明を見る

Make a verified AI presenter video from script + image.

インストール方法を見る

こんなときに便利

  • ナレーション付き解説動画の制作
  • 既存の話者動画への字幕追加
  • 音声と口の動きを修正したいとき
  • 保存用・共有用動画の書き出し

日本語での紹介

できること

テーマや台本と、利用許可のある成人の人物画像1枚から、話者が説明する動画を制作します。ナレーションを生成して台本との一致を確認し、その音声に合わせて映像と字幕を編集します。リップシンク(音声と口の動きの同期)や人物の一貫性を確認し、音量を整えた保存用・共有用動画と検証レポートを出力します。既存の制作作業の再開、字幕追加、修正、再書き出しにも対応します。

こんなときに便利

短い解説動画を作りたいときや、制作途中の話者動画を仕上げたいときに向いています。短い試作で人物の見た目と口の動きを確認してから本制作へ進み、確認済みの成果物は再生成せずに利用します。

使い方の例

  • 「この台本と人物画像で、字幕付きの縦型解説動画を作って」
  • 「既存の動画制作を再開して、口の動きを修正し、共有用に書き出して」

注意点

Linux・macOS向けで、ffmpeg、ffprobe、python3が必要です。最終出力にはbash、jq、awkも使います。音声・動画生成には利用可能な外部ツールが必要で、有料生成と画像の外部送信は事前承認が前提です。画像の権利と成人であることを確認し、声の複製には別途許可が必要です。

この紹介文は、公開されている SKILL.md をもとに AI(Claude Haiku)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(9)

  • SKILL.md9.1 KB
  • assets/job.template.json1.8 KB
  • LICENSE1.0 KB
  • references/editing.md3.5 KB
  • references/generation.md4.5 KB
  • references/qa-recovery.md3.7 KB
  • scripts/finalize_delivery.sh6.8 KB
  • scripts/init_job.py5.3 KB
  • scripts/preflight.py7.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

AI Presenter Video

Turn a topic (or finished script) plus ONE authorized adult presenter image into a complete, publish-ready presenter-led video: locked narration, avatar generation with lip-sync QA, captions, deterministic editing, loudness-normalized master/share encodes, and machine + visual acceptance reports.

Use this skill for new presenter videos AND for continuing, revising, captioning, lip-sync-repairing, or re-exporting an existing presenter-video job. The workflow is provider-neutral: pick generation capabilities from what is actually available in the session (FAL video/image models via image_generate and the video-gen plugin, TTS via text_to_speech, ASR via the whisper/STT tooling, ffmpeg for everything deterministic).

Ported from cclank/lanshu-create-ai-presenter-video (MIT). Upstream body kept substantively verbatim in references/; Hermes adaptations live in this hub file. Scripts are deterministic (no network, no credentials).

Hermes adaptations (read first)

  • Skill dir resolution — upstream hardcoded its own agent's skills path. In Hermes the loader expands ${HERMES_SKILL_DIR} to this skill's installed directory, so every command below uses that token directly:

    SKILL_DIR="${HERMES_SKILL_DIR}"
    

    Shell variables do not persist between tool calls — re-paste the assignment (or the expanded path) in each terminal call that uses it.

  • Capability mapping — where the references say "a voice generation capability", use text_to_speech (OpenAI/Edge/ElevenLabs per user config); "presenter/avatar generation" → FAL image-to-video families (Kling, Wan, MiniMax H3 etc.) through the configured video tooling, or an avatar/lipsync endpoint the user has access to; "word-timestamp ASR" → whisper via the STT tooling or faster-whisper in a venv; "deterministic compositor" → ffmpeg filtergraphs, or the hyperframes skill when installed (the editing reference has a HyperFrames section that maps directly onto it).

  • Visual QA — do the "normal-speed visual review" steps with vision_analyze on the generated contact sheet plus sampled frames (identity, mouth timing, hands, blinking, continuity). Numeric checks come from the scripts' ffprobe output.

  • Paid-generation consent — remote avatar/TTS generation is billable. Follow the upstream operating rules: before the first paid call state the uploaded assets, requested seconds, known cost, pilot size, and retry ceiling, and get the user's explicit go-ahead. Never upload the presenter image to a remote provider before remote_upload_approved is true in job.json.

  • Consent flags live under input — rights_confirmed, adult_presenter_confirmed, remote_upload_approved, and voice_clone_approved sit inside the input object of job.json (init flags set them; hand-editing must target input.*, not the job root). manual_input_review.* sits at the root. preflight.py distinguishes errors (block everything) from remote_blockers (block only remote generation) — local script/audio work may proceed while remote is blocked.

Workflow

  1. Start or resume a job. New job:

    python3 "$SKILL_DIR/scripts/init_job.py" \
      --job-dir ~/Videos/my-presenter-video \
      --presenter-image /path/to/presenter.png \
      --topic "explain context engineering in one minute" \
      --duration 60 --aspect 9:16 \
      --rights-confirmed --adult-presenter-confirmed
    

    Use --script for an existing script file; other flags: --voice-sample, --supporting-media, --width, --height, --fps, --watermark, --cta. For an existing job, read job.json + QA reports and resume from the earliest unfinished state — never regenerate accepted work.

  2. Manual input review. Actually look at the presenter image (vision_analyze) and listen to any voice sample; record findings by setting the manual_input_review booleans in job.json, e.g.:

    python3 - <<'PY'
    import json
    p = "~/Videos/my-presenter-video/job.json"  # expand ~ or use an absolute path
    import os; p = os.path.expanduser(p)
    j = json.load(open(p))
    j["manual_input_review"].update(image_viewed=True, single_clear_face=True,
                                    image_has_no_unwanted_text=True)
    json.dump(j, open(p, "w"), indent=2)
    PY
    

    Then gate:

    python3 "$SKILL_DIR/scripts/preflight.py" ~/Videos/my-presenter-video/job.json
    

    Proceed only when ok: true; do remote generation only when remote_ready: true. Note: preflight also updates job.json in place (records the report path) — re-read it after running rather than editing a stale copy.

  3. Lock content and audio — read references/generation.md. Script → full narration via text_to_speech → ASR-verify the narration against the script → record real durations. The locked audio is the master clock for everything downstream.

  4. Plan and generate the presenter — read references/generation.md. Short low-cost pilot first; full run only after the pilot passes identity and mouth-timing review.

  5. Edit — read references/editing.md. Deterministic timeline driven by the locked audio; captions and keyword callouts only after audio and media are final.

  6. Verify and deliver — read references/qa-recovery.md, render, then:

    bash "$SKILL_DIR/scripts/finalize_delivery.sh" \
      ~/Videos/my-presenter-video/renders/rendered.mp4 \
      ~/Videos/my-presenter-video/outputs my-video
    

    The finalizer preserves aspect ratio, runs two-pass loudness normalization (program ≈ −16 LUFS), produces master + share encodes, decode-verifies both, writes a delivery report JSON, and emits a nine-frame contact sheet. Inspect the contact sheet with vision_analyze before claiming completion.

Operating rules (non-negotiable)

  • Confirm image rights, adult status, remote-upload approval, and voice-cloning authorization before the relevant remote action.
  • Never infer or clone a real person's voice from an image; use an authorized sample or a stock TTS voice.
  • Lock the complete narration before presenter generation, caption timing, or final scene boundaries.
  • Mute video sources in the final composition; only the approved narration and intentional mix tracks carry audio.
  • Preserve provider request bodies and task IDs (minus credentials/expiring URLs). Poll interrupted work before resubmitting — avoid double billing.
  • Stop after three rejected paid candidates and summarize the failure mode.
  • Do not claim completion until the final files fully decode and the contact sheet or full playback has been reviewed.

Defaults for minimal input

9:16, 1080×1920, 30fps; topic-derived videos target 45–75s; stock voice when no authorized sample; presenter-led layout with hook → 2–4 beats → close; no music/CTA unless requested; language inferred from the request.

Reference routing

  • references/generation.md — intake, content, voice, capability selection, presenter prompts, paid generation, provider changes.
  • references/editing.md — timeline contract, openings/closes, captions, keyword-callout presets, HyperFrames composition, exports.
  • references/qa-recovery.md — technical acceptance, visual acceptance, and recovery for lip-sync/identity/hands/exposure/freeze/caption/audio faults.

Pitfalls

  • preflight.py requires ffprobe; on a bare box install ffmpeg first.
  • The consent booleans set by init flags land under input.*; editing them at the job-json root silently does nothing (preflight keeps blocking).
  • finalize_delivery.sh needs bash + jq + awk and a fully decodable input — a truncated render fails the decode check by design, not by accident.
  • Long avatar clips drift: prefer one continuous presenter source sliced on the audio timeline over many regenerated chapter clips (identity drift across regenerations is the #1 visual-QA failure).
  • FAL i2v endpoints cap duration (typically 5–15s); plan chapter-level presenter segments accordingly and reuse the pilot's seed/params for consistency where the endpoint supports it.

Verification

Validated hands-on (Aug 2026): init_job.py → job.json with correct state machine; preflight.py correctly blocked on unreviewed inputs, flipped to ok: true after review booleans, and kept remote_ready: false until input.remote_upload_approved; finalize_delivery.sh on a synthetic 5s 1080×1920 render produced decode-verified master (631kbit/s) + share encodes, delivery-report JSON, and a 9-frame contact sheet, exit 0.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

1password

無料日本語概要

1Passwordに保存したパスワードやAPIキーを、コマンド実行や設定テンプレートで使うためのスキル。CLIの導入、認証、秘密情報の取得・受け渡しを案内します。

  • 1Password CLIの導入と設定
  • 保存済みAPIキーでコマンド実行
  • 設定テンプレートへの秘密情報の埋め込み
NousResearch/hermes-agent25.3万2026年10月12日 更新

3-statement-model

無料日本語概要

損益計算書・貸借対照表・キャッシュフロー計算書を数式で連動させるExcelモデルを作ります。実績と予測の入力、前提を変えた比較、財務三表の整合性確認を段階的に進めます。

  • 財務テンプレートへの実績入力
  • 財務三表が連動する予測の作成
  • 基本・上振れ・下振れシナリオの比較
NousResearch/hermes-agent25.3万2026年10月12日 更新

Run PyTorch training across GPUs with minimal changes.

日本語の概要は準備中です。原文の説明を表示しています。

NousResearch/hermes-agent25.3万2026年10月12日 更新

Set up Actual Computer (actual.inc) inference in Hermes.

日本語の概要は準備中です。原文の説明を表示しています。

NousResearch/hermes-agent25.3万2026年10月12日 更新

adversarial-ux-test

無料日本語概要

技術が苦手で不満を抱きやすい利用者になりきってアプリを試し、操作の分かりにくさや離脱の原因を発見。実際の改善課題と個人的な不満を分け、修正案をまとめます。

  • 公開やデモ前に使いやすさを確認したいとき
  • 新規ユーザーの体験を点検したいとき
  • 登録・課金でのつまずきを探したいとき
NousResearch/hermes-agent25.3万2026年10月12日 更新

agent-merge-conflict-arbiter

無料日本語概要

2つのエージェントが別々に加えた変更のGit競合を、双方の差分と意図から中立的に解決。競合箇所ごとの判断理由を記録し、ビルドやテストで統合結果を確認します。

  • 2つのエージェントのブランチ競合を解消
  • 並行したworktreeの変更を統合
  • 競合する設計判断の理由を確認したいとき
NousResearch/hermes-agent25.3万2026年10月12日 更新

NousResearch のスキルをすべて見る

このスキルの問題を報告する