📽️

kamuicodeとClaude Codeで作る、AI動画生成ワークフロー制作入門

に公開

どうも、こんにちは。私です。

新XでAI系のトレンドを追っている方であれば、神威/Kamuiをご存知の方も多いかと思います。私も地味に初期ユーザーですが、機能のアップデートについていけていないので、そのキャッチアップ録になります。

元々、神威はwebベースでUIを提供されていましたが、最近は「kamuicode」と呼ばれるCLIなアプローチ方面を伸ばしているようです。

特にGitHub Actionsと連携して、AIワークフローを構築できる「kamuicode Workflows」が面白そうで、今回はそのコードを読みながら、自分なりにカスタマイズしたので、その過程を共有したいと思います。

完成したワークフローの実行結果の一部はこんな感じです。
https://x.com/ryryo/status/1951250131489042806

GitHubリポジトリも公開しているので、ぜひ参考にしてみてください。
https://github.com/ryryo/kamuicode-workflow-cc/

生成過程の中間出力の画像や動画も、こちらのGithubPageにまとめています。
https://ryryo.github.io/kamuicode-workflow-cc/demo/

そもそもKamuicodeって何者?

まずは、今回の主役たちの紹介から。

神威/Kamui とは

https://www.kamui.ai/ja

神威は元木さんが開発されている、一言で言うと、一言で言うと「様々なAIモデルを連携させ、マルチモーダルな生成タスクを自動化するためのプラットフォーム」です。テキスト生成のAIはもちろん、画像生成、動画生成、音声合成といった多種多様なAIモデルを組み合わせて、一連のワークフローを構築できます。

例えば、「テキスト原稿から、リアルな人物が話すニュース動画を字幕付きで生成する」といった、複数のAIの力が必要な処理を、YAML形式で定義し、自動で実行させることができます。

kamuicode とは

元々、神威はWebサイト上のUIでワークフローを構築するサービスでしたが、より柔軟に設計するためら、コマンドラインで操作できる「kamuicode」の開発も進められています。

Claude Code」然り、CLIなアプローチのAIプロダクトがコードに触れてる人たちからすると使いやすいよなってなりますよね。

kamuicode MCP とは

そしてkamuicode MCPは、Kamuiが提供する様々なAI機能を、Claude CodeのようなMCP対応ツールから簡単に呼び出せるようにするためのパッケージです。

これを自分の環境で動かすことで、多種多様なAIモデルをAPI経由で自由に組み合わせられるようになります。2025年8月時点では、以下のような機能が提供されています。

  • Text-to-Image (t2i): テキストから画像を生成(Google Imagen3, FLUXなど)
  • Image-to-Image (i2i): 画像を基に別の画像を生成(FLUX Kontextなど)
  • Text-to-Video (t2v): テキストから動画を生成(Veo3, WAN v2.2など)
  • Image-to-Video (i2v): 画像から動画を生成(ByteDance Seedance/OmniHumanなど)
  • Video-to-Video (v2v): 動画を基に別の動画を生成(口パク生成、背景透過、高画質化など)
  • その他: 3Dモデル生成、音楽生成、音声生成、動画分析など

これらを自由に組み合わせて、自分だけのワークフローを作れるのが魅力です。

kamuicode Workflows とは

https://github.com/KentaHomma/kamuicode-workflow

こちらはkenさんが作成されている、kamuicode MCPを活用したGitHub Actionsのワークフローテンプレート集です。

ニュース記事や動画、バナー広告、音楽ビデオなどを自動生成するための「レシピ」が予め用意されていて、開発者はこれをフォークして少し書き換えるだけで、すぐに高度なAIワークフローを動かすことができます。

昨今、Difyやn8nといったローコード・ノーコードのAIエージェント構築ツールが話題ですが、「もうちょっと柔軟に、コードでゴリゴリ制御したいんだよな」というプログラマーの欲求に応えてくれます。

なぜカスタマイズしようと思ったか

オリジナルのkamuicode Workflowsは、GitHub Actions上で動作することを前提に設計されているため、コード管理や自動化の面で非常に高機能です。

具体的には、GitHub Actionsが全体のワークフロー実行を担当します。その中で、定形的に処理しきれないタスクをClaude Code SDKが、動的にプロンプトを生成したり、複雑な条件分岐タスクを行います。

そして、その指示に基づいて kamuicode MCPが、実際の画像生成や動画生成といったAIタスクを実行する、という連携になっています。

メリット:

  • ブランチを切って安全に作業できる
  • 複数のタスクを並列実行できる
  • タスクの成功率が高い
  • 他のタスクとの自動連携がしやすい

