はじめに
「自分専用のAIを作ってみたいけど、自分のPCにはGPUがない」「試しに使ってみたいだけなのに、色々インストールするのが面倒」……そんな悩みを解決してくれるのが、クラウドGPUサービスです。
今回は、時間単位の従量課金でGPUを借りられる RunPod を使って、ブラウザだけで画像生成AIの環境を立ち上げ、画像を1枚作ってみました。一番安いGPUだと1時間あたり0.24ドル(約37円)。缶コーヒー1本以下のコストで、自分専用の画像生成マシンが持てます。
対象読者
難しい設定は分からなくてもいいから「自分専用のAI画像生成環境を一度作ってみたい」という方を想定しています。細かい設定方法までは扱わず、あとで配布するサンプル画像を読み込ませるだけで生成を体験できるようにします。
RunPodとは
RunPodはGPUインスタンス(Pod)を時間貸しできるクラウドサービスです。月額固定ではなく使った分だけ課金される従量課金制で、あらかじめクレジットをチャージしてから使う仕組みになっています。複数世代のGPUが選べ、画像生成AIツールをあらかじめインストールした状態で使い始められる「テンプレート」が用意されているのが特徴です(今回使うツールの説明は後ほど)。
無料枠はなく、利用には最低10ドル程度のチャージが必要ですが、お試しで画像を数枚生成する程度であれば数十円〜100円台で済むことがほとんどです。
事前準備
1. アカウントを作成する
RunPodの公式サイトにアクセスし、右上のサインアップからアカウントを作成します。Googleアカウント、GitHubアカウント、メールアドレスのいずれかで登録できます。
2. クレジットをチャージする
RunPodはプリペイド式のため、GPUを使う前にクレジットの追加が必要です。画面上部の残高表示からクレジットカードを登録し、金額を入力してチャージします。お試しであれば10ドル程度で十分です。
自動チャージ(Auto-pay)は最初はオフにしておくと安心です。
Podを作成する
1. 一番安いGPUを選ぶ
左メニューの「Pods」を選ぶと、GPU一覧が表示されます。今回はお試しなので、一番安いGPUを選びました。
一覧には「Low」「High」といった在庫量のバッジや、「Unavailable」(現在借りられない)の表示が付いています。値段だけを見て選ぶと在庫切れのGPUに当たってしまうことがあるので、この表示も合わせて確認しておくと安心です。
今回選んだのは RTX 2000 Ada(16GB VRAM)で0.24ドル/h。「軽めのAI推論向けの低コストオプション」と説明があるとおり、性能は控えめですが、お試しで1枚画像を生成するには十分です。
実際には売り切れていました
いざDeployしようとしたところ、RTX 2000 Adaは在庫切れ(Unavailable)になっていました。GPUの在庫状況は時間帯によって変わるようです。今回は代わりに、同じくらいの価格帯だった RTX A4500(0.25ドル/h) で進めました。以降のキャプチャもRTX A4500のものです。値段はほぼ変わらないので、記事のタイトル・料金の考え方はそのまま使っています。
2. テンプレートを画像生成ツール(ComfyUI)に変更する
今回、画像生成には ComfyUI というツールを使います。ノードと呼ばれる部品をつなげて画像生成の処理を組み立てる、画像生成AI界隈で定番のツールです。今回は自分でノードを組んだりはせず、あとで配布するサンプル画像を読み込むだけで生成を体験できるようにするので、「ComfyUI=画像生成AIを動かすためのアプリ」くらいの理解で大丈夫です。
GPUを選ぶと、まずデフォルトのテンプレート(Runpod Pytorchなど)が設定された状態の画面になります。
このままだとComfyUIは入っていないので、「Change Template」をクリックしてテンプレートを選び直します。スクロールしていくと、公式が用意している「ComfyUI - CUDA 12.8」というテンプレートが出てくるので、これを選択します。
テンプレートを変更すると、画面上部の表示が「ComfyUI - CUDA 12.8」に切り替わります。料金(On-Demand $0.24/hr)はGPU側の単価なので、テンプレートを変えても変わりません。
3. Edit(Override)でディスク容量を設定する
テンプレート名の横にある「Edit」から、Pod template overridesの画面を開きます。ここでContainer diskとVolume diskの容量を調整します。
| ストレージ | 消えるタイミング | 今回の設定 |
|---|---|---|
| Container Disk | Podを**Stop(停止)**すると消える一時領域 | 80GB |
| Volume Disk | Stopしても残るが、**Terminate(削除)**すると消える永続領域 | 0GB(お試しなので) |
Container DiskはComfyUI本体やダウンロードしたモデルの置き場所になるので余裕を持たせて80GBに。Volume Diskは、今回は消えても困るデータがないので0GBのままにしています。作った画像やモデルを残しておきたい場合はここに容量を確保してください。
4. Volume diskの設定を確認してDeploy
Overrideで保存すると、最終確認の設定画面になります。
「Volume disk」を選んであげましょう。
Volume disk・Network Volumeのどちらも0GBのままだと、「No volume disk or network volume configured. ALL data will be lost on Pod restart!」という警告が表示されます。今回は消えても良いお試し用途なのでこのまま進めますが、モデルや画像を残したい場合はここでVolume diskかNetwork Volumeを確保しておきましょう。
画面下部に「このGPUはCUDA 12.4または13.0でデプロイされる可能性があるが、テンプレートはCUDA 12.8/12.9のみ対応」という警告(Potential CUDA version mismatch)が表示されました。GPUの世代とテンプレートが要求するCUDAバージョンの組み合わせによっては、この警告が出ることがあるようです。
今回はそのままDeployしてみましたが、結論から言うと ComfyUIは問題なく起動 しました。警告が出ても即エラーになるわけではないようなので、まずは試してみて、実際にうまく起動しなかった場合に別のGPUを選び直す、くらいの気持ちで進めて大丈夫そうです。
Pricing summaryを見ると、料金の内訳は以下のようになっていました。
| 項目 | 料金 |
|---|---|
| GPUコスト | $0.24/h |
| 稼働中のディスクコスト | 約$0.011/h |
| 合計 | 1時間あたり数十円程度 |
内容を確認したら、一番下の「Deploy On-Demand」をクリックしてPodを起動します。
モデル(チェックポイント)を先に入れておく
Deployしてしばらく待つと、Podのステータスが緑色の「Running」に変わります。Pod名(今回は自動で割り振られた elated_peach_quail という名前でした)をクリックし、「Connect」タブを開くと、使えるサービスの一覧が表示されます。
「HTTP services」のところに、以下の3つがReady(緑の●)で並んでいるはずです。
| ポート | サービス | 用途 |
|---|---|---|
| 8080 | FileBrowser | Pod内のファイルをブラウザから閲覧・アップロード |
| 8188 | ComfyUI | 今回使いたい画像生成ツール本体 |
| 8888 | JupyterLab | CUI環境、Linuxをコマンドで操作可能 |
この状態になったらComfyUIを開く前に、今回生成に使うチェックポイント(AIの部分)をあらかじめPodにダウンロードしておきます。ComfyUIの画面上からダウンロードすることもできますが、今回はもっとシンプルな「Web terminalでコマンドを1行実行するだけ」の方法を使います。
※今回はSD1.5を使います
手順:モデルの入れ方(15秒で完了)
Podの「Connect」タブにある「Enable web terminal」をオンにし、表示された「Open web terminal」を開きます。
出てきた黒い画面(ターミナル)に、以下の1行コマンドを貼り付けてEnterキーを押します。
wget --content-disposition -O /workspace/runpod-slim/ComfyUI/models/checkpoints/v1-5-pruned-emaonly.safetensors "https://civitai.com/api/download/models/128713?type=Model&format=SafeTensor&size=pruned&fp=fp16"
ダウンロードが終わったらTerminalを閉じます。
これでモデルの準備は完了です。いよいよComfyUIを立ち上げましょう。
ComfyUIに接続する
再び「Connect」タブに戻ります。
「ComfyUI」のリンクをクリックすると、新しいタブでComfyUIのWeb UIが開きます。SSHキーの設定は今回不要です(Web terminalはさきほどモデルを入れるのにすでに使いました)。初回はデフォルトのワークフローが表示されますが、これは次の章でサンプル画像を読み込んで上書きしてしまうので、細かく見なくて大丈夫です。
画像を生成してみる
ComfyUIはノードを組み合わせてワークフローを作るツールなので、ゼロから触ろうとすると最初の壁になりがちです。ただ、ComfyUIには 生成済みのPNG画像にワークフロー情報がそのまま埋め込まれている という特徴があり、その画像をComfyUIの画面にドラッグ&ドロップするだけで、同じワークフローを簡単に再現できます。
今回はこの仕組みを使い、あらかじめ私が用意したサンプル画像を使って画像生成を体験してみます。
記事冒頭のプレビュー画像はQiitaが表示用に変換してしまうため、ワークフロー情報が失われています。ドラッグ&ドロップ用のpngファイルは、以下のリンクから直接ダウンロードor保存してください。
-
上のリンクからサンプル画像をダウンロードする
-
ComfyUIの画面(キャンバス部分)に、ダウンロードした画像をそのままドラッグ&ドロップする
-
画面上部の「実行する」ボタンをクリックする
この時点でチェックポイントのノードに赤いワーニングが出る場合、先の手順、モデルのダウンロード手順を飛ばしていると考えられます。terminalにてモデルをダウンロードした後、一度comfyUIの画面を終了して、再度起動してください。
GPUクラスにもよりますが、軽量なモデルであれば数秒〜十数秒程度で画像が生成されます。ローカルのCPUや非力なGPUで試すのと比べると、体感速度の違いがはっきり分かるはずです。
どうでしょうサンプルと同じ画像が生成されたと思います。
2回目以降に「実行する」を押すと、毎回ランダムな画像が生成されるようになります。Kサンプラーのノードにある「生成後の制御」が randomize に設定されているため、1回実行するたびにシード値が自動で変わる仕組みになっています。同じ画像を再現したい場合は、シード値を固定(fixed)に変更してください。
まずはパラメータやプロンプトをかえて、遊んでみてください。
生成した画像は、ComfyUI上のプレビューから直接ダウンロードできます。Volume Diskを確保していない構成の場合は、Podを削除する前に必要な画像を必ずローカルに保存しておいてください。
使い終わったら必ずTerminateする
RunPodはPodが起動している間ずっと課金が発生します。作業が終わったら、忘れずに Terminate(削除) しましょう。
RunPodには一時停止する「Stop」という操作もありますが、Stop後の料金やデータ保持はストレージ構成によって異なります。今回のように「お試しで使ってみる」用途であれば、必ずTerminateすると決めてしまうのが一番分かりやすくて安全です。
Terminateすると、Container Disk・Volume Diskのデータは削除され、GPU利用料金もその時点で停止します(別途作成したNetwork Volumeのみ残ります)。
作成した画像やダウンロードしたモデルなど、残しておきたいものがあれば、Terminateする前に必ずローカルへ保存しておいてください。
料金は左メニューの「Billing」から確認できます。直近の利用実績が反映されるまで多少タイムラグがあるので、リアルタイムというよりは残高の減り具合で把握する感覚になります。
まとめ
RunPodを使うと、以下の流れでブラウザだけでComfyUIの画像生成環境を試すことができます。
✅ アカウント登録
✅ クレジットのチャージ
✅ GPUとComfyUIテンプレートを選んでPodをDeploy
✅ Web terminalでモデル(チェックポイント)を入れておく
✅ 接続パネルからComfyUIを開く
✅ サンプル画像を読み込んでワークフローを実行
✅ 使い終わったらTerminateで課金を止める
自分のPCにGPUがなくても、必要なときだけ高性能なGPUを借りて生成AIを試せるのがクラウドGPUサービスの魅力です。まずは少額のクレジットで、実際に1枚画像を生成するところまで試してみることをおすすめします。
今回はとにかく作ってみるを優先しましたのでモデルやワークフローの説明を省略しましたが、折を見てこの記事からの派生版の記事を書こうと思います。









