Skip to content
cccskills
FreePublished on GitHub

ymm4-mcp

YukkuriMovieMaker4(YMM4)をMCPで操作するスキル。ゆっくり実況動画の制作補助に使う。

以下の場面で必ず使うこと: - 「ゆっくり実況を作って」「セリフを追加して」「タイムラインを編集して」 - 「映像を確認して」「音声を確認して」「BGMを調べて」 - 「セリフと映像を合わせて」「重複をチェックして」 - 「スケルトンキング」「マインクラフト」等の動画内容への言及 - YMM4・ゆっくりムービーメーカー・ゆっくり動画に関する操作全般

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md9.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

YMM4 MCP スキル

YukkuriMovieMaker4をMCP経由で操作し、ゆっくり実況動画を自動生成・編集するスキル。


前提条件

  • YMM4が起動済み
  • YMM4McpPluginが有効(ツール → MCP連携サーバー → 起動)
  • MCPサーバーがプラグイン設定のポート(既定8765)で動作中

APIエンドポイント一覧

プロジェクト・アイテム系

GET  /api/status
GET  /api/project
GET  /api/items
POST /api/project/save
POST /api/project/open
POST /api/project/save-as
POST /api/project/export
GET  /api/jobs
GET  /api/jobs/{id}
POST /api/jobs/{id}/cancel
POST /api/jobs/{id}/resume
POST /api/edits/checkpoint
GET  /api/edits/checkpoints
POST /api/edits/rollback
POST /api/timeline/duration

セリフ・アイテム編集系

POST /api/items/voice
POST /api/items/prop
POST /api/items/delete
POST /api/items/select

複数セリフの add_script はHTTPエンドポイントではなく、MCP ymm4_interact のactionです。

映像確認系

GET  /api/preview/capture
POST /api/preview/seek
GET  /api/preview/position
POST /api/playback/play
POST /api/playback/stop

音声系

POST /api/preview/record
POST /api/preview/watch    ← 映像+音声同時取得

MCPツールの使い方

ymm4_interact(操作系)

# アイテム一覧取得
action="get_info", sub_action="items"

# セリフ一括追加(文字数から長さ自動計算)
action="add_script",
start_frame=0, fps=30, chars_per_sec=5,
lines=[
    {"layer": 7, "character": "ゆっくり霊夢",   "text": "セリフ内容"},
    {"layer": 8, "character": "ゆっくり魔理沙", "text": "セリフ内容"},
]
# ※ add_scriptは前のセリフ終了直後に次を配置する
#   シーンごとにstart_frameを指定して複数回呼ぶこと

# アイテム一覧から item_id と revision を取得
items = (action="get_info", sub_action="items")

# アイテム削除(expected_revisionはitem_idと組み合わせる)
action="edit_item", sub_action="delete",
item_id="native:...", expected_revision="..."

# プロパティ変更(フレーム移動など)
action="edit_item", sub_action="property",
item_id="native:...", expected_revision="...",
prop="Frame", value="210"

# キーフレーム(立ち絵を左から登場)
action="get_info", sub_action="keyframes", item_id="native:...", prop="X"
action="edit_item", sub_action="keyframe",
item_id="native:...", expected_revision="...",
prop="X", keyframe_action="set", at=0, value=-400
action="edit_item", sub_action="keyframe",
item_id="native:...", prop="X", keyframe_action="set", at=30, value=0

# 完成動画を書き出してジョブをポーリング
action="control", sub_action="export", path="C:/Videos/final.mp4"
action="get_info", sub_action="job", job_id="job_..."

# 危険な一括編集の前にスナップショット
action="control", sub_action="checkpoint", reason="before apply", backup=True
# 悪化したら、チェックポイント以降に増えたアイテムだけ削除(削除済みは復元しない)
action="control", sub_action="rollback", checkpoint_id="cp_..."

ymm4_preview(映像・音声確認系)

# 特定フレームに移動して画像取得
action="seek_capture", frame=738

# 映像+音声を同時取得(最も強力)
action="watch",
frame=0,
duration_ms=5000,          # 最大8000ms推奨
capture_interval_ms=2000   # 2000ms以上推奨(小さいと1MBエラー)

# 音声のみ録音
action="record", duration_ms=5000

標準ワークフロー:ゆっくり実況を作る

