
プロンプトを書くのが面倒なとき、TIPOを入れておくと最小限のタグから残りを自動で膨らませてくれます。
ComfyUIでもForge系のWebUIでも同じ拡張機能が使えるので、この記事では両方の入れ方をまとめました。
TIPOとは?
TIPOは、入力したタグや文章から詳細なプロンプトを組み立てる小型の言語モデルです。
画像生成モデルへ渡す前に一度テキストを膨らませる「text presampling」という考え方で、こちらは骨組みだけ指定すれば、髪型や色、背景、光の当たり方といった細部をTIPOが補います。
タグだけでなく自然文の入力も扱えるため、「long blue hair」のような語順のある書き方を入れても破綻しません。
主な特徴
- タグと自然言語のどちらからでもプロンプトを生成できる
- ComfyUIとSD-WebUI/Forge系の両方に同じ拡張機能で対応
- 出力の長さ、除外タグ、並び順のフォーマットを細かく指定できる
- 同じ拡張機能からDanbooruタグ特化のDanTagGenも選べる
- シードを固定すれば同じプロンプトを再現できる

基本の設定
アコーディオンやノードで触る項目はComfyUIとForge Neoで共通です。
| 項目 | 役割 |
|---|---|
| Tag length | 出力するタグの量。Very short(6〜17)、Short(18〜35)、Long(36〜53)、Very long(54〜72)から選ぶ |
| NL length | 自然文の長さ。Very shortの1〜2文からVery longの6〜8文まで指定できる |
| Ban tags | 出したくないタグの除外リスト。正規表現も使える |
| Prompt format | 出力の並び順のひな形。<|characters|>、<|copyrights|>、<|quality|> などの枠を並べ替えて指定する |
| Seed | プロンプト生成の乱数。-1で毎回変わり、固定すると同じ結果を再現できる |
| Temperature | 低いほど無難にまとまり、高いほど発想が飛ぶ |
| 適用タイミング | 他の拡張機能の処理より前に膨らませるか、後にするかの切り替え |
基本は入力Promptを拡張してくれるものなので、length・Ban tags・Prompt formatで出力する数やタグを調整するくらいで済みます。
ComfyUIで使う
インストール
ComfyUIのインストールがまだの方はこちらを参考にしてみてください。

TIPOはcustom_nodesフォルダへcloneして導入します。
cd ComfyUI/custom_nodes
git clone https://github.com/KohakuBlueleaf/z-tipo-extensioncloneしたらComfyUIを再起動してください。
使う手順
何でもいいので画像生成用のworkflowにノード検索からTIPOを追加します。
追加したらプロンプト入力欄に繋いで、入力欄(Tags)に元となるPromptを入力します。
出力から除外したいタグがあれば、ban tagsに入力してください。

あとはパラメータの所で長さや出力形式、使用モデルなどを選ぶだけです。

<|special|>などのformatは出力形式を調整できるものです。
<|special|>, <|characters|>, <|copyrights|>,
<|artist|>,
<|general|>,
<|quality|>, <|meta|>, <|rating|>例えば<|characters|>は版権作品のキャラクター名のタグがこの並びで出力されます。
なのでタグにキャラクター名を入れたくない場合は除外したり、並び替えて<|artist|>の下に置いたりが可能です。
これで生成するとTIPOが元のタグを拡張して処理できます。
どんなPromptで出力されたか確認したいPreview as Textなどを繋いでみてください。

Forge Neoで使う
Forge NeoはForge系のWebUIなので、SD-WebUI/Forge向けの手順がそのまま使えます。
インストール
Forge Neoのインストールがまだの方はこちらを参考にしてみてください。

Extensionsタブを開き、Install from URLへリポジトリのURLを貼り付けてInstallを押してください。
https://github.com/KohakuBlueleaf/z-tipo-extension使う手順
まず元になるプロンプトをtxt2imgに入れます。
1girl, solo, school uniform, smile, wavingTIPOのアコーディオンが追加されてるので、そこを開いて有効化してください。

あとは* lengthで出力の長さを変えたり、Ban tagsで除外するタグを設定するだけです。

