本文へ移動
cccskills
無料GitHub で公開

generate-i2v-web-loop

静止画から、構図を保った無音のWeb用ループ動画を生成・検査・配信用に加工する。既定はKamui、Magnific指定時は専用coreを使う。

インストール方法を見る

含まれるファイル(13)

  • SKILL.md9.5 KB
  • agents/openai.yaml411 B
  • references/loop-repair.md2.5 KB
  • references/prompt-guide.md3.2 KB
  • references/quality-guide.md3.0 KB
  • references/web-delivery.md2.8 KB
  • scripts/build_comparison.py571 B
  • scripts/generate.py745 B
  • scripts/inspect_videos.py567 B
  • scripts/kamui_i2v.py803 B
  • scripts/postprocess.py7.9 KB
  • scripts/run_markdown_plan.py5.4 KB
  • scripts/setup_mcp.py557 B

SKILL.md(原文)

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

Web向けi2vループ動画生成

原則

  • 元画像の構図、比率、文字、ロゴ、UI、余白、色を優先して維持する。
  • ループ用途では同じ画像を開始・終了フレームへ指定する。
  • 生成ジョブは必ず1件ずつ実行し、完了・保存後に次を送信する。
  • 最終動画から音声ストリームを除去する。
  • Web素材では4Kを使用せず、実表示サイズに必要な最低限の解像度を選ぶ。
  • 生成providerは、ユーザー指定がなければKamui MCPにする。ユーザーがMagnific利用を明示した場合だけMagnificへ切り替える。
  • Kamuiでユーザーがモデルを指定しない場合は、カタログ上で有効なモデルのうち、最低解像度で推定単価が最も安いモデルを1件だけ選ぶ。

Kamuiを使う場合、モデル選択、MCP設定、逐次生成、再開、音声除去、検査、比較HTML、基本出力契約は kamui-i2v-core を読む。モデル名、MCP URL、ツール名、価格、解像度は models.json だけで管理する。モデル更新時にこのスキルのスクリプトへ値を直接追加しない。

Magnificを使う場合だけ magnific-i2v-core を読み、専用のAPIスクリプトで実行する。APIで扱えない条件や明示された画面操作はcoreのUI fallbackに従う。Kamui用scripts/generate.pyへMagnificを渡さない。

実行手順

1. 入力を確認する

入力画像を表示し、寸法と比率を確認する。元画像がない場合は、先に目的に合う画像作成スキルで静止画を作る。LP、記事LP、企業サイト、サービスサイト向けのアイソメ画像なら generate-t2i-web-isometric を読む。

  • <task>: 今回の目的を表す小文字英数字とハイフンの名前
  • 動かす既存要素: 1〜3種類
  • 動かさない要素: 文字、ロゴ、UI、主要な輪郭
  • 長さ: ループは原則4秒
  • 比率: 入力画像と同じ比率

詳細は quality-guide.md を読む。Web上の表示幅から必要解像度を決める場合は web-delivery.md も参照する。

2. モデルを決める

まずproviderを決める。

  • 指定なし: Kamui MCP。
  • Magnificの明示指定、または選択されたサイトがMagnificであることを確認できる場合: Magnific。モデル名だけでproviderを推測せず、指定モデルを既定経路で扱えるか確認する。

Kamuiの場合、ユーザー指定がなければ、モデルを指定せず実行する。共通JSONカタログから動的に選択させ、モデル名をこの本文へ固定しない。<skill>/scripts/generate.pyはKamui互換ラッパーで、内部では ../kamui-i2v-core/scripts/generate.py --mode loop を実行する。

python3 <skill>/scripts/generate.py INPUT_IMAGE \
  --task TASK_NAME \
  --mode loop \
  --prompt-file PROMPT_FILE

モデル指定時は--modelを繰り返す。

python3 <skill>/scripts/generate.py INPUT_IMAGE \
  --task TASK_NAME \
  --mode loop \
  --model kling-o3-standard \
  --model seedance-2.0-fast \
  --prompt-file PROMPT_FILE

利用可能モデルは次で確認する。

python3 <skill>/scripts/generate.py --list-models

Magnificのモデル、秒数、解像度、比率、費用確認は専用coreのカタログと--dry-runを使う。UI経路を使う場合だけ画面の設定・消費表示を確認する。要求条件と許可済み費用に収まることを確かめ、高価なモデルや比較候補を無断追加しない。

3. プロンプトを作る

prompt-guide.md のテンプレートを基準に、入力画像の内容へ合わせて英語で具体化する。

  • カメラ完全固定を明記する。
  • 動かす既存要素だけを列挙する。
  • 文字を生成・再描画・変形しないよう明記する。
  • 開始と終了で元画像へ完全に戻すよう明記する。
  • 大きな移動、場面転換、追加物を禁止する。

モデル比較では全モデルに同じpositive promptを渡す。モデル固有のnegative promptは、比較条件を変えるため既定では追加しない。

4. 生成providerごとに設定する

Kamuiの場合、MCP設定は kamui-i2v-core の手順に従う。generate.pyは../kamui-i2v-core/scripts/setup_mcp.pyを通じて、対象プロジェクトに.mcp.jsonがなければ初期配置元からコピーし、実行対象モデルの設定をマージする。

python3 <skill>/scripts/setup_mcp.py --project PROJECT_ROOT --model MODEL_SLUG

設定だけ行う場合は上記を使う。.mcp.jsonの初期配置、既存設定とのマージ、KAMUI_CODE_PASS_KEYの扱いはこのスキル側で再定義しない。

詳細は mcp-setup.md を読む。

Magnificの場合、MCP設定は不要。専用coreのAPI経路、または条件に合うUI fallbackを使う。

5. 逐次生成する

