MENU

MOSS-Imageの使い方|ComfyUIとJSONで、構図を狙いどおりに【ワークフロー配布】

ローカルの画像生成からは、しばらく遠ざかっていた。
だって、クラウドの最新モデルの方が絵はきれいだし、ローカルはローカルで、やたらといいPCを要求してくるし。

でも、MOSS-Imageは違った。
軽い。そのうえ、ちゃんときれい。これは普通に仕事で使える。

自分のPCで、1枚約14秒。

しかも、JSONで物やコマの位置を数字で決められる。同じ数字を普通の文で書いても、こうはならない。ここが一番おもしろいところなので、あとでしつこく測ります。

この記事では、ComfyUIでの動かし方と、JSONで配置を決める使い方を、試した数値つきで解説。
ワークフローとおまけのプロンプトは、最後に。

目次

まず出力画像から

説明の前に、MOSSで作った絵を3枚。

グラビア
リゾートのプール
映画の撮影現場
市街戦の撮影の裏側
イラスト
雨の屋上

どうやってやるのか。ここからが本番。

MOSS-Imageとは

MOSS-Imageは、上海創智学院の研究グループOpenMOSSが2026年10月16日に公開した画像生成モデルです。大きさは50億パラメータ。重みはApache 2.0で、商用にも使えます。

文章を読むのはQwen3.5-9B。売りは、英語と中国語の長い文字を描けることと、JSONで物の場所を指定できること。日本語は公式には書かれていないが、短い文なら描けた(後の節で詳しく)。

学習の土台用のBaseと、普段使い用のSFTがあり、この記事ではSFTを使った。

ComfyUIで動かす

ComfyUI v0.42.0なら、追加のプラグインなしで動く。テンプレートも入っていて、普段使うのは、文で作る image_moss_image_t2i と、箱で配置を決める image_moss_image_t2i_bboxes の2つ。「Moss」で検索すると名前に base が付いた版も出てくるので、付いていない方を選ぶ。

モデルは、Comfy-Orgが配っているint8版を3つ入れる。合わせて約15.5GB。

置き場(models\ の下)ファイル大きさ
diffusion_modelsmoss_image_sft_int8_convrot.safetensors5.4GB
text_encodersqwen3.5_9b_int8_convrot.safetensors9.75GB
vaeflux2-vae.safetensors0.3GB

テンプレートの初期設定は、これとは別のファイルを指しているので、そのままだと「モデルが見つからない」となる。ローダーで、入れたファイルを選び直してください。

入れる作業は、Claude Codeに頼めば済む。頼み方は、記事の最後の「使い方」に載せています。

ComfyUIの画面
標準テンプレートの、箱で配置を決める版。モデルは手元のファイルに選び直してある

設定はテンプレートのまま使った。25ステップ・CFG 2.5で、公式の推奨(50ステップ・CFG 3)の半分のステップで実行。

RTX 4070 Ti SUPER(16GB)で、VRAMは約14GB使う。1MP(1024×1024前後)なら1枚12〜14秒、3.6MPでも約1分だ。

JSONで配置を決める

ここからが本題。MOSSには、文の代わりにJSONで物の場所を指定する書き方がある。これがどれだけ効くのかを、漫画の1ページで試してみる。

自然文で数字を書いても、そのとおりにならない

コマ割りは、上に細い帯、その下に大小2つのコマ、大きいコマの左下に重ねた小さいコマ、いちばん下に2つのコマ。

それぞれの幅と高さを数値で決め、下の段は高さ28%とした。同じ数値を、自然文にもそのまま書く。

自然文とJSON
赤い線が指定したコマの位置

自然文(左)は、下の段が赤い線をぐいっと越えて、上にはみ出した。28%って書いたのに、約37%。
JSON(右)は、ほぼ線どおりに収まった。

4枚ずつ作って、指定した線とできたコマの辺のズレを測ると、平均で自然文が35px、JSONが3px。

JSONの書き方

JSONは、絵全体の説明(summary)と、置く物の一覧(items)でできている。置く物ごとに、何を描くか(caption)と、どこに置くか(bbox)を書く。文字を描かせるときは label を text にして、描く文字を text に入れる。