デメリット:

  • Claude Code SDKのAPI利用料がかかる(試行錯誤しながらあれこれテストしていると、「あ、5ドルかかってる」ぐらいの感覚)

社内ツールとして安定稼働させたり、大量のコンテンツを生成したりするには最適な構成ですが、個人でちょっと試すにはオーバースペック気味かな、と感じました。

せっかくClaude Codeをサブスク契約しているのだし、今回は、このワークフローをClaudeCodeで実行できるように簡略化しました。

その上で、自分好みの機能を追加する、という方針でカスタマイズしてみることにしました。

具体的には、kamuicode Workflowsの「ニュース動画生成」のワークフローを少し改造して、

  • 生成される人物の性別や職業を指定できるようにする
  • 生成する人物をテキストからだけでなく、画像からも生成できるようにする (i2i対応)

といったカスタマイズを加えてみました。

元々のニュース動画生成の例:
https://x.com/kamui_qai/status/1948748106029564338

オリジナルのニュース動画生成ワークフローを覗いてみる

AIニュース記事生成オーケストレーター

まず、元のワークフローが何をやっているのかを理解するところから始めます。

このワークフローは、ニュースの「コンセプト」と「原稿」を入力として受け取り、複数のAIモデルを連携させて1本のニュース動画を全自動で作り上げる、というものです。

主な処理の流れ:

  1. 企画: 入力された情報から、動画全体の構成(どんな画像を生成するか、ナレーション原稿、タイトルなど)をAIが考えます。
  2. 素材生成:
    • 画像生成 (t2i): AIが考えたプロンプトに基づいて、話す人物の画像を生成します。
    • 動画生成 (i2v): 生成した画像を基に、短い動画クリップを生成します。
    • 音声生成 (t2s): ナレーション原稿を読み上げた音声を生成します。
    • タイトル生成 (t2i): タイトル用の背景画像を生成します。
  3. 動画編集:
    • リップシンク (v2v): 生成した音声に合わせて、人物の口の動きを自然にします。
    • 字幕生成: 音声から字幕を生成し、動画に焼き込みます。
    • 結合: 全ての素材をくっつけて、1本の動画に仕上げます。

最終的には、完成した動画を含む新しいブランチとプルリクエストが自動で作成されるという、至れり尽くせりな仕組みです。すごい。

いざ、ワークフローをカスタム!

この素晴らしいワークフローを、自分好みに改造していきます。

1. 処理の簡略化

まず、手元で手軽に動かすために、以下の処理をバッサリ省略しました。

  • Gitのブランチ作成やプルリクエスト作成
  • 動画冒頭のタイトル画像の挿入

2. プロンプトとBashスクリプトの分離・役割分担

元のワークフローは、GitHub Actionsにまとめてタスクを渡す必要があるため、1つのファイルにロジックが記述されていました。

これでも動作しますが、CCで実行する際は必ずしも1つのファイルにすべてのタスクを記述する必要はないので、今回は役割を明確にするために、「AIへの指示書(プロンプト)」と「定型的な処理(Bashスクリプト)」を分割・整理しました。

workflow/presenter-video-generation/
├── presenter-video-generation-workflow.md  # AIが読むメインの手順書
├── prompts/                               # AIへの指示書(プロンプト)置き場
│   └── ... (各タスクごとのプロンプト)
└── bash/                                  # 定型処理のスクリプト置き場
    └── ... (セットアップや検証などのスクリプト)

例えば、bash/step0-setup.sh は、ワークフローの初期設定スクリプトです。後続のステップで使われるファイル群を格納するためのディレクトリ構造を準備します。

bash/step0-setup.sh
# ====== 1. タイムスタンプとベースフォルダ設定 ======
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
FOLDER_NAME="result/presenter/$TIMESTAMP"

# ====== 2. ディレクトリ構造作成 ======
# 各ステップの成果物を格納するサブディレクトリを一括で作成
mkdir -p "$FOLDER_NAME"/video$VIDEO_INDEX/{planning,images,audio,videos,lipsync,subtitles/{analysis,overlay}}

# ====== 4. ワークフロー情報保存 ======
# 実行時の設定をJSONファイルとして保存しておく
cat > "$FOLDER_NAME/workflow-info.json" << EOF
{
  "workflow_type": "presenter-video-generation",
  "started_at": "$TIMESTAMP",
  "topic": "$TOPIC",
  "content": "$CONTENT",
  "speaker_type": "$SPEAKER_TYPE"
}

