### Language
[中文](README.cn.md)   
[English](README.md)  
[한국어(ChatGPT)](README.kr.md)  

## About Civitai Helper2: Model Info Helper
Civitai Helper 2は、**ModelInfo Helper**に改名されます。現在開発中です。デモをご覧ください:
[YouTube](https://youtu.be/mPcKwQDDH8s)  

# お知らせ
**この拡張機能は現在、非常に安定しています。もし問題があれば、コンソールログの詳細を確認し、[よくある質問](#よくある質問)を確認してください。**   

# Civitai Helper
この拡張機能は、Civitaiのモデルをより簡単に扱えるようにするためのものです。

Civitai: [Civitai Url](https://civitai.com/models/16768/civitai-helper-sd-webui-civitai-extension)  

# 機能
* 全てのモデルをスキャンし、Civitaiからモデル情報とプレビューをダウンロード
* CivitaiモデルページのURLを使って、ローカルモデルとCivitaiモデル情報を取得
* CivitaiモデルページのURLから、モデル(情報とプレビューを含む)をSDディレクトリまたはサブディレクトリにダウンロードする。
* ダウンロードは途中から再開可能
* ローカルのモデルとCivitai上の新しいバージョンを一括でチェック
* 新しいバージョンのモデルを直接モデルのディレクトリにダウンロード(情報とプレビュー画像を含む)
* 内蔵の**Extra Network**モデルカードを変更し、各カードに以下の機能ボタンを追加しました。
  - 🖼: `replace preview`のテキストをこのアイコンに変更
  - 🌐: このモデルのCivitaiページを新しいタブで開く
  - 💡: このモデルのトリガーワードをキーワード入力欄に一括で追加する
  - 🏷: このモデルのプレビュー画像で使用されているキーワードを一括で使用する
* 上記の追加機能ボタンは、サムネイルモードにも対応しています。
* タッチスクリーンデバイス向けに、常に表示されるボタンのオプションを追加しました。


# インストール
SD webui's extensionタブから、`Install from url`のタブに移動。
このリポジトリのURLをコピーペーストし、インストールする。  

または、このリポジトリをzipでダウンロードし、`./webui/extensions`へ展開してください。

この拡張機能をインストール、またはアップデートするたびに、SD Webui再起動する必要があります。  
この拡張機能は、**UIを再読み込みする**だけでは動作しません。

# 使い方

## WebUIをアップデート
この拡張機能は`network cards id`を取得する必要があります。この機能は**2023-02-06**に追加されました。    
**SD webuiがこれより前のバージョンである場合は、アップデートする必要があります!**  

## モデルのスキャン
拡張機能タブから<kbd>Civitai Helper</kbd>へ。  
<kbd>Scan model</kbd>というボタンがあります。  

![](img/extension_tab.jpg)

これをクリックすると、拡張機能がすべてのモデルをスキャンしてSHA256ハッシュを生成し、それを使ってCivitaiからモデル情報とプレビュー画像を取得します。
**スキャンには時間がかかります。 終了までお待ちください。**

各モデルに対して、Civitaiからすべてのモデル情報を保存するためのjsonファイルを作成します。このモデル情報ファイルは、modelsディレクトリ内の`Your_model_name.civitai.info`となります。

![](img/model_info_file.jpg)

モデル情報ファイルがすでに存在する場合は、スキップされます。Civitaiでモデルが見つからない場合、空のモデル情報ファイルを作成するので、モデルが2回スキャンされることはありません。

### 新しいモデルを追加
新規のモデルがある場合、もう一度スキャンボタンをクリックするだけで、新しいモデルの情報とプレビューを取得できます。同じモデルを2回スキャンすることはありません。

## モデルカード
**(スキャン終了後に使用)**   
SD webuiの`Extra Network`タブを開き、モデルカードを表示します。

![](img/extra_network.jpg)


マウスをモデルカードの下部に移動すると、4つのボタンが表示されます。
  - 🖼: プレビューを置き換えるためのテキストを`replace preview`からこのアイコンに変更します
  - 🌐: このモデルのCivitaiページを新しいタブで開きます
  - 💡: このモデルのトリガーワードをキーワード入力欄に一括追加します
  - 🏷: このモデルのプレビュー画像に使用されているキーワードを一括で使用します
  
![](img/model_card.jpg)  

これらのボタンが表示されない場合は、<kbd>Refresh Civitai Helper</kbd>をクリックすると、ボタンがカードに再追加されます。  

![](img/refresh_ch.jpg)  

`Extra Network`が更新されるたびに、余分な変更が削除され、ボタンが消えてしまいます。その場合は、「Refresh Civitai Helper」をクリックして、これらの機能を再度追加する必要があります。


### サムネイル
これらのボタンは、サムネイルをサポートしていますが、SD WebuiのCSSの問題により、現在は常に表示か非表示かのどちらかに制限されています。マウスをスライドして表示することはできません。   
![](img/thumb_mode.jpg)  


## ダウンロード
**(タスクが一つ完了してから、次のタスクをダウンロードしてください)**  
CivitaiモデルページのURLを使用してモデルをダウンロードするには、3つのステップが必要です。
1. URLを入力し、モデル情報を取得するためにボタンをクリック
2. 拡張機能が自動的にモデル名とタイプを入力します。ダウンロードするサブディレクトリとモデルバージョンを選択
3. ダウンロードをクリックします  
![](img/download_model.jpg)

ダウンロード状況は、CLIに進行状況バーを表示します。  
断片的に再開することができ、大きなファイルをダウンロードする際にも心配する必要はありません。  


## 新しいモデルのバージョンを確認する
モデルの種類に従って、ローカルのモデルを一括でCivitaiの新バージョンがないかをチェックすることができます。複数のモデルの種類を選択できます。  
![](img/check_model_new_version.jpg)  

これを押すと、各モデルをチェックするたびに1秒の遅延が発生するため、速度がやや遅くなります。  

これは、本拡張機能のユーザーの過失によるDDoSを回避し、Civitaiを保護するために行われます。  
一部のクラウドサービスプロバイダーには、「無料ユーザーのAPIリクエストは1秒あたり1回を超えてはいけない」というような保護があります。Civitaiにはまだこのような設定がありませんが、我々はそれを自衛しなければなりません。  
なぜなら、もしCivitaiがダウンした場合、誰にとっても良いことではないからです。      

チェックが完了すると、すべての新しいバージョンがUIに表示されます。    

各モデルの新しいバージョンには、3つのリンクがあります。
* 最初のものは、このモデルのWebページです。
* 2つ目は、この新しいバージョンのダウンロードアドレスです。  
* 3つ目は、Python(拡張機能)側で新しいバージョンをモデルディレクトリに直接ダウンロードするボタンです。
この方法でダウンロードすると、ダウンロードの詳細が「Download Model」の領域とコマンドラインに表示されます。一度に1つのタスクしかサポートされていません。  
![](img/check_model_new_version_output.jpg)



## URLからモデル情報を取得する
Civitai上で自分のモデルのSHA256が見つからない場合でも、自分のモデルをCivitaiモデルに接続したい場合は、この拡張機能のページから、モデルをリストから選択し、CivitaiモデルページのURLを提供することができます。  

ボタンをクリックすると、拡張機能はCivitaiモデルの情報をダウンロードし、それをローカルモデルの情報として使用します。  

![](img/get_one_model_info.jpg)  



## その他の設定
**設定保存ボタンを押すと、<kbd>Scan Model</kbd>の設定とその他の設定の両方が保存されます。**  

*  <kbd>Always Display Button</kbd>は、タッチデバイスでの操作を容易にするためです。
*  <kbd>Show Buttons on Thumb Mode</kbd>は、小さな画像モードでの機能ボタンの表示を切り替えます。 
![](img/other_setting.jpg) 

## プレビュー
Extra Networkは、2つのプレビュー画像の命名をサポートしています:`model_name.png`と`model_name.preview.png`。  
デフォルトでは自動で`model_name.png`が優先的に使われます。

優先度が高いプレビュー画像が存在しない場合は、自動的に`model_name.preview.png`が使用されます。

これにより、自分で作成したプレビュー画像とネットからダウンロードしたプレビュー画像を同時に使用し、自分で作成したプレビュー画像を優先的に使用できます。

## プロンプト
カード上の<kbd>Use prompt from preview image</kbd>ボタンは、Civitaiプレビュー画像から取得したキーワードであり、自分で作成した画像のキーワードではありません。

Civitaiにはすべての画像にキーワードがあるわけではなく、1つのモデルに含まれるすべてのプレビュー画像のキーワードが同じであるわけでもありません。したがって、ここではすべてのCivitaiプレビュー画像情報を走査し、最初にキーワードがあるものを読み込みます。


## SHA256
ファイルのSHA256を作成するために、はファイル全体を読み取る必要があります。大きなファイルの場合、処理が遅くなります。

Civitaiで対応するモデルのSHA256が見つからない場合は、次の2つの場合が考えられます：
* 古すぎるモデルには、SHA256が保存されていません。
* モデルの作成者が静かにモデルファイルを変更しましたが、説明やバージョンを変更していないため、サイト上ではわかりませんが、実際にはCivitaiに保存されているモデルファイルとローカルのモデルファイルは異なるものとなっています。  

これらの場合は、拡張機能にモデルページのURLを提供することで、モデルの情報ファイルを取得できます。

## Feature Request
v1.5以降のv1.xには新機能はありません。すべての新機能は2.xに移行されます。
2.xでは、カスタムモデル情報にフォーカスし、Civitaiだけではなく、`Model Info Helper`という名称に変更する可能性があります。
v1.5からv1.xはメンテナンスのフェーズに入ります。

お楽しみに!


## よくある質問
### 4つのカードボタンが表示されない
#### ローカライズの問題
新しいバージョンをダウンロードしてください。  
最新バージョンでは、ローカライズによる問題が解決されています。
[バイリンガル拡張機能](https://github.com/journey-ad/sd-webui-bilingual-localization)は、v1.6.1.1以降のバージョンでサポートされるようになりました。 

#### クラウドサービスベースの翻訳機能を使用した
クラウドサービスベースの翻訳機能を使用している場合は、通常のローカライズに変更してください。

#### その他の場合
まず、<kbd>Refresh Civitai Helper</kbd>をクリックして更新しましたか?  

それでもこの問題が発生する場合は、おそらく最新バージョンのSD webuiを使用していないためです。  

SD webuiのファイルを変更した場合、更新操作が失敗する可能性があります。更新が成功したかどうかを確認するには、gitコマンドラインの出力情報を確認する必要があります。  

gitは、多くの場合、アップグレードを拒否し、手動で解決する必要があるいくつかの競合状態を示します。コマンドライン出力を見ない場合、更新が成功したと思うかもしれませんが、実際には成功していません。   

 
### Request model info from civitai
これはcivitaiに接続しています。情報がない場合は接続できないため、プロキシを使用してください。


### スキャンまたはモデル情報の取得に失敗しました
この拡張機能は現在非常に安定しているため、この問題の原因は基本的にはCivitaiが接続要求を拒否したためです。  

Civitaiは大きなウェブサイトとは異なり、安定していません。彼らのウェブサイトはダウンしたり、API接続を拒否したり、APIリクエストをCpatchaページに転送してブロックしたりすることがあります。  

Civitaiには接続プールの上限もあります。基本的に、同時に許可される最大接続数です。この数字に達すると、以降のAPI接続要求はすべて拒否されます。  

そのため、このような場合はしばらく待ってから再試行するしかありません。  

### civitaiから誤ったモデル情報とプレビュー画像を取得する(Translated by ChatGPT)
悪いニュースですが、civitaiのデータベースには誤ったsha256で保存されたモデルがいくつかあります。詳細についてはこちらをご覧ください：  
[https://github.com/civitai/civitai/issues/426](https://github.com/civitai/civitai/issues/426)  

したがって、これらのモデルについては、この拡張機能では正しいモデル情報やプレビュー画像を取得できません。  

この場合、モデル情報ファイルを削除し、この拡張機能のタブページでcivitaiのURLから正しいモデル情報を取得する必要があります。  

また、誤ったsha256を持つこれらのモデルをcivitaiに報告することもできます。  
[https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100](https://discord.com/channels/1037799583784370196/1096271712959615100/1096271712959615100)  

civitaiにそのモデルを報告して修正してもらうようにしてください。  


### colabを使用した際にスキャンに失敗する
まず、表示されたエラーメッセージをGoogleで検索してください。おそらくcolabの問題が発生している可能性があります。表示されたエラーメッセージを検索して、原因を特定してください。  

Google Driveに接続する際には、ファイルへのアクセス数に制限があるため、スキャンが失敗することがよくあります。これはGoogle Drive側の制限です。詳細についてはインターネットで[検索](https://google.com)してください。