Step 1:映像全体を把握する

watchで複数シーンを確認する。

# 大まかな流れを掴む(例)
for frame in [0, 500, 1500, 3000, 5000]:
    action="watch", frame=frame,
    duration_ms=4000, capture_interval_ms=2000

Step 2:シーン分けと台本作成

映像の内容をもとに台本を作る。

フレーム計算の目安(5文字/秒・30fps):

文字数フレーム秒数
20文字120f4秒
30文字180f6秒
40文字240f8秒
50文字300f10秒

被り防止のルール:

  • 前のセリフ終了f = 開始f + length
  • 次のセリフ開始f ≥ 前のセリフ終了f + 10f(余裕を持たせる)
  • 同レイヤー内で被りがないか必ず確認

Step 3:シーンごとにadd_scriptで配置

# 例:0fから配置
action="add_script", start_frame=0, lines=[
    {"layer": 7, "character": "ゆっくり霊夢",   "text": "冒頭のセリフ"},
    {"layer": 8, "character": "ゆっくり魔理沙", "text": "続きのセリフ"},
]
# → 戻り値のtotal_framesが次のstart_frameの目安

# 次のシーン(例:460fから)
action="add_script", start_frame=460, lines=[...]

Step 4:100fごとに映像確認

for frame in range(0, 最終フレーム, 100):
    action="seek_capture", frame=frame
    # 確認:セリフと映像が合っているか

確認項目:

  • セリフのテキストが映像の内容と合っているか
  • 表示フレームのシーンが正しいか
  • 前後のセリフが重複していないか

Step 5:ズレ・重複を修正

# 被りチェック(アイテム一覧から手計算)
# 同レイヤーで: item[n].frame < item[n-1].frame + item[n-1].length → 被り!

# フレーム位置を修正
action="edit_item", sub_action="property",
layer=8, frame=186, prop="Frame", value="210"

# セリフを削除して作り直す場合
action="edit_item", sub_action="delete", layer=7, frame=954

Step 6:完成動画を書き出す

タイムラインが揃ったら、書き出しはジョブとして投入し、完了とファイル検証を待ってから報告する。

# 既存ファイルを消したくない場合は overwrite を付けない
job = (action="control", sub_action="export",
       path="C:/Videos/final.mp4", overwrite=True,
       idempotency_key="episode-final")
# → すぐ job_id が返る。MCPを切ってもYMM4側のジョブは続く

while True:
    status = (action="get_info", sub_action="job", job_id=job["job_id"])
    # queued / running / completed / failed / cancelled / interrupted
    if status["status"] == "completed" and status.get("result", {}).get("verified"):
        break
    if status["status"] in ("failed", "cancelled", "interrupted"):
        # interrupted は YMM4再起動後。resume_job で再投入
        break

本体の出力APIがパス指定に対応していない場合は EXPORT_METHOD_UNAVAILABLE または EXPORT_DIALOG_REQUIRED になる。ダイアログ操作は自動化しない。


音声・BGM分析

watchで録音してPythonで解析

# 1. watchで録音(capture_interval_msを大きくして画像を減らす)
action="watch", frame=0, duration_ms=8000, capture_interval_ms=8000
# → C:\...\ymm4プラグイン\watch_result.wav に保存される

# 2. Pythonで解析(WAVはfmt=3 IEEE float 32bit, 48kHz, 2ch)
import struct, math
with open(path, "rb") as f: data = f.read()
# dataチャンクを探してサンプル取得
# left = samples[::2]  ← 左チャンネルのみ

分析指標:

指標意味
RMS > 0.01音声あり
ZCR 高い高音・速いリズム
主要周波数 200-800Hzピアノ・ストリングス系
0.5秒ごとRMSの変動曲のリズム感

よくある問題と対処

問題原因対処
watchでToo largeエラーデータが1MB超duration_ms↓、capture_interval_ms↑
キャプチャが真っ黒(1枚目)シーク直後の描画待ち正常。2枚目以降を使う
セリフの被りadd_scriptの自動配置がズレたframe指定を手動で調整する
BGMしか録音できないゆっくり音声が再生されていないYMM4の再生が開始されているか確認
MCP接続エラーサーバーが未起動YMM4でツール→MCP連携サーバー→起動

レイヤー構成の慣例

