top of page

#10分で学べるAI バッチファイルでバリエーション広告を生成しよう(2)解説編

執筆者の写真: AICU JapanAICU Japan

前回紹介した、いろいろなスタイルの画像を生成しまくってくれるバッチファイル「Stable Image Core API Image Creator」の仕掛けを解説します!

なお、概要や使い方は前回の記事をご覧ください #10分で学べるAI

バッチファイルをダウンロード

このリンクでダウンロードして使える バッチファイルを配布しています。

これを無料で配ってしまうのはいかがなものか……という議論がありますが、今回はさらにこの中身を解説していきます。

バッチファイルの中身解説

このバッチファイルは以下の流れで動作しています

  • 設定を読み込む

  • APIキーの確認をする

  • 現在の設定を表示して確認を促す

  • APIを呼び出して生成する

  • 生成が完了したことを知らせる

これからそれぞれの動作について説明します

なお気になる場合はメモ帳やVisual Studio Codeなどでバッチファイルを開くと中身を直接見ることができます

設定を読み込む

バッチファイルが実行されると、ウィンドウタイトルなど、プログラムとして必要な機能を設定します

@ECHO OFFtitle SIC_IMG_Creatorsetlocal enabledelayedexpansioncd /d %~dp0

また設定ファイル(SIC_setting.txt)を読み込んで生成に使うAPIキーやプロンプト、スタイルを変数として保存しています

for /f "tokens=1,* delims==" %%a in (SIC_setting.txt) do ( set %%a=%%b)set STYLE_PRESET[1]=3d-modelset STYLE_PRESET[2]=analog-filmset STYLE_PRESET[3]=animeset STYLE_PRESET[4]=cinematicset STYLE_PRESET[5]=comic-bookset STYLE_PRESET[6]=digital-artset STYLE_PRESET[7]=enhanceset STYLE_PRESET[8]=fantasy-artset STYLE_PRESET[9]=isometricset STYLE_PRESET[10]=line-artset STYLE_PRESET[11]=low-polyset STYLE_PRESET[12]=modeling-compoundset STYLE_PRESET[13]=neon-punkset STYLE_PRESET[14]=origamiset STYLE_PRESET[15]=photographicset STYLE_PRESET[16]=pixel-artset STYLE_PRESET[17]=tile-textureset STYLE_PRESETNOW=

APIキーの確認をする

プログラムの説明を表示し、APIキーの確認をします

設定ファイル保存されていたAPIキーが空だった場合、エラーとしてユーザーにAPIキーを設定ファイルに記入するよう促しプログラムを終了します

