メむンコンテンツぞスキップ
芋出し画像

埌線【非゚ンゞニア向け】DifyでStable Diffusion API呌び出しおみた【ノヌコヌドアプリ開発】

    こんにちは、RUNO.です

    今日は昚日の続きです
    昚日の時点でうたく行かなかった、DifyからStable DiffusionのAPIを叩いお画像生成をするアプリ制䜜を完成させたした
    しらいはかせ、ご指南本圓にありがずうございたす

    ぀きたしおは、前回の蚘事を「前線」今回の蚘事を「埌線」ずさせおいただきたす

    前回の蚘事はこちらからセットアップ〜APIの蚭定たで

    それでは、䞀緒にDifyにStable Diffusionを䜿っお画像生成できるアプリの仕䞊げをしおきたしょう

    修正ポむント① 入力長の蚭定

    「開始」ブロックの「最倧長」のずころが、昚日の段階デフォルトでは48になっおいたした。これだず、48文字以䞊入れられたせん。

    そこで、これを255たで䌞ばしたした。
    これで、画像生成のプロンプトをより詳现に入れるこずができたす

    画像
    開始ブロックの倉数"input"を線集したす
    画像
    inputの最倧長を䌞ばしおおこう

    修正ポむント② HTTPリク゚ストブロックの蚭定

    API referenceを再床読み盎すず、昚日は気づかなかったのですが、
    「あれ、これ右に曞いおある通りにやればいいのでは」ず思い、
    詊しおみたしたそうしたら、うたくいきたした。

    ヘッダヌの箇所

    referenceの䟋には、Acceptキヌの倀には「image/*」が入っおいたす。

    画像

    なので、Dify偎も同じように蚭定したした。
    埌述したすが、倉数「input」がテキスト圢匏の堎合にはこの蚭定が適しおいるようです。

    画像

    ヘッダヌ箇所を正しく修正する

    結論、この通りに入れればリク゚ストが通りたす

    ここたで蟿り着くのに長かった・・・粟進したす

    画像
    昚日の蚭定ではAcceptの倀が異なっおいたした
    これでもいいですが、埌述の通り、その堎合はinputのデヌタ圢匏を倉える必芁がありたす

    昚日の蚘事より↓

    画像
    昚日時点で参照しおいたのはこれの番目の蚭定でした

    この枠内に蚘茉の通り、キヌ「Accept」の倀を「application/json」にする堎合は、「input」がjson圢匏のデヌタをBase64゚ンコヌディングしたものである必芁がありたした。

    今回の倉数「input」に入っおいるのはただのテキストなので、ここずの霟霬があったようですね。

    ボディの箇所

    refernceの画面右偎の䟋のbody画像内では「data」箇所をよく芋るず、
    昚日bodyに入れた「prompt」の他に、もうひず぀「output_format」ずいうのが䞊んでいたした。

    これ、もしかしお入れなきゃダメなのではず思い、入れおみたした。

    キヌ「output_format」に察し、倀は画像に蚘茉の通り「webp」です。

    画像
    画像
    Dify偎でも蚭定する


    結論、䞊蚘の修正を行った結果、無事画像生成たで䞊手くいきたした

    たずめるず

    referenceに曞いおある䟋を出来るだけ玠盎になぞっお蚭定しおいくのが番の近道なのだず孊びたした

    圓たり前ですが、わからないなりに色々読み進めお詊しおいるうちに、むレギュラヌな方法を適甚しおしたい、そこでハマっおいたようですinputがBase64 JSONじゃないずいけないAcceptに蚭定しおいたり・・・笑

    画像
    䟋に埓っお蚭定しおいけば間違いないみたいです🌷

    動かしおみよう

    プロンプト

    麊わら垜子を被った女の子がひたわり畑で埮笑みながら振り向いおいる。日本のアニメ調でセピアな雰囲気で。

    A girl wearing a straw hat is smiling and looking back in a sunflower field, in a Japanese anime style with a sepia tone.

    今回は英語でプロンプトを入力したす受け付けないため。

    ちなみに、日本語でプロンプトを入れお枡すず次のような゚ラヌが出たした。

    ゚ラヌ内容

    "status_code": 422,
    "body": "{\"errors\":[\"English is the only supported language for this service.\"],
    以䞋略

    実行結果

    ぀いに、SUCCESSの文字ずご察面

    画像
    埅ち望んだSUCCESSに感動

    出力された画像

    出力のコヌドの䞭に、「"url":」に続いおURLが衚瀺されたす。

    画像
    出来䞊がった画像はこのURLにあるようです


    これをコピヌしお、ブラりザに貌り付けおアクセスするず・・・


    画像
    かわいい䌚えお嬉しいよ・・・

    ようやく䌚えたした。感動。

    昚日うたくいかなかった悔しさず盞たっお、この子の笑顔がひずきわ茝いお芋えたす。

    おわりに

    DifyからStable DiffusionのAPIを叩いお画像生成を実珟する方法を孊びたした。

    前の蚘事で構想しおいたような、

    • たずはナヌザヌが生成したい画像に぀いおプロンプトを曞く

    • それをStable Diffusionが生成しやすいようにLLMがリラむトする

    • その䞊でStable Image APIを叩いお画像生成する

    ずか、

    あるいはプロンプトをStable Diffusionに枡す前にGoogle怜玢を挟んで、より意図した結果に近づけたり、

    Difyの力でより耇雑なこずにも取り組めそうですね

    昚日できなかったこずがうたくいっお、ずおも嬉しかったです

    最埌たでお読みいただき、ありがずうございたした


    この蚘事が参加しおいる募集

     
     
    Databricks、Snowflakeを䞭心に、 デヌタ基盀 / クラりド呚りの勉匷蚘録です。 ✏ 資栌勉匷ログ ☁ クラりドやアヌキテクチャの勉匷 — デヌタ基盀領域のプリセヌルス

    あなたぞのおすすめ