SYNON 記事 映像・AI動画
Claude × MCP 運用仕様書 v1.0

Operations Spec · version 1.0 · 2026年8月15日

Claude × MCP
AI映画制作パイプライン 運用仕様書

Seedance 2.5・MiniMax H3・Veo 3.1 を Claude Code から MCP 経由で統合制御し、1〜3名のチームで5〜20分の短編〜中編を反復制作するための技術仕様。「著作物性を証跡化する運用」を中核に設計しています。

対象クライアント:Claude Code 対象モデル:Seedance 2.5 / MiniMax H3 / Veo 3.1 / ElevenLabs 想定規模:1〜3名

本資料の技術的記述は2026年8月15日時点の公開ドキュメントに基づきます。バージョンが上がるとAPI仕様は変わりうるため、実装前に一次情報を再確認してください。

Contents

目次

1 · Design Principles

設計思想

1-1. 5つの原則

P1
状態はすべてファイルに置く
MCP仕様 2026-07-28 でプロトコルレベルのセッションが廃止された。MCPサーバー側に状態を期待してはいけない
P2
生成は非同期3段で行う
投入→ポーリング→取得。HTTP MCPは初回応答60秒・アイドル5分がデフォルトで、同期待ちは必ず失敗する
P3
中間成果物はツール非依存の形式で持つ
Soraが約1年半で終了した。脚本・絵コンテ・キャラシートは残り、生成サービスは消える
P4
全ショットにシード・モデルID・プロンプト全文を記録
再現性、著作物性の主張(創作的寄与の証跡)、依拠性の否定の3つに同時に効く
P5
編集・結合は Bash + ffmpeg
MCPの出力トークン上限(既定25,000)とタイムアウトの影響を回避する
1-2. 「シーンパッケージ」という作業単位

2026年の実務では、作業単位はプロンプトではなく脚本ビート・キャラクタールール・参照素材・サウンド演出・承認ステータスを束ねた構造化オブジェクトです。本仕様書ではこれを shots.json の1エントリとして定義します(§4-3)。

2 · System Architecture

システム構成

Claude Code(オーケストレーター / Opus)
Workflow / Agent ツールで全体制御。状態は project/ 配下の JSON ファイルで管理
MCP · 動画生成
fal.ai 公式 MCP
submit_job / check_job / get_job_result の非同期3段。Seedance 2.5・MiniMax H3・Veo 3.1 を同一IFで
MCP · バックアップ
kie.ai MCP
Kling / Runway Aleph / Wan 等を1キーで。結果URLは14日で失効
MCP · ローカルGPU
ComfyUI MCP
MiniMax H3 のローカル配備+キャラLoRA。日本は許諾不要地域
MCP · 音声
ElevenLabs 公式 MCP
stdio。TTS・効果音・音楽。出力先を BASE_PATH で制御
NO MCP
Bash + ffmpeg
結合・カラコレ・整音。MCPの出力トークン上限とタイムアウトを回避

2-1. MCPサーバー構成

役割サーバートランスポート認証選定理由
動画生成の主軸fal.ai 公式 MCPStreamable HTTPBearer <FAL_KEY>非同期ジョブ用ツール一式を備える唯一の主要MCP。3モデルを同一インターフェースで扱える
横断バックアップkie.ai MCP(コミュニティ)stdioKIE_AI_API_KEYKling / Runway Aleph / Wan 等を1キーで。結果URLは14日で失効
ローカルGPU・LoRAComfyUI MCPHTTP / stdioOAuth or APIキーMiniMax H3 を日本国内でローカル配備可。キャラLoRAで最強の一貫性
音声・音楽ElevenLabs 公式 MCPstdioELEVENLABS_API_KEY公式。ELEVENLABS_MCP_BASE_PATH で出力先を制御
編集・結合使わない(Bash + ffmpeg)P5 参照
2-2. ⚠ クライアントは Claude Code を使うこと