{
  "summary": {
    "meta": ["manga"],
    "canvas": "single",
    "caption": "A single full-color Japanese manga page, ... read from right to left and top to bottom. All characters are adults. Fantasy story in a forest at dusk."
  },
  "items": [
    {
      "label": "object",
      "caption": "Panel 1, a thin horizontal panel across the top: a deep forest at dusk with fireflies, seen from far away.",
      "bbox": [20, 20, 120, 980]
    },
    {
      "label": "text",
      "caption": "Horizontal Japanese narration text in a white box at the left of panel 1.",
      "text": "森の奥で、それは目を覚ました。",
      "bbox": [35, 40, 105, 560]
    }
  ]
}

(全12項目。全文は配るワークフローに入っています)

bbox は [上, 左, 下, 右] の順で、画面の左上を0、右下を1000とした割合で書く。「上から2%〜12%」なら20〜120。

モデルに渡すときは、この割合を画素に直す必要がある。ComfyUIなら、「バウンディングボックスを作成」ノードで箱を描いて「MOSS-Image Layout Prompt」ノードにつなげば、直してくれます。

箱を描く画面
左が箱を描くノード、右が文にまとめるノード

JSONを手で書いて貼るときは、プロンプトの欄(CLIPTextEncode)に直接貼らず、「Text (Multiline)」ノードに貼って線でつなぐ。ComfyUIはプロンプトの欄の { } を「中から1つを選ぶ」記号として読むので、括弧が消えてしまう。

括弧が消えたまま作っても配置は効いたが、中に | があると、そこで勝手に1つ選ばれる。配るワークフローは、この形にしてあります。

型として使い回す

コマの箱はそのままにして、話と絵と文字だけを替えてみた。カフェ、海、コスプレの3本。コマ割りは崩れず、ズレは平均4pxだった。崩れたのは文字の方で、海の「冷たっ!」が「冷だっ!」になった。惜しい。

同じJSONで話だけ替えた
赤い線は元のコマの位置

コマ割りを1回JSONにすれば、型として何度でも使える。これ、地味にかなり便利です。
話の差し替えは、Claude Codeに頼める。配るワークフローのフォルダで開いて、たとえばこう頼む。

moss_manga_irregular_panels.json の Text (Multiline) に入っているJSONを型にして、
コマの bbox はそのまま、話だけ「雨の駅で傘を貸す話」に替えたJSONを書いて。
セリフは text に日本語で、1コマ10字以内。人物は全員大人。

人物の構図もそろう

JSONが効くのは、漫画のコマだけではない。人物も、顔・背中・腰・尻・太ももと体の部位ごとに箱を置けば、構図がそろう。

プールで背中を向けて振り返る1枚を、同じ文の自然文とJSONで3枚ずつ作った。後ろ姿はどちらでも出るが、自然文は立ったり膝をついたりと、ポーズが毎回変わる。

JSONは3枚とも、背中が中央、顔が上の同じ構図で、体がそれぞれの箱に収まった。

自然文とJSON
上が自然文、下がJSON

JSONの中の文だけを書き換えると、構図を残したまま服や場所を替えられる。1つ型を作れば、何度でも使い回せます。

書き換え
左が元のJSON、中が服、右が場所を替えた物

仕事に使う:店頭POP

正直、JSONは漫画やグラビアより、仕事で使う方が使い道が広いと思う。商品の宣伝写真、チラシ、店に貼るPOP。どれも「どこに何を置くか」と「何と書くか」が先に決まっているので、JSONの箱と text にそのまま入れられる。

洋菓子店の店頭POPを作ってみた。右は、左と同じ箱のまま、商品と文字だけを差し替えた物です。

POPの作例
左が和栗のモンブランタルト、右が同じ箱で替えたとろけるさつまいもプリン

見出し・商品名・値段・期間など7か所の文字が崩れないかを、自然文4枚とJSON 8枚(モンブランとプリン各4枚)の、12枚・84か所で数えた。Claudeが。

JSONの8枚は全部正しく、指示していない文字も入らなかった。自然文の4枚も、1枚で「10月31日まで」に余計な字が1つ入っただけ。