Forgeの場合は、Prompt Formatが複数あり、以下から選べます。
CustomはComfyUIと同じです。
| 項目 | 出力される内容 |
|---|---|
| tag only (DTG mode) | タグのみを出力する |
| NL only (Tag to NL) | 自然言語のみを出力する |
| Both, tag first (recommend) | タグを先、自然言語を後に出力する。既定値 |
| Both, NL first (recommend) | 自然言語を先、タグを後に出力する |
| Both + generated NL | タグと自然言語に加え、生成した文章を前へ足す |
| custom | 並び順のテンプレートを自分で書く |
設定後生成すると、こんな感じで元のタグを拡張して出力してくれます。

画像生成せずにタグの出力だけ確認したい場合は、Generate Promptボタンを押すと拡張後のタグだけ見ることができます。

モデルの種類
使えるモデルは以下の通りです。
v2はv1の追加学習ではなく、データセットもキャプションもアーキテクチャも別物として作られているとのことでした。
| 世代 | モデル名 | 特徴 |
|---|---|---|
| v1(軽量) | TIPO-100M / TIPO-200M / TIPO-200M-ft / TIPO-200M-ft2 | いちばん軽く、動作が速い代わりに文章表現は素朴 |
| v1(標準) | TIPO-500M / TIPO-500M-ft | 長らく定番だった密なモデル。扱える文脈は1024トークン |
| v2 | TIPOv2-1B-A200M | 総パラメータ991M・1トークンあたり約200Mだけ動くスパース構成。文脈は4096へ拡張 |
| v2.1 | TIPO-v2.1-1B-A200M | v2をデータセットから作り直した最新版。ratingや品質、人数のタグが実際に効く |
モデルごとの出力を確認
パラメータを固定し、モデルだけ切り替えて比較してみました。
v2だけForge Neoだと無印で実行できなかったのでGGUF版を使ってます。
- プロンプト:1girl, solo, school uniform, smile, waving
- seed:1111
- Steps 25
- Euler a
- CFG 7
- 832×1216
- Prompt Format:custom
- Temperature 0.5
- Top-p 0.95
- Top-k 80
各モデルとも1回目はモデルの読み込みが入るので捨て、2回目の所要時間を記録しています。
まず速度についてはモデルサイズによる違いはほぼありませんでした。
| モデル | 形式 | 秒 | 補われたタグ数 |
|---|---|---|---|
| TIPO-v2.1-1B-A200M | GGUF f16 | 12.42 | 38 |
| TIPOv2-1B-A200M | GGUF f16 | 12.10 | 33 |
| TIPO-500M-ft | 無印 | 13.76 | 37 |
| TIPO-500M | 無印 | 13.55 | 36 |
| TIPO-200M-ft2 | 無印 | 13.75 | 35 |
| TIPO-200M-ft | 無印 | 13.78 | 36 |
| TIPO-200M | 無印 | 13.39 | 39 |
| TIPO-100M | 無印 | 12.49 | 36 |
出力されたタグも少し違いはありますが、ランダム性があるのでモデルごとの差はほとんど分からないです。
ただHugging FaceのReadmeを見る限り、v2系は細かいバグの修正やパラメータ数も増えてるので、基本は最新版が安定していると思われます。
以下各モデルの生成画像と、TIPOが展開したプロンプトです。
TIPO-v2.1-1B-A200M(GGUF)

solo, school uniform, smile, waving, pleated skirt, hair between eye, hair ornament, blush stickers, full body, looking at viewer, closed mouth, simple background, red neckerchief, parallel hairclips, black pantyhose, white shirt, long hair, arm behind back, hand up, shoes, blue eyes, sidelocks, skirt, standing, serafuku, very long hair, long sleeves, blue sailor collar, sailor collar, hairclip, brown shoes, tareme, shirt, long sidelocks, blue skirt, white background, neckerchief, loafers, pantyhose
TIPOv2-1B-A200M(GGUF)

solo, school uniform, smile, waving, standing, skirt, white shirt, simple background, red necktie, black shoes, short sleeves, collared shirt, pleated skirt, black skirt, school bag, necktie, long hair, white socks, shoes, loafers, blue eyes, closed mouth, white background, socks, shirt, bag, twintails, full body, blush, looking at viewer, sweater vest, holding, hair ornament, blue hair
TIPO-500M-ft