Claude Desktop / claude.ai のカスタムコネクタは OAuth 2.0 が必須のため、Bearerヘッダ認証の fal.ai MCP は登録できません。加えて Bash・ファイル操作・サブエージェント並列が必要なため、Claude Code(または Claude Agent SDK)が事実上の唯一の選択肢です。Higgsfield MCP と Comfy MCP は OAuth対応のため Claude Desktop からも利用可能ですが、パイプライン全体を回すには不足します。

出典:fal.ai 公式MCPドキュメント / Claude Code MCP

3 · Setup

環境構築手順

3-1. 前提

3-2. .mcp.json(プロジェクトルートに配置)

.mcp.json
{
  "mcpServers": {
    "fal-ai": {
      "type": "http",
      "url": "https://mcp.fal.ai/mcp",
      "headers": { "Authorization": "Bearer ${FAL_KEY}" },
      "timeout": 1800000
    },
    "kie-ai": {
      "type": "stdio",
      "command": "node",
      "args": ["${CLAUDE_PROJECT_DIR:-.}/vendor/kie-ai-mcp/dist/index.js"],
      "env": { "KIE_AI_API_KEY": "${KIE_AI_API_KEY}" },
      "timeout": 1800000
    },
    "elevenlabs": {
      "type": "stdio",
      "command": "uvx",
      "args": ["elevenlabs-mcp"],
      "env": {
        "ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}",
        "ELEVENLABS_MCP_BASE_PATH": "${CLAUDE_PROJECT_DIR:-.}/assets/audio",
        "ELEVENLABS_MCP_OUTPUT_MODE": "files"
      },
      "timeout": 900000
    }
  }
}
typestreamable-httphttp のエイリアスとして使用可
url があるのに type がないエントリはエラー(stdioと誤解釈され読み飛ばされる)
環境変数展開は ${VAR}${VAR:-default} に対応
--scope project で追加すれば VCS にコミットしてチーム共有できる

3-3. CLI での追加

bash
# fal.ai(リモートHTTP)
claude mcp add --transport http fal-ai https://mcp.fal.ai/mcp \
  --header "Authorization: Bearer $FAL_KEY"

# ElevenLabs(ローカルstdio)— "--" 以降がサーバー起動コマンド
claude mcp add --env ELEVENLABS_API_KEY=$ELEVENLABS_API_KEY --transport stdio elevenlabs \
  -- uvx elevenlabs-mcp

# 確認
claude mcp list          # ✔ Connected / ! Needs authentication / ✘ Failed
claude mcp get fal-ai

--env の直後にサーバー名を置くと名前が KEY=value として誤読されます。間に別オプション(上例では --transport)を挟んでください。

3-4. ★ タイムアウト設定(最重要)

動画生成でつまずく原因の9割はここです。

項目デフォルト制御方法
ツール実行の壁時計上限約28時間サーバー別 timeout(ms)/MCP_TOOL_TIMEOUT
HTTP/SSE の初回応答タイマー60秒サーバー別 timeout を60秒以上に設定すると引き上がる(下げることは不可)
アイドルタイムアウトHTTP/SSE: 5分、stdio: 30分CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT(ms、0で無効化)
長時間呼び出しの自動バックグラウンド化2分CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS
MCP出力トークン上限25,000(10,000超で警告)MAX_MCP_OUTPUT_TOKENS
bash
export CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT=1800000   # 30分
export CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=8
export CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1
export MAX_MCP_OUTPUT_TOKENS=50000
特に効く3つの落とし穴

① サーバー別 timeout は「進捗通知では延長されない」ハード上限。notifications/progress を送っても壁時計は止まりません。
timeout を1000以上に設定すると、アイドルタイムアウトの下限にもなる。上例の 1800000(30分)指定はこれを狙ったもの。
サブエージェントからのMCP呼び出しは自動バックグラウンド化されない(メイン会話の呼び出しのみが対象)。ショット生成をサブエージェント並列で回す本仕様では、サーバー別 timeout の明示設定が必須です。

