ローカルLLMで画像・動画生成!OllamaとLocalAIによる完全実装ガイド
2026年4月19日
はじめに:ローカルLLMはテキストだけじゃない
「大規模言語モデル(LLM)と言えばチャットbots」――そう思い込んでいる方も多いのではないでしょうか。しかし、OllamaやLocalAIといった近年のオープンソースフレームワークを使えば、テキスト生成以外の領域、すなわち「画像」や「動画」の生成までローカル環境で完結させることが可能になっています。
ポイント: Ollamaは本来、テキスト処理に特化したフレームワークです。しかしマルチモーダルモデル(LLaVAなど)を採用することで、画像解析・生成への応用も広げています。一方、LocalAIはOpenAI互換APIを提供する推論プラットフォームで、画像・動画・音声の生成を全て一つのインターフェースから操作できます。
1. LocalAIでの画像生成
インストールと起動(docker or CLI)
# Dockerによる推奨インストール
docker run -p 8080:8080 --name local-ai -ti localai/localai:latest-cpu
# CLIで直接モデルを指定して起動
local-ai run flux.1-dev-ggml
テキスト→画像(Text-to-Image)
LocalAIでは、OpenAI互換の/v1/images/generationsエンドポイントを使って画像生成をおこないます。バックエンドに合わせて手順が異なります。
stablediffusion-ggmlバックエンドの場合(軽量・CPU対応)
curl http://localhost:8080/v1/images/generations \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cat playing in a garden on a sunny day",
"model": "flux.1-dev-ggml",
"size": "512x512",
"step": 25,
"cfg_scale": 4.5
}'
diffusersバックエンドの場合(高品質・推奨)
まず設定ファイルを作成します。
# models/animagine-xl.yaml
name: animagine-xl
parameters:
model: Linaqruf/animagine-xl
backend: diffusers
cuda: true
f16: true
step: 51
diffusers:
scheduler_type: euler_a
生成リクエスト:
curl http://localhost:8080/v1/images/generations \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cute baby sea otter|blurry background",
"model": "animagine-xl",
"step": 51,
"size": "1024x1024"
}'
画像→画像(Image-to-Image・編集)
既存の画像に対してプロンプトで指示を出して編集することもできます。
curl http://localhost:8080/v1/images/edits \
-H "Content-Type: application/json" \
-d '{
"image": "<base64_encoded_image>",
"prompt": "Replace the background with a beach",
"model": "stablediffusion-edit",
"step": 25,
"cfg_scale": 7.5
}'
あるいはFlux Kontextを使った編集:
local-ai run flux.1-kontext-dev
バックエンド別のモデル対応一覧
| バックエンド | 特徴 | VRAM目安 |
|---|---|---|
stablediffusion-ggml |
stable-diffusion.cppベース。CPUでも動作可能 | 低〜中 |
diffusers |
HuggingFace Differs活用で高品質 | 中〜高 |
サポートされる主要モデル:
– Stable Diffusion 1.5(VRAM 4GB以上推奨)
– SDXL(VRAM 6GB以上推奨)
– Flux Schnell / Dev(VRAM 8〜12GB以上推奨)
– Kandinsky, PixArt-Alpha
2. Ollamaでの画像生成
LLaVA(マルチモーダルモデル)を使った手法
Ollama本体はテキストモデルを扱うフレームワークですが、マルチモーダルのLLaVAを使用することで画像の理解・生成につなげられます。
# LLaVAモデルを取得
ollama pull llava
# テキスト→画像生成(モデルの実装状況により動作は異なります)
ollama run llava "A photorealistic image of a cat wearing sunglasses"
実践的な連携ワークフロー:Ollama + Stable Diffusion / ComfyUI
最も実用的な使い方は、「Ollamaをプロンプト作成担当、Stable Diffusion/ComfyUIを描画エンジン」として組み合わせることです。
- プロンプト入力: Ollama(Llama 3, Mistralなど)に日本語で詳細な指示
- 英語プロンプト出力: LLMが英語の画像生成用テキストを返す
- 描画実行: 出力されたプロンプトをComfyUIへ投入
# Ollamaで英文プロンプトを作成
ollama run llama3 "猫が海辺で遊んでいる様子 の詳細な画像プロンプトを英語で作って"
# 出力例: "A photorealistic image of an adorable kitten playing in the ocean waves at sunset..."
# この文字列をComfyUIやStable Diffusion WebUIに貼り付けて描画
Visionモデル(VLM)を使った画像解析・プロンプト作成
LLaVAなどのビジョンモデルを使うと、既存の画像の内容を詳細に説明させることができ、インペイント(部分的な書き換え)や新規プロンプト生成に活用できます。
curlによる画像付与リクエスト:
curl http://localhost:11434/api/generate -d '{
"model": "llava",
"prompt": "この画像には何が写っていますか?詳細に説明してください。",
"images": ["./reference.jpg"]
}'
Pythonライブラリ経由:
import ollama
res = ollama.chat(
model="llava",
messages=[{
'role': 'user',
'content': 'この画像には何が写っていますか?',
'images': ['./vision.jpg']
}]
)
print(res['message']['content'])
ComfyUIとの統合(MCP経由)
MCP (Model Context Protocol)を使うことで、LM StudioとComfyUIをシームレスに連携させることも可能です。
セットアップ概要:
# MCPサーバーのインストール
pip install mcp
# LM Studio <-> ComfyUI間のPython MCPスクリプトを作成
# LM Studio側で画像生成リクエストを受け付け、ComfyUIへ送信
3. LocalAIでの動画生成
LocalAIは、/videoエンドポイントを介して動画生成をサポートしています。
テキスト→動画(Text-to-Video)
curl http://localhost:8080/video \
-H "Content-Type: application/json" \
-d '{
"model": "video-model",
"prompt": "A cat playing in a garden on a sunny day",
"width": 512,
"height": 512,
"num_frames": 16,
"fps": 8
}'
レスポンス例:
{
"created": 1709900000,
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"data": [
{ "url": "/generated-videos/abc123.mp4" }
]
}
画像→動画(Image-to-Video / FLF)
最初フレームと最終フレームを指定した生成(FLF: First Last Frame)も可能です。
開始画像を指定:
curl http://localhost:8080/video \
-H "Content-Type: application/json" \
-d '{
"model": "video-model",
"prompt": "A timelapse of flowers blooming",
"start_image": "https://example.com/flowers.jpg",
"num_frames": 24,
"fps": 12,
"seed": 42,
"cfg_scale": 7.5,
"step": 30
}'
Base64エンコード形式で取得:
curl http://localhost:8080/video \
-H "Content-Type: application/json" \
-d '{
"model": "video-model",
"prompt": "Ocean waves on a beach",
"response_format": "b64_json"
}'
バックエンド別の動画モデル
| バックエンド | 対応モデル例 | 特徴 |
|---|---|---|
diffusers |
damo-vilab/text-to-video-ms-1.7b | Diffusersベースの標準動画生成 |
stablediffusion |
Stable Video Diffusion (SVD) | 静止画からの動画変換に強い |
設定ファイル例:
name: txt2vid
parameters:
model: damo-vilab/text-to-video-ms-1.7b
backend: diffusers
step: 25
f16: true
動画生成パラメータ詳細一覧
| パラメータ | 型 | デフォルト値 | 説明 |
|---|---|---|---|
model |
string | – | 使用するモデル名(必須) |
prompt |
string | – | 動画の説明文(必須) |
negative_prompt |
string | – | 除外したい要素 |
start_image |
string | – | 開始画像(base64またはURL) |
end_image |
string | – | 最終フレーム(FLF用) |
width |
int | 512 | 動画の幅(ピクセル) |
height |
int | 512 | 動画の高さ(ピクセル) |
num_frames |
int | – | フレーム数 |
fps |
int | – | フレームレート |
seconds |
string | – | 動画の秒数 |
cfg_scale |
float | – | クラスフリーガイダンススケール |
step |
int | – | 推論ステップ数 |
seed |
int | – | 乱数シード |
4. Ollamaの動画生成活用(間接ワークフロー)
Ollamaは動画そのものをレンダリングする機能を持ちませんが、動画制作の前工程を強力にサポートします。
ワークフローの流れ
- アイデア → スクリプト: Llama 3やMistralでストーリー・プロットを作成
- Scene Descriptions(場面の説明): 各カットの詳細な映像説明文を生成
- Text-to-Audio: TTSモデルで音声化(BarkもOllamaで使用可能)
- Image / Video Clip Generation: 場面説明文をStable Diffusionや動画モデルへ投入
- 編集・結合: 画像・動画と音声をエディタで統合
コマンド例
# スクリプト作成
ollama run llama3 "猫が庭で遊んでいる様子 の短編アニメのシナリオを書いて"
# シーン説明文を生成
ollama run llama3 "第1シーン: 朝日が昇る公園。犬が走っている。 - 映像プロンプトに英文で変換して"
# 画像生成(Stable Diffusion/ComfyUI側で実行)
# 生成されたプロンプトを転用
コミュニティプロジェクト例
| プロジェクト | 概要 |
|---|---|
| ai-video-generator | Ollamaのストーリー生成→音声化→字幕作成→動画統合パイプライン |
| MoneyPrinterTurbo | テーマを入力するだけでスクリプト・背景映像・字幕を自動合成 |
5. ハードウェア要件とツール比較
VRAM容量別の推奨スペック
| VRAM | 画像生成対応状況 | 動画生成 | 推奨ツール |
|---|---|---|---|
| 4〜6GB | SD 1.5 △, SDXL – | × | Fooocus, Biniou |
| 8GB | SD 1.5 ◯, SDXL △ | × | ComfyUI, InvokeAI |
| 12GB | 全モデル対応 | △(単純な動画) | ComfyUI + AnimateDiff |
| 16GB+ | 全モデル最適 | ○ | ComfyUI + Flux Dev + Video |
| 24GB+ | プロ仕様に適す | ◎ | CogVideoX, Mochi等 |
CPUのみでの運用(Biniou)
GPU非搭載環境でも、Biniouを使用することでCPU駆動の画像・動画生成が可能です。
git clone https://github.com/Woolverine94/biniou
cd biniou
./install.sh # Linuxの場合
# Windows: 公式リリースからexeをダウンロード
- 最低RAM: 8GB
- 推奨RAM: 16GB以上
- 内蔵ツール: SD, Kandinsky, PixArt-Alpha, Flux, MusicGen, Bark TTS, Whisper, LLMチャットボット
- 注意点: GPU比で数倍〜数十倍の時間がかかります(5秒→2〜3分)
Apple Silicon(M1/M2/M3/M4)対応
Macのユニファイドメモリアーキテクチャにより、比較的良好な動作が期待できます。
- MPS (Metal Performance Shaders)サポート
- ComfyUI, InvokeAIが動作
- 通常のGPU比で30〜50%程度の速度性能
まとめ
| タスク | 推奨ツール | ハードウェア要件 | 主なポイント |
|---|---|---|---|
| 画像生成(標準) | LocalAI / Ollama + LLaVA | VRAM 4GB以上 | OpenAI互換APIで容易に統合可能 |
| 高品質画像 | LocalAI (diffusers) / ComfyUI | VRAM 8〜12GB以上 | Fluxモデルなどで最高品質を |
| プロンプト生成 | Ollama (Llama 3, Mistral) | GPU不要でも可 | LLMで英語プロンプト→SD/ComfyUI投入 |
| 動画生成(簡易) | LocalAI (/videoエンドポイント) |
VRAM 12GB以上 | AnimateDiff、SVDに対応 |
| 動画制作(フルフロー) | Ollama(スクリプト) + LocalAI(画像・動画) | VRAM 24GB以上 | Ollamaが「頭脳」、他ツールが描画 |
ローカル生成のメリット
- コストゼロ: API利用料や月額課金が発生しない
- プライバシー保護: データは外部へ送信されない
- フィルターなし: コンテンツフィルタによる制約がない
- 無制限生成: 回数制限なく何度でも生成できる
- カスタマイズ性: 独自モデルやLoRAを自由に組み込める
参考URL
- LocalAI公式サイト – 画像生成
- LocalAI公式サイト – 動画生成
- Ollama公式(LLaVA等)
- ComfyUI GitHub
- ローカルLLMの活用【画像生成編】(note)
- Ollama for Image & Video Generation (Arsturn)
- Local Image & Video Generation: Complete 2026 Guide
最終更新: 2026年4月19日
情報元: LocalAI公式ドキュメント、Ollama公式リポジトリ、コミュニティブログ・GitHub(2024〜2026年)

コメント