solo, school uniform, smile, waving, thighhighs, sailor collar, serafuku, full body, white background, shoes, black thighhighs, miniskirt, simple background, short sleeves, shirt, standing, white shirt, hand up, floating hair, :d, blue skirt, neckerchief, blue eyes, skirt, looking at viewer, pleated skirt, blush, arm behind back, pink neckerchief, open mouth, brown footwear, twintails, loafers, standing on one leg, zettai ryouiki, very long hair, long hair
TIPO-500M

solo, school uniform, smile, waving, black skirt, collared shirt, full body, wing collar, shoes, blush, short sleeves, black socks, simple background, shirt, socks, white shirt, standing on one leg, white background, floating hair, red necktie, standing, blue eyes, skirt, looking at viewer, kneehighs, straight hair, arm up, :d, open mouth, brown footwear, very long hair, miniskirt, pleated skirt, necktie, loafers, long hair
TIPO-200M-ft2

solo, school uniform, smile, waving, plaid clothes, pink hair, looking at viewer, fang, blue eyes, shoes, black socks, blush stickers, red ribbon, shirt, standing, white shirt, loafers, :d, plaid skirt, collared shirt, hand up, pleated skirt, skirt, full body, kneehighs, ribbon, short sleeves, simple background, necktie, brown footwear, grey skirt, open mouth, socks, very long hair, standing on one leg, long hair
TIPO-200M-ft

solo, school uniform, smile, waving, pink cardigan, black socks, closed mouth, collared shirt, blue eyes, blush, standing, shoes, wing collar, socks, straight-on, orange hair, grey skirt, white shirt, looking at viewer, red ribbon, shirt, open clothes, open cardigan, cardigan, pleated skirt, skirt, full body, kneehighs, loafers, miniskirt, simple background, necktie, brown footwear, dress shirt, very long hair, arm behind back, ribbon, long hair
TIPO-200M

solo, school uniform, smile, waving, shirt, standing, closed mouth, cardigan, shoes, blush, floating hair, wing collar, socks, standing on one leg, ribbon, looking at viewer, black socks, long sleeve, brown footwear, white shirt, red ribbon, open cardigan, collared shirt, very long hair, miniskirt, white background, pleated skirt, skirt, full body, kneehighs, loafers, pink cardigan, dress shirt, simple background, necktie, blue eyes, grey skirt, open clothes, long hair
TIPO-100M

solo, school uniform, smile, waving, grey hair, :d, red bow, standing, pleated skirt, bowtie, black eyes, short sleeves, blush stickers, shirt, sailor collar, white shirt, shoes, pink neckerchief, white background, ahoge, blue skirt, blue sailor collar, skirt, full body, simple background, bow, standing on one leg, loafers, open mouth, brown footwear, very long hair, looking at viewer, serafuku, red bowtie, socks, long hair
うまく動かないとき
上記のv2系(無印)が動かないのは、kgen側(TIPOのバックエンドライブラリ)の問題だそうです。
エラー:TypeError: not a string
該当ファイル:Stable Diffusion WebUI Forge - Neo\venv\Lib\site-packages\kgen\models.py今回GGUFで出来たので修正していませんが、無印使いたい方はエラー内容とAIエージェントに聞けば直せると思います。
あと少し古い情報で3.11の環境では問題なく動く一方、3.13では依存ライブラリが入らず動かないという報告がありました。
ただForge NeoはPython 3.13.12だし、今回記事の画像もForge Neoで作ったものなので、Pythonについては問題ないと思います。
もしかしたらモデルサイズによってOOMが発生して処理できないみたいな可能性もあり得るので、その場合は小さいモデルで試すなどしてみてください。
まとめ
どういうことやるかにもよりますが、ランダム画像生成、レパートリー増加、新しいタグの発見などTIPOは結構いろいろなシーンで使えます。
最近は自然言語のモデルも増えてるし、Animaなんかはタグ・自然言語両方使えるので、TIPOとは相性がいいように感じました。
自分だけじゃ見つけられないタグの組み合わせとかが見つかったりすることもあるので、興味ある方はぜひ使ってみてください。
以上TIPOの使い方を紹介しました。
参考になれば幸いです。