Layer 0:   動画ファイル(VideoItem)
Layer 1-6: エフェクト・字幕等
Layer 7:   ゆっくり霊夢のセリフ
Layer 8:   ゆっくり魔理沙のセリフ
Layer 9+:  追加キャラ

キャラクター設定

キャラ一人称備考
ゆっくり霊夢私(わたし)ツッコミ役
ゆっくり魔理沙私(わたし)ボケ役。「俺」は使わない

⚠️ 魔理沙の一人称は「私」。「俺」「僕」は誤り。セリフ生成時は必ず「私」を使うこと。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

YMM4でゆっくり茶番動画を作るスキル。 霊夢(ボケ)と魔理沙(ツッコミ)のコント・日常会話・掛け合いで笑いを取る茶番劇を自動生成する。 以下の場面で必ず使うこと: - 「ゆっくり茶番を作って」「コントを作って」「ネタ動画にして」 - 「霊夢と魔理沙に漫才させて」「ボケとツッコミを入れて」 - 「日常系のゆっくり動画を作って」「ギャグを入れて」 - 「面白い掛け合いにして」「笑える動画にして」 - ゆっくりのコメディ・ギャグ・漫才・コント全般

The English summary is being prepared. Showing the original description.

SCPgamerscp/ymm4MCP27Updated Oct 22, 2026

AquesTalk(ゆっくりボイス)の音声記号列を自動生成・変換するスキル。 普通の日本語テキストをアクセント記号・句切記号付きの音声記号列に変換する。 以下の場面で必ず使うこと: - 「調声して」「発音を直して」「アクセントをつけて」 - 「音声記号列に変換して」「ゆっくりの発音を自然にして」 - 「棒読みを直して」「セリフの読み方を修正して」 - 「タイムラインのセリフを調声して」「全セリフに発音記号をつけて」 - AquesTalk・音声記号・アクセント記号・句切記号に関する操作全般

The English summary is being prepared. Showing the original description.

SCPgamerscp/ymm4MCP27Updated Oct 22, 2026

YMM4でゆっくり実況動画を作るスキル。 ゲームプレイ映像にゆっくりボイスのセリフを合わせて実況動画を自動生成する。 以下の場面で必ず使うこと: - 「ゆっくり実況を作って」「ゲーム実況にセリフをつけて」 - 「映像を見ながらセリフを考えて」「ボス戦の実況をして」 - 「マインクラフト・Apex・原神」等ゲーム名が出てきたとき - 「霊夢と魔理沙に実況させて」「セリフと映像を合わせて」 - ゲームプレイ動画・実況・解説コメントに関する操作全般

The English summary is being prepared. Showing the original description.

SCPgamerscp/ymm4MCP27Updated Oct 22, 2026

YMM4でゆっくり解説動画を作るスキル。 テーマや知識をゆっくりボイスで分かりやすく解説する動画を自動生成する。 以下の場面で必ず使うこと: - 「ゆっくり解説を作って」「〜について解説動画にして」 - 「〜をわかりやすく説明する動画を作って」 - 「歴史・科学・ゲーム攻略・ランキング」等の解説コンテンツ - 「霊夢に質問役をやらせて」「魔理沙に解説させて」 - テロップ・字幕・箇条書き的な説明が必要な動画全般

The English summary is being prepared. Showing the original description.

SCPgamerscp/ymm4MCP27Updated Oct 22, 2026

YMM4でゆっくり音声を使ったストーリー・物語動画を作るスキル。 霊夢・魔理沙・その他キャラクターが登場する短編小説・ドラマ・ファンタジー・ 感動系・ホラー・ミステリー等の物語を自動生成する。 以下の場面で必ず使うこと: - 「ゆっくりでストーリーを作って」「物語動画にして」「短編ドラマを作って」 - 「感動系のゆっくりを作って」「ホラーストーリーにして」「ミステリーを作って」 - 「霊夢と魔理沙が冒険する話」「ファンタジー系の動画」 - 「台本から動画を作って」「小説をゆっくり動画にして」 - 複数キャラが登場する物語・ドラマ・朗読系の動画全般

The English summary is being prepared. Showing the original description.

SCPgamerscp/ymm4MCP27Updated Oct 22, 2026

See all skills by SCPgamerscp

Report a problem with this skill