HuggingFaceでアクセストークンを取得する方法【diffusers】エラーが出たのでライセンス条件同意対応

Diffusers

スポンサーリンク

先日、Fluxを使用しようとしたところ、以下のようなエラーが発生。

Cannot access gated repo for url https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/model_index.json.
Access to model black-forest-labs/FLUX.1-dev is restricted. You must be authenticated to access it.

調べたところ、HuggingFaceでアクセストークンを取得しなければならないとのことで、若干ネット上の情報と違う部分があったので記録を残しておきます。

HuggingFaceアクセストークンの取得方法

HuggingFaceアカウントの取得

HuggingFaceは英語サイトですが、アカウント取得は英語ができない方でもSign Upからサクサクできます。

使用したいモデルで利用条件に同意する

今回使用したいモデルは「FLUX.1-dev」(下記リンク)ですので、こちらのページで利用条件に同意します。
ページコンテンツ上部の「You need to agree to share your contact information to access this model」と記載されている箇所から同意できます。

https://huggingface.co/black-forest-labs/FLUX.1-dev

アクセストークンを作成する

以下の画像の赤枠部分の通りにクリック・入力していけば作成できます。
私が調べた限りでは、2~3枚目の画像にあたるステップで、違う画面を表示する記事しか探し出せず若干困りました。

“Create new token"をクリック
必ず"Read"を選択
Token nameは何でも大丈夫です
Copyボタンからコピーするのが簡単です

取得したアクセストークンの使用方法

サンプルコード

アクセストークンを取得したら、以下のように実装することでモデルが利用できます。

from huggingface_hub import login
from diffusers import FluxPipeline

access_token = "hf_XXX"  # 取得したアクセストークンを入力(ここだけ書き換えればOK)
login(token=access_token)  # 取得したアクセストークンでログイン
pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev", 
    torch_dtype=torch.bfloat16, 
    use_auth_token=access_token  # 取得したアクセストークンで認証
)

上記コード内のaccess_tokenに取得したアクセストークンを入力しましょう。

今回はFluxPipelineで記述していますが、DiffusionPipelineでもStableDiffusionPipelineでもStableDiffusionXLPipelineでも、同様に動作するはずです。

ログインと認証で2回アクセストークンを使うのは違和感ですが、とりあえずこれで動いたので気にしないことにします。

以上です。

Diffusers

Posted by このめ