スマホからでも画像生成!VPSにStable Diffusionを構築してリモートアクセス
筆者の結論(最初に読んでください)
正直に言うと、GPU VPSは月数万かかる。安くはない。
ConoHa VPSのGPUプラン(NVIDIA T4・VRAM16GB)は時間課金で1時間あたり約110円前後。1日3時間使えば月約1万円。SDXL目的で8GB以上のGPUプランを常時起動したら月2〜3万は普通にかかる。
それでも「ありか?」と聞かれたら、立ち上げのラクさを重視するならありと答える。
ローカルPCで動かしてると、外出中は使えない。帰ってきたら電源入れて、環境壊れてたら直して……というのを繰り返してた。VPSに移したら「URLを開くだけ」になった。スマホからでも使える。この体験の差は思ってたより大きかった。
ただし毎月の固定費として「まぁまぁ高い」ことは覚悟しておいてほしい。使わない月も課金される従量プランは止め忘れに注意。
以下、実際の構築手順と本音の判断を書いていく。
なぜVPS上のSDをスマホから使いたいのか
Stable Diffusion(SD)をローカルPCで動かしている方は多いと思う。でも外出先で「あ、この構図で生成したい」と思ったとき、PC前じゃないと何もできない。
- カフェやオフィスでアイデアが浮かんだ瞬間に生成したい
- スマホ・タブレットで生成作業を完結させたい
- 家族に共用PCを占有させたくない
- ゲーミングPCを持っていないが画像生成を試したい
VPSにSDを構築してHTTPS化すれば、スマホのSafari/Chromeからフル機能のSD Web UIにアクセスできる。画面を閉じても生成は続くし、外出中に生成させておいて帰ったら確認、みたいな使い方もできる。
自分がこれをやろうと思ったきっかけも「ローカルPCを立ち上げっぱなしにするのが精神的に気になる」という単純な理由だった。何かあったらリモートデスクトップで入らないといけない。全然「手放し」にならない。VPSなら最悪再起動すればいい。
必要なVPSスペック
はっきり書いておきます。Stable DiffusionにはGPUが必要。ここはClaude CodeのようなAIコーディングツールとは根本的に違う。
Claude Codeみたいな用途なら「GPU不要・CPU VPSで十分」と言えるけど、Stable Diffusionの画像生成処理はGPUがないとまともに動かない(動くが遅すぎて実用不可)。GPU推し記事を全部アフィ目的と断言するつもりはなく、SD用途に限ってはGPUの選択は正しい。
| 用途 | VRAM | RAM | ストレージ |
|---|---|---|---|
| SD v1.5系のみ | 4GB | 8GB | 50GB |
| SDXL使用 | 8GB以上 | 16GB | 100GB |
| 複数モデル切替 | 16GB | 32GB | 200GB |
自分の場合、最初はSD v1.5系だけ使うつもりで4GBプランにしたら、すぐSDXLを試したくなって結局8GBプランに上げた。最初から8GB以上を選んでおくほうが後悔が少ない。
ConoHa VPSは時間課金に対応しており、使いたいときだけGPUプランを起動できる。「土日だけ使う」なら月の課金を抑えられるのはメリット。ただし止め忘れが一番のリスクなので、スマホにリマインダーを設定しておくことを強く勧める。
構築手順:VPS側の設定
ステップ1:VPSにSSH接続してGPU確認
ssh root@あなたのVPS_IP
nvidia-smi
# GPU名とVRAM容量を確認
ここでGPUが認識されていなければ、GPUプランで起動しているか確認する。コントロールパネルで「GPUプラン」を選んでいないとnvidia-smiは通らない。
ステップ2:Pythonとdependenciesのインストール
apt update && apt install -y python3 python3-pip git wget libgl1 libglib2.0-0
# CUDA・cuDNNはGPUプランのVPSでは通常プリインストール済み
ステップ3:AUTOMATIC1111のインストール
cd /opt
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# SD v1.5モデルをダウンロード
mkdir -p models/Stable-diffusion
wget -O models/Stable-diffusion/v1-5-pruned-emaonly.safetensors \
"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"
モデルのダウンロードに時間がかかる。VPS側でwgetが動いてるのでスマホを閉じてても問題ない。これがVPSの良いところ。
ステップ4:外部アクセス対応で起動
# tmuxでバックグラウンド実行
tmux new -s sdwebui
./webui.sh --listen --port 7860 --enable-insecure-extension-access
# Ctrl+B, D でデタッチ
この時点で http://あなたのIP:7860 からアクセスできるが、HTTPのためスマホからは不安定。次のHTTPS化まで一気にやってしまうことを勧める。
HTTPS化:nginxでリバースプロキシを設定
自分の結論としては、ここが一番ハードルが高い。 ドメインを持っていない人はまずドメインを取る必要がある。年数百円〜なので、ケチるところじゃない。自己署名証明書でもスマホブラウザに警告が出てストレスなので、ちゃんとドメインを使うことを勧める。
ステップ5:nginxとCertbotのインストール
apt install -y nginx certbot python3-certbot-nginx
ステップ6:nginx設定ファイルを作成
cat > /etc/nginx/sites-available/sd << 'EOF'
server {
listen 80;
server_name あなたのドメイン.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name あなたのドメイン.com;
ssl_certificate /etc/letsencrypt/live/あなたのドメイン.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/あなたのドメイン.com/privkey.pem;
client_max_body_size 50M;
location / {
proxy_pass http://127.0.0.1:7860;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}
EOF
ln -s /etc/nginx/sites-available/sd /etc/nginx/sites-enabled/
proxy_read_timeout 300s は重要。画像生成は時間がかかるので、デフォルトの60秒だとタイムアウトが出る。
ステップ7:SSL証明書の取得と自動更新
certbot --nginx -d あなたのドメイン.com --non-interactive --agree-tos -m あなたのメール@example.com
systemctl reload nginx
これでスマホから https://あなたのドメイン.com にアクセスするだけでSD Web UIが使える。初めてスマホのSafariで開いたときは素直に感動した。
スマホでの使い勝手を高めるTips
AUTOMATIC1111のWeb UIはスマホブラウザでも動くが、設定を少し変えると快適さが全然違う。
| 設定 | 効果 |
|---|---|
起動オプションに --theme dark 追加 | バッテリー消費を抑制 |
| 解像度を512x512か512x768に固定 | スマホでも素早く生成 |
| 「ホーム画面に追加」でPWA化 | アプリ感覚で起動 |
| Sampler: DPM++ 2M Karras | 速度と品質のバランスが良い |
| Steps: 20〜28 | スマホ操作で十分な品質 |
自分がよく使うのは「ホーム画面に追加」。アプリと区別つかないくらいスムーズに開ける。
アクセス制限の設定(セキュリティ)
ここは絶対に省かないでほしい。
VPSに構築したSDはインターネット全体に公開された状態になる。認証なしで放置すると見知らぬ人に使われる可能性がある。
# webui-user.shに認証を追加
echo 'export COMMANDLINE_ARGS="--listen --port 7860 --gradio-auth ユーザー名:パスワード"' \
>> /opt/stable-diffusion-webui/webui-user.sh
VPSのファイアウォールで自分のスマホのIPのみ許可する方法も有効だが、スマホはキャリア回線でIPが変わることがあるので、Gradio認証のほうが現実的。
よくある質問(FAQ)
コスト感を正直に整理しておく
「VPS代が月いくらになるか」を把握してから始めたほうがいい。サービスによって料金体系が違うので、自分の使い方に合わせて計算しておく。
時間課金の場合(例:1時間あたり110円のGPUプランで計算)
| 月の利用時間 | 月額コスト | 1日あたり |
|---|---|---|
| 30時間(1日1時間) | 約3,300円 | 約110円 |
| 60時間(1日2時間) | 約6,600円 | 約220円 |
| 90時間(1日3時間) | 約9,900円 | 約330円 |
| 常時起動(720時間) | 約79,200円 | 約2,640円 |
常時起動は論外。 使うときだけ起動して止める運用が必須。止め忘れの対策だけは必ずやること。
あなたの使い方で選ぶ
| 使い方 | 判断 |
|---|---|
| 週末だけSD使いたい・月1〜2万の予算がある | GPU VPS(時間課金)でやってみる価値あり |
| 毎日がっつり使いたい・常時起動前提 | 月額固定のGPUプランで上限を把握してから |
| とりあえず試してみたい・お金かけたくない | ローカルPCで試してからVPS移行を検討 |
| ゲーミングPC持ってないが画像生成したい | 4GBプランで始めてみて、SDXLが必要になったら上げる |
| 外出先でもアイデアを即形にしたい | まさにこの構成が刺さる用途。やる価値ある |
まとめ
VPSにStable Diffusionを構築してHTTPS化すれば、スマホやタブレットからいつでもどこでも画像生成できる。これは実際に使い始めると「なんで今まで手元のPCだけでやってたんだろう」と思うくらい体験が変わる。
ただし繰り返しになるが、GPU VPSは月数万かかる。安くはない。 そこだけ覚悟してから始めてほしい。
それでも「やってみたい」と思ったなら、一度試してみればいい。完璧な選択なんてない。まず触ってみることが一番の近道だ。時間課金プランならコストを抑えて試せる。まずはGPUプランを起動して、この手順を一通り試してみることを勧める。