Kamuiの場合、generate.pyへ複数モデルを渡しても、内部では次をモデルごとに直列実行する。

  1. MCP初期化
  2. submit
  3. statusをポーリング
  4. resultを取得
  5. 動画をダウンロード
  6. 音声を除去
  7. 出力を検査
  8. 次のモデルへ進む

中断後は同じコマンドを再実行する。保存済みMP4はスキップし、送信済みrequest_idがあるジョブは再課金せずポーリングから再開する。意図的に再生成する場合だけ--overwriteを使う。

課金前の計画確認には--dry-runを使う。

Magnificも専用coreで1件ずつ実行・保存する。終了画像を扱えるAPIモデルまたはUIでは開始と終了に同じ画像を指定する。未対応の場合はプロンプトで一致を指定し、制御上の制限を記録する。出力をffprobeとループ再生で確認する。

6. 検査する

Kamuiでは生成後、generate.pyがinspection.jsonと_inspection/内の5点コンタクトシートを作成する。MagnificではMP4を出力契約に合わせて保存した後、同じ検査スクリプトを手動実行する。必要に応じて再検査する。

python3 <skill>/scripts/inspect_videos.py output/TASK_NAME

次を確認する。

  • 音声ストリームが0件
  • 長さが要求値に近い
  • 入力と出力の比率差が1%以内
  • 文字、ロゴ、UIが全フレームで安定
  • カメラ移動やクロップがない
  • 先頭・末尾フレームが十分近い
  • 境界で動きの速度や方向が急変しない
  • コンタクトシート上で文字、ロゴ、主要オブジェクトが変形していない
  • 急な場面変化が検出されていない

SSIMは静止フレームの近さだけを測る補助指標であり、シームレスループを保証しない。必ずindex.htmlで複数回ループ再生して目視確認する。

7. 比較ページを作る

複数モデル時は自動作成する。単一モデルでも必要なら実行する。

python3 <skill>/scripts/build_comparison.py output/TASK_NAME

HTMLは comparison-template.html を使い、全動画にautoplay muted loop playsinlineを設定する。全体の再生、停止、先頭から再生、速度変更を提供する。

8. 採用動画をWeb配信用に仕上げる

比較と検査で採用動画を決めた後、元動画を上書きせず_delivery/へ配信用成果物を作る。

python3 <skill>/scripts/postprocess.py output/TASK_NAME \
  --model MODEL_SLUG \
  --repair none

既定ではループ補修を加えず、H.264 MP4、VP9 WebM、WebP posterへ変換する。目視で境界問題がある場合だけtrim、crossfade、pingpongを選ぶ。補修方式の判断は loop-repair.md、HTML実装と配信解像度は web-delivery.md に従う。

文字やロゴの変形、カメラ移動、構図変化は後処理で隠さず再生成する。後処理条件を変更する場合は--overwriteを明示する。

出力

基本出力はKamuiの場合 kamui-i2v-core、Magnificの場合 magnific-i2v-core の出力契約に従い、このスキル側で再定義しない。

Web配信用の後処理を行った場合だけ、タスク出力ディレクトリ内の_delivery/へH.264 MP4、VP9 WebM、WebP poster、delivery-manifest.jsonを追加する。

ユーザーへは動画、比較HTML、主要な検査結果、未解決の品質問題を報告する。生成料金の概算と実課金が一致するとは断定しない。

必要環境

  • Python 3.9以上。外部Pythonパッケージは不要。
  • 選択providerの認証情報。KamuiならKamui Code Pass Key、Magnificなら専用coreの認証条件。
  • ffmpegとffprobe。無音化と検査に使う。
  • インターネット接続。

依存コマンドがない場合は課金ジョブ開始前に停止する。

レビュー

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

同じリポジトリのスキル

概要と使いどころ

Rebuild a degraded AI image to remove crunchy textures and repeated-edit artifacts while preserving identity, style, and composition. Use for clean remakes, not ordinary retouching or upscaling.

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

ryryo/dot-claude-dev32026年10月11日 更新

analyze-seminar-video

無料日本語概要

セミナー・講義・ウェビナー・研修・実演動画をローカルで文字起こしし、内容を分析して、必要なスライド画像や動画クリップ付きのHTML/Markdown資料を作る。動画から学習資料・実践ガイドを作りたい場合に使う。映像作品の再現設計やCanvas生成は対象外。

ryryo/dot-claude-dev32026年10月11日 更新

architecture-refactor-loop

無料日本語概要

責務・依存方向・状態や副作用の境界を監査し、既存挙動を保って段階的にリファクタリングする。read-only監査にも対応する。

ryryo/dot-claude-dev32026年10月11日 更新

astra-rules-refactor

無料日本語概要

AGENTS.mdや既存スキルをGPT-6 Astra向けに監査・整理するときに使う。契約と意図的な他モデル委譲を保ち、重複、過剰な手順、曖昧な停止条件を修正する。

ryryo/dot-claude-dev32026年10月11日 更新

character-sheet-imagegen

無料日本語概要

人物の参照写真から、同一性を保った複数アングルのキャラクターシートを生成・修正する。指定された身だしなみや撮影表現も整える。

ryryo/dot-claude-dev32026年10月11日 更新

character-to-codex-pet

無料日本語概要

既存キャラクター画像を、承認制でピクセルアートの正準画像へ変換し、3状態パイロット、クロマ前処理、状態間ジオメトリ検証、9状態生成、遷移QA、仮配置、アプリ内確認、ロールバック可能な正式配置まで行う。キャラクターからCodexペットを作る依頼に加え、ジャンプで小さくなる、状態ごとに身長が変わる、足元が跳ねる、クロマ縁が出る、アニメーションを修復したい依頼で使用する。

ryryo/dot-claude-dev32026年10月11日 更新

ryryo のスキルをすべて見る

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