ComfyUI Extension: ComfyUI-RequestPoster

Authored by aburahamu

Created

Updated

2 stars

This extension can send HTTP Requests. You can request image generation to StableDiffusion3 and post images to X (Twitter) and Discord.

README

ComfyUI-RequestsPoster

  • 入力(any)に反応して指定のURLにrequests.post(url,{key:value})を投げられます。<br>
  • StableDiffusion3のAPIにText to ImageまたはImage to Imageで画像生成リクエストを送信できます。<br> この機能を使用するにはStabilityAIのAPI KEYが必要です。<br> APIの使用にはStabilityAIのクレジットを消費するため、クレジット残高が最低で4は必要です。1,000 credits = $10<br>
  • 画像の入力に反応してDiscordのWebhookURLに文章と画像を投稿できます。<br>
  • 画像の入力に反応してX(Twitter)に文章と画像を投稿できます。<br> X(Twitter)にポストする機能を使う場合、ComfyUIが利用するPython環境に「tweepy」モジュールが入っている必要があります。<br>

インストール方法

下記のいずれかでインストールできます

簡単な方法

  • ComfyUI-Manegerの「Install Custom Nodes」から検索してインストールする
  1. Managerを起動<br> 01_Manager
  2. Install Custom Nodesを押す<br> 02_Install
  3. 「requests」と検索してComfyUI-RequestPosterの右側にある「Install」を押す<br> 03_Request 現時点で2つありますがどちらでも良いです。

URLをコピペしてインストールする方法

  • ComfyUI-Managerの「Install via Git URL」でこのリポジトリのクローン用URLをコピペする<br> クローン用URLはこのページの上部にある緑色のボタン「<> Code」を押すと表示されます。

git cloneする方法

  • ComfyUI > Cutom_nodesのフォルダをコマンドプロンプトで開き下記コマンドを実行する<br> git clone https://github.com/aburahamu/ComfyUI-RequestsPoster.git

これでインストールは完了です。ComfyUIを再起動してください。<br> ※Xへの投稿機能を使う場合は必要モジュールもインストールが必要です。<br>

アップデート方法

概要<br>

ComfyUI > custom_nodes > ComfyUI-RequestsPoster をコマンドプロンプトで開いて「git pull」してください。

手順<br>

  1. ComfyUI > custom_nodes > ComfyUI-RequestsPoster をエクスプローラーで開き、パスをクリックする<br> 01_ClickPass

  2. 「cmd」と入力しエンターを押す<br> 02_input_cmd

  3. コマンドプロンプトが開いたら「git pull」と入力しエンターを押す<br> 03_input_git_pull

完了です。<br>

Xへの投稿に必要なモジュールのインストール方法

概要

  • Xの開発用アカウントを取得してください。
  • Consumer Keysの「API Key」と「API Key Secret」の2つをメモしておいてください。
  • Authentication Tokensの「Access Token」と「Access Token Secret」の2つをメモしておいてください。
  • ComfyUIが利用しているPython環境に「tweepy」モジュールをインストールしてください。

手順 ※ComfyUIがvenvを使っている場合で解説しています

  1. ComfyUIが参照している仮想環境をアクティベートする<br> 04_venvActivate

  2. 仮想環境に入ったら「pip install tweepy」と入力しエンターを押す<br> 05_input_pipinstalltweepy

完了です。

使い方(テキストの送信:PostText)

  1. AddNode > RequestsPoster > PostText でノードを追加する
  2. anyにトリガーとしたいノードを繋ぐ
  3. urlにリクエストを投げたいURLをコピペする 例)ディスコードのウェブフックURL
  4. keyとvalueにそれぞれリクエストに含めたい文字列を入力する 例)key = content、value = 画像が出来ました
  5. Queueする

使い方(StableDiffusion3に画像を生成させる)

  1. AddNode > RequestsPoster > GetImageFromSD3byT2I でノードを追加する
  2. 各パラメータを設定する
  • key: StabilityAIのAPI KEY
  • positive: ポジティブプロンプト
  • negative: ネガティブプロンプト。※modelがsd3-turboの場合は適用されません。
  • aspect_ratio: アスペクト比
  • strength: ノイズ除去強度。0で入力画像がそのまま返る。1で画像なしから生成と同じ。0.6以上だと結構変わる
  • model: モデル。sd3はクレジット6.5消費。sd3-turboはクレジット4消費
  • format: フォーマット。pngかjpg
  • seed: シード値。整数
  • control_after_generate: シード値の生成方法。通常はランダムで良い
  1. Queueする
  2. ComfyUIのoutputディレクトリに画像が保存されます。<br> 必要に応じてノードの出力「IMAGE」から画像をPreviewなりアプコンすると良いでしょう。 スクリーンショット 2024-04-19 003730
  3. クレジットが尽きると画像が生成されません ※尽きた場合の挙動は未調査です。 スクリーンショット 2024-04-19 004126