出典:Claude Code MCP ドキュメント

4 · Directory & Schema

ディレクトリ構造と中間成果物スキーマ

4-1. ディレクトリ構造

project-name/
project-name/
├── .mcp.json
├── CLAUDE.md                    # 作品全体のルール(全サブエージェントが継承)
├── .claude/
│   ├── agents/                  # サブエージェント定義
│   └── skills/
│       ├── render-shot/SKILL.md
│       ├── retake-shot/SKILL.md
│       └── assemble-cut/SKILL.md
├── 00_planning/
│   ├── logline.md
│   ├── treatment.md
│   └── budget.json              # 予算上限と消化状況
├── 01_script/
│   └── screenplay.md            # Fountain形式推奨
├── 02_characters/
│   ├── sheet.json               # キャラクターシート索引
│   └── refs/                    # 正面・横・背面・表情差分
├── 03_storyboard/
│   ├── shots.json               # ★ 制作の中核。シーンパッケージの配列
│   └── boards/                  # 絵コンテ画像
├── 04_shots/
│   ├── S001_C01.mp4
│   ├── S001_C01.json            # シード・モデルID・プロンプト全文・コスト
│   └── _rejects/                # 不採用テイク(証跡として保管)
├── 05_audio/  { vo/ sfx/ music/ }
├── 06_edit/   { edl.json  master.mp4 }
└── 99_logs/   { generation_log.jsonl  compliance.md }

4-2. 02_characters/sheet.json

json
{
  "characters": [{
    "id": "kaede",
    "canonical_prompt": "24-year-old Japanese woman, shoulder-length black
      hair with blunt bangs, single silver ear cuff, charcoal wool coat
      over cream turtleneck, calm and slightly guarded expression",
    "negative_prompt": "blonde hair, glasses, heavy makeup",
    "refs": { "front": "...", "side": "...", "back": "...", "expressions": ["..."] },
    "voice": { "provider": "elevenlabs", "license": "commercial", "consent_record": "..." }
  }]
}

canonical_prompt全ショットに文字列として完全共有します。ここを揺らすと一貫性が崩れます。

4-3. 03_storyboard/shots.json — シーンパッケージ

json
{
  "target_duration_sec": 300,
  "shots": [{
    "id": "S001_C01", "duration_sec": 8, "aspect": "16:9",
    "description": "楓が無人の駅ホームに立ち、遠くの踏切を見ている。冬の朝。",
    "camera": "slow dolly-in, eye level, 50mm equivalent, shallow DoF",
    "lighting": "cold overcast morning light, soft, blue-grey palette",
    "characters": ["kaede"], "audio_intent": "distant crossing bell, faint wind",
    "model": { "primary": "fal-ai/veo3.1/fast", "draft": "fal-ai/veo3.1/lite" },
    "reference_images": ["..."],
    "continuity": { "prev_shot_last_frame": null, "next_shot_first_frame_lock": true },
    "status": "pending", "takes": [], "budget_usd_cap": 6.0
  }]
}

status の遷移:pendingdraftingreviewapproved / rework

4-4. 04_shots/<id>.json — テイク記録(著作物性の証跡)

json
{
  "takes": [
    { "take": 1, "seed": 883410221, "model_id": "fal-ai/veo3.1/fast",
      "prompt_full": "(実際に送信したプロンプト全文をそのまま保存)",
      "cost_usd": 1.20,
      "human_judgment": "手の位置が不自然。カメラをもう一段寄せる。",
      "verdict": "reject" },
    { "take": 4, "seed": 883410224, "verdict": "approved",
      "human_judgment": "視線の芝居が意図どおり。採用。" }
  ]
}
最重要フィールド

human_judgment必ず人間が書いてください。これがAI生成物の著作物性(創作的寄与)を主張する際の中核証拠になります(§12-1)。

5 · Nine Phases

制作パイプライン 全9フェーズ