POPのような素直な配置なら、自然文でも位置はほぼ守る。JSONが効くのは、同じ型で商品を替えて何枚も作るとき。毎週チラシを作っている人には、けっこう効くと思います。

プロンプトの書き方

MOSSは、長い文章のプロンプトが前提のモデルだ。学習に使った詳しい説明文は、中央値で193トークン。短文より、細かく書く方が合っている。

プールの縁に座る女性を、文の長さだけ変えて作った。書けば書いたぶんだけ増える。素直。

64トークンでは人物とプールだけ。650トークンでは、レモネードとストライプのタオル、足首のアンクレットが出た。

1,230トークンでは、さらに髪のプルメリアとサングラスまで。

文の長さ
左から64・650・1,230トークン

書いた描写を生かすには、画素数も要る。同じ文を3.6MPで作ると、まつ毛が1本ずつ分かれ、虹彩の縁がくっきりした。

試作は1.67MPで回し、気に入った物だけ3.6MPで作り直すのがおすすめです。

瞳の拡大
左が1.67MP、右が3.6MP

テンプレートに付いているプロンプト拡張(文を書き直させる機能)は、細かく書いた文にはほぼ効かなかった。時間が約4秒延びるだけなので、自分で細かく書くなら必要ないかと。

日本語の文字

短い日本語は描ける。黒板のメニュー(「本日のおすすめ」「抹茶ラテ 550円」など)は、12枚生成して間違いなし。えらい。

ただ、図解のように小さい文字が多いと崩れる。指示した文字が全部正しかったのは、20枚中5〜7枚。

英字と数字だけのラベルは全部正しく、崩れるのは日本語の小さい漢字やカタカナだった。

「ユーザー」は20回中13回が「ユーバー」などになり、見出しの「審査員」は12枚中8枚で「審直員」になった。

誤字の拡大
上が正しく出た1枚、下が「審直員」になった1枚

言い回しで直ることもある。商品名の「さつまいものとろけるプリン」は12枚とも「の」が抜けたが、「とろけるさつまいもプリン」に変えたら直った。

Nano Banana Proと比べると

同じプロンプトをNano Banana Proと比べた。題材はグラビア3つと、戦争映画、図解、イラストの6つ。

指示した項目をいくつ守ったかを数えると、31項目中、Nano Banana Proが24、MOSSが27。

全体を通して目立った違いは、指示していない物を足すかどうか。Nano Banana Proは雰囲気よく足してくれて、MOSSは言われたことだけをやる。うん、真面目。

グラビア

寝室の四つん這い
左がNano Banana Pro、右がMOSS

寝室で四つん這いになり、肩越しに振り向くカット。守った数は5項目中3で、同じだった。

「後ろ斜めから」は2つとも守れず、正面に回り込んでいる。かぎ編みの編み目は、MOSSの方がはっきり出た。

和室で座る
左がNano Banana Pro、右がMOSS

和室で座るカット。差は「画面を斜めに傾ける」の1つで、MOSSは傾け、Nano Banana Proは水平のままだった。

6項目中、Nano Banana Proが4、MOSSが5。

和室のアップ
左がNano Banana Pro、右がMOSS

顔と肩のアップ。守った数は5項目中4で同じだが、守らなかった所が分かれた。

アップを守ったのはNano Banana Proだけで、MOSSは膝上まで写る引いた構図になった。かわりに、斜めの構図はMOSSだけが守った。

戦争映画

市街戦の撮影現場
上がNano Banana Pro、下がMOSS

市街戦の撮影現場を、メイキング写真のように。冒頭で見せた1枚です。撮影クルーとカメラ、奥の壊れた団地は、2つとも出た。

差は兵士役で、ゴーグル付きのヘルメットと、クルーの方を向く向きは、MOSSだけが守った。

6項目中、Nano Banana Proが4、MOSSが6。

Nano Banana Proは、指示していない足元のバミリ(立ち位置のテープ)を足した。気が利くな。

図解

AI検索の図解
上がNano Banana Pro、下がMOSS

4つのAI検索を、オーディションの審査員に見立てた図解。

タイトルと、台ごとの小さな日本語は、2つとも正しく描いた。Nano Banana Proは指示していない「Judge 1〜4」を足し、MOSSは指示した文字だけを描いた。