DiscordのWebhookURLの取得方法

  1. 左下の「+」を押してサーバーを追加して、作られたサーバーの歯車アイコンを押す<br> 02_addServer

  2. 連携サービス → ウェブフック と押す<br> 03_addWebhook

  3. ウェブフックを開き「URLをコピー」をクリック<br> 04_copyURL

  4. AddNode > RequestsPoster > PostRequest でノードを追加しanyにトリガーとしたいノードを繋ぎ、URLにウェブフックのURLをコピペする<br> 01_node

  5. 画像を生成すると、ディスコードにメッセージが投稿されます<br> 05_HelloWorld

使い方(Discordへの投稿:PostImage2Discord)

  1. AddNode > RequestsPoster > PostImage2Discord でノードを追加する
  2. imageに投稿したいimageを繋ぐ
  3. textに投稿したい文章を書く
  4. urlにDiscordのWebhookURLをコピペする
  5. Queueする

使い方(Xへの投稿:PostImage2X)

  1. AddNode > RequestsPoster > PostImage2X でノードを追加する

  2. imageに投稿したいimageを繋ぐ

  3. textに投稿したい文章を書く

  4. Xの開発者ポータルで生成した各キーをコピペする ※取得方法は下部に説明を書いておきます<br> 例:<br> 【consumer_key】j0Ja1Ab2Bc3Cd4De5Ef6Fg7Gh<br> 【consumer_secret】a1Ab2Bc3Cd4De5Ef6Fg7Gh8Hi9Ij0Ja1Ab2Bc3Cd4De5Ef6Fg7<br> 【access_token】1234567890123456789-Abcdea1Ab2Bc3Cd4De5Ef6Fg7Gh8Hi<br> 【access_token_secret】a1Ab2Bc3Cd4De5Ef6Fg7Gh8Hi9Ij0Ja1Ab2Bc3Cd4De5E<br>

  5. Queueする<br>

XのKeyの生成方法

  1. Xの開発者用ページを開く<br> https://developer.twitter.com

  2. Freeプランの「Get Started」を押す<br> 01_developer_getstarted

  3. 「Sign up for Free Account」を押す<br> 02_SignUpForFreeAccount

  4. XのデータとAPIを何に使うかを250文字以上で入力し、規約同意的な3カ所にチェックを入れて「Submit」を押す<br> 03_PolicyAccept<br> 例文:<br> ComfyUIでのPythonによるtweepyライブラリを用いたTwitterへの各種投稿に使います。<br> 投稿する内容のパターンは下記の通りです。<br> ・1行テキスト<br> ・複数行テキスト<br> ・1行テキストおよび単一画像<br> ・1行テキストおよび複数画像<br> ・複数行テキストおよび単一画像<br> ・複数行テキストおよび複数画像<br> ・一般ユーザーでも閲覧可能な属性付け<br> ・SuperFollowersのみが閲覧可能な属性付け<br> ・他SNSへ誘導可能なハイパーリンク<br> またXのAPI制限範囲内に収まるように日時を指定した予約投稿も実施します。<br>

  5. ダッシュボードを開き左側の「Project & Apps」内のプロジェクトを選択し、右側の「Set up」を押す<br> 04_ClickSetUp

  6. 各項目をチェックおよび入力し画面下部の「Save」を押す<br> 05_ClickSave

  • App permissionsは「Read and write」にチェックを入れる
  • Type of Appは「Web App. Automated App or Bot」にチェックを入れる
  • App Infoの「Callback URI」と「WebSite URL」には自分のXアカウントのURLを入れる
  1. Yesを押す<br> 05_ClickYes
  2. ダッシュボードに戻り、プロジェクトを開き「Keys and tokens」のタブを開き、各キーの計4個をジェネレートしメモする<br> 06_ClickRegenerateAndGenerate
  • Consumer Keysのボタン「Regenerate」を押すとキーが2個表示される
  • Access Token and Secretのボタン「Generate」を押すとキーが2個表示される

完了です。

著者

aburahamu

ライセンス

AGPL-3.0

謝辞

D̷ELL:協力ありがとう