echo Stable Image Core API Image Creatorへようこそ!echo このバッチファイルでは同じプロンプトで複数のスタイルの画像を連続で生成できます:: STABILITY_API_KEY が設定されているか確認if not defined STABILITY_API_KEY ( echo エラー: APIキーがセットされていません、settings.txtに入力して保存してください echo APIキーを持っていない場合は https://platform.stability.ai/account/keys にアクセスしてAPIキーを取得してください GOTO :END_PROGRAM exit /b 1)

現在の設定を表示して確認を促す

設定ファイルを読み込み、APIキーも確認すると現在の設定を表示してユーザーに確認してもらいます

さらにユーザーからの入力が「y」だった場合、次のフェーズに移ります

set /a all_img_num=%IMG_NUM%*17:: 出力設定の確認echo 以下の設定で出力しますecho プロンプト: %PROMPT%echo ネガティブプロンプト: %NEG_PROMPT%echo アスペクト比: %ASPECT_RATIO%echo 保存フォーマット: %OUTPUT_FORMAT%echo 出力サイクル数: %IMG_NUM%echo 合計出力枚数: %all_img_num%:INPUT_CONFECHO この設定で生成しますか? (同じプロンプトで生成する場合、上書きされてしまいます! )ECHO (Y / N)SET CONF_SELECT=SET /P CONF_SELECT=IF "%CONF_SELECT%"== SET CONF_SELECT=YIF /I NOT "%CONF_SELECT%"=="Y" GOTO :END_PROGRAM

APIを呼び出して生成する

いよいよ Stable Image Core のAPIを呼び出して画像を生成します

Stable Image Core ではスタイルプリセットを指定できるので、スタイルプリセットだけ変更してAPIを繰り返し呼び出します

またAPIの呼び出しは指定されたサイクル数だけ行います

:: API呼び出し:CREATE_IMGECHO 画像を %all_img_num%枚 生成中...for /L %%n in (1,1,%IMG_NUM%) do ( for /L %%i in (1,1,17) do ( set STYLE_PRESET_NOW=!STYLE_PRESET[%%i]! echo !STYLE_PRESET_NOW!スタイル で生成中... curl -f -sS "https://api.stability.ai/v2beta/stable-image/generate/core" -H "authorization: %STABILITY_API_KEY%" -H "accept: image/*" -F prompt="%PROMPT%" -F negative_prompt="%NEG_PROMPT%" -F style_preset="!STYLE_PRESET_NOW!" -F aspect_ratio="%ASPECT_RATIO%" -F output_format="%OUTPUT_FORMAT%" -o "./SIC_image/%PROMPT%_!STYLE_PRESET_NOW!_%%n.%OUTPUT_FORMAT%" ) echo %%nサイクル 生成完了)

APIはcurlを使って呼び出しています

この1行だけで画像生成をすることはできますが、コマンドプロンプト上でプロンプトを編集するのは至難の技なのでテキストで編集できるようにしました

curl -f -sS "https://api.stability.ai/v2beta/stable-image/generate/core" -H "authorization: Bearer sk-MYAPIKEY" -H "accept: image/*" -F prompt="Lighthouse on a cliff overlooking the ocean" -F output_format="webp" -o "./lighthouse.webp"

APIについての詳しい仕様は Stability AI – Developer Platformを参照してください

生成が完了したことを知らせる

最後に生成が完了したことをユーザーに知らせ、プログラムを終了します

:: 結果表示:DISPRAY_IMGECHO 生成が完了しました SIC_imageフォルダを確認してください:END_PROGRAMPAUSEEXIT

まとめ

いかがでしたか?

たったこれだけのバッチファイルで画像生成をすることができます!

SIC_IMG_Creator.bat に加えて、Stable Diffusion 3で画像生成ができる SD3_IMG_Creator.bat も同梱されています。ぜひ高解像度・高品質・文字入れ可能な画像生成をお楽しみください。

ダウンロードはこちらから https://j.aicu.ai/SaiImgBat

プロンプト例「sweet smile, 16 years old, red hair boy leaning in a classroom, anime style」

次回予告

コト先輩「ルゥくん、すばらしいね!クライアントも大喜びだよ」ルゥ「お役に立てたようで良かったです~」

コト先輩「で、今回の依頼があった不動産屋さんの紹介を受けて、新規の依頼が舞い込んだよ……!」ルゥ「えー!トントン拍子じゃないすかぁ……🫠」

次回はEdit APIを用いて自撮り写真の顔を置き換えちゃいます!

次回の #10分で学べるAI をお楽しみに!

AICUmediaでは今後もStable Diffusion 3.0 やStable Image Core を用いた記事を発信していく予定です

面白かったらぜひフォロー、いいねをお願いします!

✨️本記事が面白かったら、 X@AICUai, noteのフォロー、シェアをよろしくお願いいたします!

社内Slack等のシェアでも歓迎です。

また「こんな記事欲しい」といったリクエストがございましたら X@AICUai までメンションやDMでいただければ幸いです。

✨️AICU Inc.は Stability AI 公式パートナーです。

様々なアプリ開発のご相談も承っております!サービスに導入したい、使いこなせる社員をパッと育成したい!そんな需要がございましたら sai@aicu.ai までどうぞご相談ください。

生成AI時代に「つくる人をつくる」AICU社、生成AIリーディング企業「Stability AI」と戦略提携 

 
 
 

Comments


AICU Japan

108-0023 東京都港区芝浦3-3-6 東京科学大学INDEST

  • icons8-リンク-100
  • X
bottom of page