Phase名称主担当出力人間の関与
0企画・ログライン人間 + Claudelogline.md必須(発意)
1脚本script-writer (Opus)screenplay.md必須(決定)
2キャラクター設計character-designer (Opus)sheet.json必須(承認)
3絵コンテ・ショット分解storyboard-artist (Sonnet)shots.json必須(承認)
4ドラフト生成shot-generator ×N_rejects/*.mp4一括レビュー
5本番ショット生成shot-generator ×N04_shots/*.mp4ショット単位で採否判断
6音声・音楽voice-director05_audio/**必須(演技指示)
7整合性チェックcontinuity-checker (Opus)再生成対象リスト判断
8編集・仕上げeditor (Bash+ffmpeg)master.mp4必須(最終判断)

0企画・ログライン

人間が発意する。ここをAIに委ねると、以降すべての「創作的寄与」の主張が弱くなります。成果物:logline.md(1〜3行)、treatment.md(A4 1〜2枚)。Claudeの使い方は壁打ち相手として —「この設定の弱点を3つ挙げて」「観客が離脱するとしたらどこか」。

1脚本

> script-writer サブエージェントで 00_planning/treatment.md から
  5分尺(想定38ショット)の脚本を Fountain 形式で書いてください。
  セリフは全体の30%以下に抑え、映像で語る構成にしてください。

2キャラクター設計

  1. canonical_prompt を人間とClaudeで詰める(ここが作品の要
  2. 画像モデルでキャラクターシートを生成:正面・横・背面・表情差分4種の最低7枚を同一シード+同一プロンプトで角度だけ変える
  3. 人間が承認したものだけ 02_characters/refs/ に格納
  4. 声を使う場合は §12-3 の権利処理を先に完了させる

キャラシートは一度確定したら変更しない。 途中で変えると、それ以前のショットが全部作り直しになります。

3絵コンテ・ショット分解

条件primarydraft
8秒以下・標準ショットveo3.1/fast($0.15/秒 音声付き)veo3.1/lite($0.05/秒)
2K納品必要・日本語セリフありminimax-h3-2k($0.13/秒)minimax-h3-768p($0.08/秒)
8〜30秒の連続ワンシーンseedance-2.5(720p ≒$0.47/秒)同480p(≒$0.22/秒)
既存ショットの部分修正minimax-h3(編集Arena1位)/局所リライト

4ドラフト生成 — 最もコスト効果が高い工程

理由:Coca-Colaの事例では採用比率が約1:1000でした。総コストは「本番単価 × 最終尺」ではなく「ドラフト単価 × 総試行尺」が支配します。

Veo 3.1 Lite・38ショット×8秒×1テイク
$15
約2,400円。ここで構成を固めてから本番へ
この段階で削れる不要ショット
20〜30%
構図・演技・尺の判定はすべてここで行う

5本番ショット生成

1. mcp__fal-ai__submit_job     → job_id を即座に受け取る
2. mcp__fal-ai__check_job      → pollIntervalMs に従ってポーリング
3. mcp__fal-ai__get_job_result → 結果URLを取得
4. すぐにローカルへダウンロード(Bash: curl)
結果URLは失効する

Veo の生成動画は2日で削除されます。 kie.ai 経由の結果URLは14日で失効します。取得直後のダウンロードをパイプラインに必ず組み込んでください。

1ショットあたり3テイク生成 → 人間が採否を基本とし、不採用テイクは削除せず _rejects/ に保管(証跡)。budget_usd_cap を超えたショットは自動停止。並列度は CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=8 推奨。

6音声・音楽

日本語セリフはネイティブ音声を使わない

日本語セリフの発音は生成後に手動修正できません(Seedance 2.5 の実測レビューで指摘)。日本語作品では映像は無音生成 → ElevenLabsで別録り → ffmpegでミックスを推奨します。

音楽は Suno Pro以上または ElevenLabs Music v2(いずれも商用クリア済み)。無料プランの生成物は商用不可(Suno Free、Kling Free、Luma Free等)なので納品物には絶対に使わない。

7整合性チェック

項目判定基準
キャラ外見髪型・アクセサリ・服装が canonical_prompt と一致するか
照明の連続性隣接ショットで色温度が飛んでいないか
イマジナリーライン対話シーンで視線方向が反転していないか
小道具の連続性前ショットで持っていた物が消えていないか
尺のリズム同じ長さのショットが3つ以上連続していないか

不合格ショットは status: "rework" に戻し、Phase 5 へ。

8編集・仕上げ

bash
# 1. 結合
ffmpeg -f concat -safe 0 -i 06_edit/concat.txt -c copy 06_edit/_v.mp4

# 2. カラーグレーディング
ffmpeg -i 06_edit/_v.mp4 -vf "lut3d=luts/film_cold.cube" -c:a copy 06_edit/_vg.mp4

# 3. 音声ミックス(セリフ / SE / 音楽の3系統)
ffmpeg -i 06_edit/_vg.mp4 -i 05_audio/vo_mix.wav -i 05_audio/sfx_mix.wav -i 05_audio/music.wav \
  -filter_complex "[1:a]volume=1.0[a1];[2:a]volume=0.6[a2];[3:a]volume=0.35[a3];[a1][a2][a3]amix=inputs=3:duration=longest[aout]" \
  -map 0:v -map "[aout]" -c:v copy -c:a aac -b:a 192k 06_edit/master.mp4

# 4. ラウドネス正規化(-14 LUFS)
ffmpeg -i 06_edit/master.mp4 -af loudnorm=I=-14:TP=-1.5:LRA=11 -c:v copy 06_edit/master_norm.mp4

Seedance 2.5 は720p上限のため、1080p以上の納品には二次アップスケール(Topaz Video AI等)が必須です。

6 · Subagents

サブエージェント定義

6-1. 継承ルール(最重要)

サブエージェントが継承するもの:自身のシステムプロンプト、Agentツールのプロンプト文字列、プロジェクト CLAUDE.md、ツール定義。
サブエージェントが継承しないもの親の会話履歴・ツール結果・システムプロンプト、プリロードされていないSkill内容。

したがって、キャラクター設定・スタイルガイド・参照画像パスは、Agentツールのプロンプト文字列に毎回明示的に埋め込む必要があります。 これが一貫性維持の実装上の要点です。

6-2. 並列・予算の上限

上限環境変数/設定デフォルト
ネスト深度CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH3層
同時実行数CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS20
費用上限maxBudgetUsd(TS)/max_budget_usd(Py)無制限

Opus 5 は他モデルより積極的にサブエージェントへ委任するため、上記3つの上限設定が特に重要(公式明記)。

6-3. Agent SDK 実装例

TypeScript
import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
  prompt: "shots.json の status:pending 全ショットを本番生成してください",
  options: {
    allowedTools: ["Read", "Write", "Bash", "Glob", "Agent"],
    env: {
      CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS: "8",
      CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT: "1800000",
    },
    maxBudgetUsd: 200,
    agents: {
      "shot-generator": {
        prompt: `1. shots.json から指定ショットを読む
2. sheet.json から canonical_prompt と参照画像を読む
3. プロンプト = [canonical_prompt] + [description] + [camera] + [lighting]
   canonical_prompt は一字一句変更しない
4. submit_job で投入する。同期実行(run_model)は使わない
5. check_job でポーリング → get_job_result で結果URL取得
6. curl で即座にローカル保存(URLは失効する)
7. seed / model_id / prompt_full / cost_usd を記録`,
        tools: ["Read", "Write", "Bash", "mcp__fal-ai"],
        model: "sonnet", background: true, maxTurns: 40,
      },
      "continuity-checker": { model: "opus", tools: ["Read","Glob","Bash"] },
      "script-writer":       { model: "opus", tools: ["Read","Write"] },
    },
  },
})) { if ("result" in message) console.log(message.result); }

リテイク時の再開:Agentツールの結果に agentId が含まれます。resume: sessionId +プロンプト内での agentId 指定で、会話履歴ごと再開できます。

6-4. 数百ショット規模になったら Workflow ツールへ

ターンごとのサブエージェント委任ではなく、Workflow ツール(TypeScript Agent SDK v0.3.149+)でオーケストレーションを会話コンテキスト外のスクリプトに移すのが公式推奨です。長編(数百ショット)ではこちらを使ってください。

出典:Claude Agent SDK: Subagents / Dynamic workflows

7 · Skills

Skills 定義

Skillsの本文は使用時にのみロードされるため、長いリファレンス(プロンプト規約、モデル選択表、キャラ設定)を安価に持てます。

7-1. .claude/skills/render-shot/SKILL.md

yaml + markdown
---
name: render-shot
description: 絵コンテJSONの1ショットを動画化する。ショットIDを引数に取る。
argument-hint: [shot-id]
context: fork
agent: shot-generator
background: true
model: sonnet
allowed-tools: Read Write Bash(curl *) Bash(ffprobe *)
---

ショット $0 を生成する:
1. shots.json から shot $0 の定義を読む
2. sheet.json から canonical_prompt と参照画像を取得
3. プロンプト構成: [canonical_prompt] + [description] + [camera] + [lighting]
4. submit_job で model.primary に投入。参照画像を必ず添付
5. check_job でポーリング → get_job_result のURLを curl で即座に保存
6. ffprobe で尺・解像度・音声トラックを検証
7. take エントリ(seed / model_id / prompt_full / cost_usd)を追記
8. shots.json の status を "review" に更新

7-2. 有用なフロントマター一覧

フィールド用途
context: forkスキルを専用サブエージェントコンテキストで実行(background デフォルト true)
agentfork時に使うサブエージェント種別
allowed-toolsそのターン中だけ権限プロンプトを省略。同梱スクリプトを無確認実行可
disallowed-tools自律ループで AskUserQuestion を封じる等
model / effortスキル単位でモデル・推論強度を切替
paths特定ファイル操作時のみ自動起動
disable-model-invocation/render-shot のように手動専用にする

変数展開:${CLAUDE_SKILL_DIR}${CLAUDE_PROJECT_DIR}$ARGUMENTS / $0 $1… 出典:Claude Code: Skills

8 · Character Consistency

キャラクター一貫性の担保

単一手法では長編は成立しません。4つを併用します。

手法内容強度コスト
参照画像Veo 3.1 は最大3枚、MiniMax H3 は画像9点、Seedance 2.5 は最大30枚基礎(必須)H3は6枚目以降 各$0.04
フレーム連結前ショットの最終フレームを次ショットの開始フレームに使う。Veoのシーン延長は7秒×最大20回
キャラ学習Higgsfield Soul/ComfyUI + LoRA(ローカル)最強GPU+学習時間
運用側の担保シード固定・canonical_prompt の文字列共有・生成後の整合性検査必須
  1. シード値の固定と記録<id>.json
  2. canonical_prompt を文字列として完全共有(サブエージェントが会話履歴を継承しないため、毎回埋め込む)
  3. continuity-checker による生成後検査 → 不合格ショットのみ再生成

出典:Google Blog: Ingredients to Video / Gemini API: Veo

9 · Cost & Quality Gates

コスト管理と品質ゲート

9-1. 3段階の予算ゲート

00_planning/budget.json
{
  "total_cap_usd": 500,
  "phase_caps": { "draft": 30, "production": 350, "audio": 60, "retake_reserve": 60 },
  "per_shot_default_cap_usd": 6.0
}

9-2. コスト試算モデル(5分短編)

フェーズ別コスト内訳
完成尺300秒=8秒ショット38本、本番は1ショット3テイク前提。
合計:約 $280〜330(約4.5〜5.3万円)。Coca-Cola級の作り込み(採用比率1:100)にすると本番だけで約$4,560に膨らみます。テイク数が総コストを決めます。

9-3. 品質ゲート

ゲート通過条件判定者
G1(Phase 3後)全ショットに camera / lighting / model が埋まっている人間
G2(Phase 4後)ドラフトで構成が成立している。不要ショットを削除済み人間
G3(Phase 5後)全ショット approved。各ショットに human_judgment が記録済み人間
G4(Phase 7後)continuity-checker の指摘がゼロClaude + 人間
G5(Phase 8後)ラウドネス規格内。透かし・出所表示を確認人間

10 · Operational Checklist

運用チェックリスト

10-1. プロジェクト開始時

.mcp.jsontimeout: 1800000 を全動画サーバーに設定した
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT を設定した
claude mcp list で全サーバーが ✔ Connected
ffmpeg / ffprobe が動く
maxBudgetUsd を設定した
使用予定サービスの商用利用可否を当日時点の原文で確認した
声を使う場合、権利処理を完了した(§12-3)

10-2. 各ショット生成時

canonical_prompt を一字一句変更していない
submit_job(非同期)を使った。run_model(同期)を使っていない
結果URLから即座にローカルへダウンロードした
seed / model_id / prompt_full / cost_usd を記録した
human_judgment を人間が書いた

10-3. 納品前

generation_log.jsonl が全ショット分揃っている
不採用テイクが _rejects/ に保管されている
無料プラン由来の素材が混入していない
透かし・C2PA・SynthID の有無を確認し、必要な出所表示を行った
MiniMax H3 使用時、UIに「MiniMax H3」の表示を入れた(ライセンス義務)
既存著作物との類似性をインターネット検索で確認した(文化庁ガイダンス推奨事項)

11 · Troubleshooting

トラブルシューティング

症状原因対処
生成が60秒でタイムアウトするHTTP MCP の初回応答タイマー.mcp.json にサーバー別 timeout: 1800000 を設定
5分で「no response」になるアイドルタイムアウトCLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT=1800000
サブエージェントだけタイムアウトするMCP呼び出しは自動バックグラウンド化されないサーバー別 timeout を必ず設定(環境変数だけでは不足)
出力が途中で切れるMCP出力トークン上限(既定25,000)MAX_MCP_OUTPUT_TOKENS=50000。または結果をファイル経由で受け渡す
動画URLが404になるVeoは2日、kie.aiは14日で失効取得直後にダウンロードする工程を必ず入れる
キャラの顔が揺れるcanonical_prompt の揺らぎ/参照画像不足プロンプトを文字列共有。参照画像を増やす(Seedance 2.5なら最大30枚)
日本語セリフの発音が変ネイティブ音声は生成後に修正できない映像は無音生成し、ElevenLabsで別録り
1080p納品できないSeedance 2.5 は720p上限Topaz Video AI等で二次アップスケール、または MiniMax H3 2K
Claude Desktop に fal.ai MCP を追加できないカスタムコネクタは OAuth 2.0 必須Claude Code を使う
途中でサブエージェントが止まる並列上限/予算上限に到達並列数・maxBudgetUsd を確認

12 · Rights & Compliance

権利・コンプライアンス運用

12-1. 著作物性を守る(最重要)

文化庁「AIと著作権に関する考え方について」(令和6年3月15日)は、AI生成物の著作物性を利用者の創作意図と創作的寄与の程度で判断するとしています。米国著作権局も同方向で、プロンプトのみでは人間の著作者性を満たさないとしています。

IPライセンス事業を行うなら、著作物性が認められることが前提です。プロンプト一発生成物は、そもそもライセンスの対象になりません。

創作的寄与を証跡化する運用(本仕様書の中核)

証跡保存場所何を示すか
ログライン・トリートメント00_planning/人間の発意
脚本の改稿履歴(git)01_script/構成の決定
canonical_prompt の設計過程02_characters/ + gitキャラクターの創作
shots.json(camera / lighting)03_storyboard/演出の決定
各テイクの human_judgment04_shots/*.json採否判断=創作的選択
不採用テイク04_shots/_rejects/選択の存在証明
編集判断(EDL・カラコレ)06_edit/最終的な表現の構成

12-2. 学習データ・ライセンスのリスク管理

モデルリスク対応
Seedance 2.5 2.0系でDisneyの排除通告、Paramountの侵害主張、MPA非難、米上院議員の停止要求商用作品では使用を限定的にする。既存IPを想起させるプロンプトを避ける
MiniMax H3低〜中。特段の訴訟報道なし年商$20M未満は表示義務付きで商用可。日本はオープンウェイトの許諾不要地域
Google Veo低。SynthID透かし付与商用条件の明確化に留意。無料枠では不可
Runway入出力がモデル学習に永続利用され得る。機密案件には不向き

共通の禁止事項(文化庁ガイダンスより)

12-3. 声・肖像の取り扱い 要ウォッチ

法務省「肖像、声等の無断利用による民事責任の在り方に関する検討会」が2026年4月24日に設置され、2026年夏を目途に指針をとりまとめる方針です。制作開始前に最新版を必ず確認してください。

用途推奨禁止
キャラクターボイス合成音声(商用ライセンス付き)/自前収録+本人同意書実在人物の声のクローン
顔・容姿完全に架空のキャラクターシートから生成実在人物に酷似する生成
声優起用契約書に同意・報酬・AI利用の開示の3点を明記口約束

日本俳優連合は「声の肖像権」確立を求めており、2025年11月に公式音声DB「J-VOX-PRO(仮称)」のMOUが締結されました。正規ルート経由が事実上の要件になりつつあります。

12-4. 出所表示

サービス表示
BytePlus(Seedance)可視透かし+C2PA Content Credentials
Google(Veo / Gemini Omni)SynthID 電子透かし
MiniMax H3UIに「MiniMax H3」の表示が義務(年商$20M未満の商用利用時)

AI事業者ガイドライン第1.2版(2026年3月31日)は透明性・説明責任の記述を強化しており、「隠す」方向の設計は破綻します

12-5. YouTube 収益化ポリシーへの適合

2025年7月15日施行の「本物ではないコンテンツ」ポリシーは、汎用的・テンプレート的なAI生成コンテンツを収益化対象外としています。本仕様書の Phase 0〜3(人間が発意・決定する工程)と human_judgment の運用は、このポリシー適合にもそのまま効きます。

13 · Open Questions

未確認事項

本仕様書の作成にあたり、以下は一次情報を確認できませんでした。運用前に各自でご確認ください。

  1. Claude Code / Desktop が MCP Tasks 拡張を実装済みか — 公式 client matrix にTasksの列自体がない。本仕様書では submit→poll の独自パターンで設計
  2. Claude Code が実際にネゴシエートする MCP プロトコルバージョン(2026-07-28 対応済みか)
  3. Comfy MCP / Higgsfield MCP の個別ツール名(公式ページに列挙なし)
  4. ElevenLabs MCP の正確なツール名一覧
  5. Replicate MCP における長時間 prediction の具体的扱い
  6. Seedance 2.5 の 4K / 180秒モードの実在(Dreamina公式LPのみが主張、API実測と矛盾)
  7. MiniMax H3 のウォーターマーク有無
  8. コミュニティ製MCP(kie.ai / ComfyUI / ffmpeg系)の動作品質
MCP仕様 2026-07-28 の影響(参考)

現行仕様は前版(2025-11-25)から大きく変わりました。プロトコルレベルのセッション廃止(状態はツール引数で回す → P1)、完全ステートレス化SSEの再開機能を削除(ストリームが切れたら実行中リクエストは失われる → 同期待ちは完全に非推奨 → P2)、Sampling / Roots / Logging が非推奨、非同期タスクは公式拡張 io.modelcontextprotocol/tasks へ分離(ステータス draft)。

出典:MCP 2026-07-28 Changelog / MCP Tasks 拡張 / Extension Support Matrix

Sources

出典一覧