ただし、MOSSの日本語は前の節のとおり崩れやすい。載せたのは、全部正しく出た1枚です。

イラスト

雨の屋上
左がNano Banana Pro、右がMOSS

雨上がりの夜の屋上に、黄色いレインコートの少女と、青く光る自販機と黒猫。

両者、5項目とも全部守った。

Nano Banana Proは、指示していないネオン看板と、読めない日本語風の文字を足した。MOSSは自販機を右端に寄せがちで、12枚中8枚は端で切れた。

どちらかが常に上、ではない。雰囲気と「いい感じに足す」のはNano Banana Pro、指示通りにするのはMOSS。

弱点

いいことばかり書いてきたので、弱点も。

画像のクオリティは、Nano Banana Proの方が若干上回る。

また、参照画像が使えない。これは大きい。編集用のLoRAも試したが、顔が参照どおりにならなかった。

手の指と足先は、ときどき崩れる。

まとめ

向いているのは、文字と配置を決め打ちする絵(表紙、漫画、図解)と、プロトタイプの量産など。
費用の差もある。Nano Banana Proは公式の価格で1枚$0.134(1K/2K、10/26確認)、MOSSは手元のPCで回すので0円(PC代と電気代は別)。

絵の質は、やはりクラウドが高い。今はNano Banana 2.1とGPT Image 2.5を使っている。

MOSSのいいところは、手元でいくらでも回せること。

だから、下書きやアイデア出しに向いている。いろんな絵を出してみる。うまくいくか分からない実験も、遠慮なく回せる。

商品チラシやグラフィック、サムネなら、MOSSで作っても高いクオリティになるかと。

ワークフローとおまけプロンプト

ワークフローを2つ、GitHubで配っています。緑の「Code」ボタンから、ZIPでも落とせます。

ワークフローを見る・ダウンロードする(GitHub)

  • moss_manga_irregular_panels.json: 「JSONで配置を決める」で使った、変則コマ割りの漫画(1024×1536)
  • moss_bonus_poolside_back.json: 下のおまけの作例(1088×1536)

設定は標準テンプレートと同じで、seedは固定。
この2つを画面から実行して、記事の作例と画素まで同じ絵が出ることを確かめました。

使い方

導入は、Claude Codeに丸投げでOK。どこに何を落とすかまで、言葉で頼むだけ。

Claude Codeを開いて、これを貼ればいいです。

ComfyUIでMOSS-Imageを使えるようにしてほしい。

1. ComfyUIを最新にする(MOSS-Imageのノードは新しい版から入っている)
2. Hugging Face の Comfy-Org/MOSS-Image から、次の3つを正しいフォルダに入れる
   - models/diffusion_models/moss_image_sft_int8_convrot.safetensors
   - models/text_encoders/qwen3.5_9b_int8_convrot.safetensors
   - models/vae/flux2-vae.safetensors
   合わせて約15.5GB。始める前に、ディスクの空きとGPUのVRAMを確かめて、足りなければ止めて教えて
3. https://github.com/nigo-studio/moss-image-workflows を clone して、
   中のワークフロー2つを ComfyUI の user/default/workflows に入れる
4. 終わったら、ComfyUIを起動するコマンドと、開くワークフローの名前を教えて

おまけプロンプト

「人物の構図もそろう」で使った、プールで振り返る後ろ姿のJSON(黒の紐マイクロビキニ)。全文は moss_bonus_poolside_back.json に入っています。

nude, naked, topless, bare breasts, nipples, areola, exposed genitals, pubic hair, see-through fabric, sheer fabric, wardrobe malfunction, sexual act, child, teenager, school uniform, worst quality, bad anatomy, extra fingers, watermark, jpeg artifact
おまけの作例

水着グラビアのポーズを、クラウドの画像生成でもっと揃えて出したい人へ。

Nano Banana Pro向けに、身体の位置をJSONで書いたポーズ再現プロンプトを30本集めた「撮らずに、グラビア。ポーズ再現プロンプト集 Vol.1 ビーチ水着編」を、noteで出しています。

Stable Diffusion用のプロンプト集もあります。MOSS-Imageで描くイラスト用のプロンプト集は、別に作る予定です。

コメント

コメントする

目次