このように、出力のフォーマットが完全に固まっている部分は、変にAIに任せずコードで制御すべき点ですね。

Clade Code上で、AIはメインの手順書である presenter-video-generation-workflow.md を読み進め、必要に応じて prompts ディレクトリから指示を読み込んだり、bash ディレクトリのスクリプトを実行したりすることで、ワークフロー全体が進行します。

AIはコンテンツ企画など動的なタスクに集中し、固定的な作業はBashスクリプトに任せる、という役割分担を行うのは、どんなAIワークフローを作るにしても前提となります。

3. 機能の追加:話し手の性別・職業を指定可能に!

元のワークフローでは、基本的に女性のアナウンサーが生成されます。これはこれで素晴らしいのですが、せっかくなので色々なパターンの人物を登場させたくなりますよね。

そこで、ワークフローの入力として性別と職業を指定できるように改造しました。

例えば、以下のような職業を指定できます。

news-anchor: ニュースアナウンサー

receptionist: 受付・秘書

pr-representative: 広報担当

sales-person: 営業担当

youtuber: YouTuber・インフルエンサー

instructor: 講師・インストラクター

ceo: 経営者・役員

すべて一発出し。さらに年代を指定できるようにしても面白いのかもですね。

4. 機能の追加:i2i(Image-to-Image)に対応

元のワークフローはt2i(Text-to-Image)が基本でしたが、i2i(Image-to-Image)にも対応させました。

これにより、例えば自分の写真を元にして、ニュースの内容に合った服装や表情のキャスター画像を生成する、なんてことも可能になります。

今回は FLUX.1 Kontext というモデルを使ってみました。このモデルは、元画像の構図や服装を維持しつつ、プロンプトに応じていい感じに画像を変換してくれるのが得意です。

過去に私が、FLUX.1 Kontextを試した例:
https://x.com/ryryo/status/1932294365789192431

githubに公開しているi2iのプロンプトは改善の余地があります。現在のプロンプトは元画像の顔や服装を維持しながら正面を向かせる、といったものになっていますが、用途によっては話す内容に応じて、服装を変える、みたいな変更をするのも良さそうです。

ただ入力画像次第でもあり、例えば人間型ではないキャラクターを入力し、服装を調整して、とするとちょっと変な画像になってしまいます。

(これはこれで面白いかもしれませんが。)

この辺りは用途に応じて変更したり、拡張の余地がある部分になりそうです。

ワークフロー実行結果

kamuicode Workflow CC デモにも掲載していますが、今回カスタマイズしたワークフローの実行例をまとめていきます。

Step 1: プレゼンター画像の生成

まずはワークフローの要となる、動画の話し手です。news-anchor(ニュースアナウンサー)やyoutuberceo(経営者)といった職業タイプを指定するだけで、AIがその役割に合った人物像を自動で生成します。

デモページには、受付、広報担当、営業担当など、様々なタイプの画像生成例を掲載しています。

またt2iでなく、i2iの例として懐かしのドロイド君に登場してもらっています。

Step 2-4: 音声 → 動画 → リップシンク

次に、生成された静止画を元に、一連の処理が行われます。

  1. 音声生成: まず、あらかじめ用意した会社紹介の原稿を、AIが自然な日本語ナレーションとして音声化します。
  2. ベース動画生成: 次に、静止画に自然な動き(瞬きや微妙な顔の揺れなど)を加えて、数秒間の動画クリップを生成します。
  3. リップシンク: 最後に、生成した音声と動画を組み合わせ、音声に合わせて口元を自然に動かします。

このステップを経ることで、静止画だったキャラクターが、まるで本当に話しているかのような動画に生まれ変わります。

Step 5-6: 字幕の生成と最終的な動画

仕上げに、音声データから字幕を自動で生成し、動画に焼き付けます。ここはFFmpegが処理してくれます。

https://x.com/ryryo/status/1951869376011157971

まとめ:AIエージェント自作時代

今回は、既存のAIワークフローを少し改造するだけで、自分だけのオリジナルな動画生成ツールが作れる、というお話でした。

kamuicodeやClaude Codeのようなツールが登場したことで、AIエージェントの開発は、だいぶ開発の柔軟性が上がった印象です。今回はニュース動画制作というテーマでしたが、一度ワークフロー作りに慣れれば、アイデア次第で様々な複合的タスクを自動化できるようになります。と

この記事が、皆さんの「AIエージェント自作ライフ」のきっかけになれば幸いです。

ありがとうAI。ありがとう人間。ではでは。

Discussion