タグ: Stability AI API

  • 「CGWORLD vol.315」画像生成AIによる表紙メイキング、大公開。

    2024年10月10日発売、CGWORLD vol.315 (2024年11月号)の表紙の制作に、AICU代表・白井暁彦が画像生成AIによるアートを提供いたしました。
    本稿ではその制作の裏側、画像生成AIによる商業出版およびVFX技術の実際の進行とワークフローを紹介したいと思います。

    ★本件は白井個人への依頼制作であり、個人クリエイターとしての寄稿となります。

    デジタルハリウッド大学30周年おめでとうございます。

    https://amzn.to/4dKt3jP

      実は、画像生成は全てStable Diffusion,  Stability AI APIで行っています。

      クレジットをご記載いただきました。

      画像

      本稿ではその制作の裏側を紹介させていただきます。

      画像

      杉山知之学長によるコンセプト解説です。

      1994年年末のデジタルコミュニケーションの夜明けから30年、歴史的な様々なトピックがありましたが、その世界が暮れていきます。だから、夕日をバックに、新たな夜明けを見る方向に向かって座っています。新たな夜明けは、AIと暮らす世界、シンギュラリティ・エラの到来を告げます。表4にキャラクターを乗せるアイデアは白井暁彦先生からです。メタバースなど様々なデジタル空間にパラレルで生きる姿の象徴です。アバターを引き連れて、新たな世界へ行きます(杉山学長)

      ・画像生成AIサービス
      背景・人物:Stability AI API, 主に Stable Image Ultra、Google Colabでの独自開発システムにより生成

      ・プロンプト(一部抜粋)
      背景:hippy style, (photoreal:2), futuristic, orange toned urban sight scene, cyber worlds with a nature fusioned, skyscraper buildings. seed = 59.
      人物:cyberpunk-themed mechanical robotic guitar hero, with a headset, neon-lit circuit tattoos on face, glowing white lines, looking at viewer, smile, passionate 40 years old man, prosthetic hand, with artificial respirator, with a super detailed guitar, color scheme of orange, dramatic orange and white lightings, intense expression, super detailed mechanical design,

      プロンプトによるtext to imageだけではなく、様々な技術を駆使していますが、まずは画像生成以外の制作の裏側を可能な限りで紹介していきたいと思います。

      最新のVFX技術による実写撮影

      まず、この杉山学長は本物、御本人による撮影です。
      2021年にALSを発症された杉山知之先生は、現在、人工呼吸器と車椅子の上で学長業務を遂行されています。

      祝辞などは本人の人工合成ボイスで行われています。

      https://note.com/dhu/n/nb71507b6921a

      筋肉の自由が奪われたとしても、呼吸を奪われたとしても、CG・VFX技術により、3D高解像度アバターや人工合成ボイスによって、人々に礼をして、若き才能を称賛する姿は、勇気を与えます。そう、これはALSという難病だけではなく、我々高度長寿化社会を生きる人生そのものをみているのかもしれないのです。

      人は生きるうえでは、社会とコミュニケーションしていかねばなりません。
      その姿をいかに、楽しいものにしていくか、挑戦の日々が続きます。

      御本人による直接のディレクション

      まず本件は、杉山知之学長自身のFacebookメッセンジャーによるDMによって直接のディレクションが行われました。

      画像

      https://note.com/mojo_sugiyama

      依頼は2024年8月16日17:41に届いたメッセージからはじまりました。

      画像

      左が杉山学長、右が白井です。

      画像

      Google DriveでCGWORLDの表紙レイアウトが届きました。
      間に、だれも、仲介や介在はいません。

      その日のうちに作ったプロト

      画像

      代表的な1枚をお送りしていますが、DriveのURLには専用の画像生成システムから生成した高品質画像が100枚ほど収められています。

      画像

      杉山学長の公式写真をベースにスタイル学習を行い、さまざまなポーズ、衣装、表情、レイアウトのバリエーションを作っていきます。
      シードとプロンプトを固定して、再現性を高く探求しています。

      たとえば1つのファイルを紹介します。

      “S40_PP_neon-punk style….MF0.50.png”というファイル名に、シードや処理の系統、プロンプトの一部が埋め込まれています。

      画像

      Stability AI APIと公式のGoogle Colabノートブックがベースになっていますが、その中の最新APIのなかでも特に高品質な「Stable Image Ultra」と、その公式サンプルが使われています。

      https://platform.stability.ai

      公式サンプルの状態では、画像の保存やプロンプトの探求は難しいので、画像の生成やスタイル学習のサンプルを改造して、以下のような機能が追加されています。

      画像

      ・APIキーの自動参照(セキュリティ機能)
      ・Google Driveへの画像保存
      ・プロンプトの3分割
      ・シードとフィデリティの制御

      テキスト画像生成だけでは制御性の高い画像は作れません。また未来的な雰囲気、杉山先生のヒッピーカルチャー、ギターなど難度の高い要素も盛り込んでいきつつ、画風としても写実性とキャラクターイラスト風を交えていきます。

      画像
      画像
      画像

      今回、ALSである現実を、そのまま世間にさらしたいという気持ちがあり、車椅子に乗って喉にパイプを通している姿は写真で行きます。 しかし白井先生の生成した人物を見ると、市民全員が高度に発達したVision Proのようなデバイスを付ければ、それぞれの人物が観られたい姿に変容して、相手に見え、誰に観られるかによって姿が変わる世界が可能と感じます。

      (視線入力や呼気式入力装置で、こんなふうに長い文章を打つのがどんなに大変か…)と思いながら、返信していきます。

      画像

      ・デジハリ風オレンジ
      ・表4(裏表紙)にアバターが登場するのもあり
      ・未来の自然と調和した街
      ・現実かメタバースかわからない感じ

      画像

      (信じられてしまった……)

      これはとても大事なポイントではありました。
      人を信じる、作風を信じる、という信じ方はあるとおもいますが
      「感覚を信じる」という点で、バランス感覚や遊びの感覚、かっこよさなども委託されつつも、感覚への信頼・信用が相互にかかってくる感じです。

      遊びつつも、襟を正しつつ、世界観と品質と、心象風景の画像化、共有を繰り返していきます。

      最新のVFX技術による実写撮影

      初期の依頼から10日経過、日々の業務の中でもかなり忙しく制作をしている月末の土日のやり取りです。

      画像

      どうやら撮影手法が珍しいことになりそうです。

      画像

      こんな動画が届きました。

      横浜のスタジオWADAYAさんは、デジハリ卒業生による運営です。
      とてもポップで楽しい感じの動画が、撮影環境を見事に説明してくれていて助かりました!

      WADAYA Studio80 https://wadaya.info/

      ちょうどこの8月末はこんな出来事が並列していました

      https://www.bunka.go.jp/seisaku/chosakuken/aiandcopyright.html

      https://youtu.be/bD0Kp5PiP8o

      https://note.com/o_ob/n/ne4d9735ab5cb

      会社として編集長としての制作をバリバリこなしながらも、ちょこちょこ個人としての制作や発信も行っているところが読み取れましたら幸いです。

      本制作のワークフローと「裏側のキャラクター」について

      さて、いよいよ本制作のワークフローです。
      詳細を解説していきます。

      最終的な完成品、表4には印象的な未来都市の夕暮れ、そして小さな人物があしらわれています。

      画像

      これは、サイバネティクス技術を駆使して生き生きとエレキギターを演奏する未来の杉山学長アバターです。人工呼吸器、胸のジェネレーター、義手、顔のマスクなどは私の趣味です。

      画像

      このキャラクターにたどり着くまでのプロトタイプも紹介しておきます。

      美しい猫耳をもったビジュアル系ロックバンドのギタリスト。
      ギターのフレットが別次元になっているのですが、全体的に美しい。

      画像

      元気なお年寄り。これも美しいけどなにか違う。

      画像

      逆に若返らせてみたり、

      画像

      ハッスルさせてみたり。

      画像

      杉山学長の意思として「ALSである現実を、そのまま世間にさらしたいという気持ち」と、この美しくて元気なキャラクターたちは、何か方向性が違うことに気づきます。筋肉に指令を出す神経が難病により歩くことも呼吸すらもできなくなるという現実や、70歳という年輪、そして「市民全員が高度に発達したVision Proのようなデバイスを付ければ、それぞれの人物が観られたい姿に変容して、相手に見え、誰に観られるかによって姿が変わる世界が可能と感じます」というメタバースの30年という歴史を振り返って、私自身と杉山先生の30年を振り返ってみました。

      まず描くべきは、世界。

      未来都市のメタボリズム、自然との調和。そしてオレンジ。
      更に私の中での杉山先生に見え隠れする「ヒッピー文化」(私自身が60年代米国文化に憧れがあったのかもしれません)そういったものをまずはプロンプトにして世界を描いていきます。

      画像

      未来の御茶ノ水ソラシティを思い描いたり、

      画像
      画像

      自然との調和に重きをおいてみたり、何十枚も生成していきます。

      画像

      そうしてベースラインとして選択された1枚がこちらでした。

      画像
      画像
      「水没都市の夕日世界」(S59)

      これで描くべき世界が決まりました。
      作品名は『水没都市の夕日世界』(S59)です。
      「S59」とはシード番号です。同じモデル、同じシード、同じプロンプトで再現性があります。

      仮のレイアウトとトーンを出していきます。

      画像

      ちなみに白井は写真工学の出身であり、白黒写真は高校時代からの積み上げがあります。プロをたくさん輩出した有名な「写真部」に所属し、白黒写真のトーニングやレタッチは3年ほど積み上げがあり、写真作品でちょっとした賞をもらったり、街の現像店を任されるぐらいのスキルはありました。さらにそのバイト代で買ったMacとPhotoshop2.0、2.5、3.0のあたりでデジタルに移行して写真部の仲間からは「異端扱い」されます。それがちょうど30年前の21歳のときに経験した出来事です。漫画を描いたり、ミニコミ誌を作ったり、いまの画像生成AI時代の狂乱に似たようなムーブメントがデジタルクリエイションの世界に起きていました。
      大学4年生のとき、日本バーチャルリアリティ学会設立総会での基調講演で、「デジタルハリウッド構想」をホリプロ所属のバーチャルアイドル「伊達杏子 DK-96」や長野オリンピックでのボブスレーシミュレータなどとともに熱量込めてお話する数学出身の杉山先生との出会いでした。

      https://tachilab.org/jp/addendum/vrsj.html

      まさかその25年後に白井がそこで教鞭をとるとは考えてもいなかったのですが、運命とは不思議なものです。そう、まるで魅力的なバンドメンバーを引き入れていくボーカリストのような杉山先生やその仲間たちを描かねば。
      たとえ使われなくても、リアルだけど、美しすぎず、かつその世界で「わいわいしている」、楽しそうな、コンヴィヴィアリティ※があるキャラクターを描かねば……!

      ※「コンヴィヴィアリティ」については杉山知之先生執筆の「私のコンピュータ文化史 TOKYO1964 – TOKYO2020」という論文を引用しておきます。

      画像
      画像
      画像

      DNA “Entertainment. It’s Everything!”

      https://school.dhw.co.jp/about/dna.html

      創立から30年。
      開学のころからずっと変わらず伝えていることは『すべてをエンタテインメントにせよ!』ということ。
      受講生・卒業生だけでなく、講師・スタッフのモットーでもあります。
      卒業制作のクオリティはもちろん、1回の授業の組み立て方、就職活動のあり方、卒業後の仕事まで、すべてをエンタテインメントになるまで追求する文化がここにあります。
      「すべてをエンタテインメントにする!」という強い思い。それが世界中で活躍する9万人の卒業生に共通するDNAです。

      https://school.dhw.co.jp/about/dna.html

      画像
      画像

      ……と思う存分、遊んでいるように見えるかもしれませんが、実際には大真面目です。しかも激務のさなかです。神奈川県「ともいきメタバース講習会」という障がい者向けクリエイティブワークショップの開発などの現場指揮を行いながらの制作でした。
      全てをエンターテインメントにしないと、やってられないよ!!

      現場撮影用の画像

      さてWADAYAスタジオさんでのLEDディスプレイウォールスタジオでの撮影です。残念ながら白井はワークショップの開発があったので立会はできない日程なので、撮影現場に任せるための素材をお渡しして祈るしかありません。
      3000mm x 1686mmの高輝度高ピッチLEDウォールスタジオを背景に、

      画像

      ここに未来都市を配置して、杉山先生が車椅子でやってきます。

      画像

      専門のライティング担当さんもいらっしゃる。

      画像

      用意すべきはこのレイアウト案を示しつつ、レイヤーを分けた素材もわかりやすく提供する必要があります。しかもスマートに、Google DriveのURLだけでお渡ししたい。

      画像

      Stability AI APIのフル活用

      もともと商用利用できるプロフェッショナル向けAPIでもあるStability AI APIですが、具体的にはこんな使い方もあります。「背景除去」です。

      一見なんということはない「背景除去」なのですが、

      画像

      実はそんなことはありません。
      ウェービーヘアの銀髪は、マスクを切るのがとても大変です。

      画像

      ですが、このマスクは背景除去(Remove background)ですぐに生成できました。もはやPhotoshopよりもGoogle Colabのほうが便利なときもあるのです。

      画像

      さらに印刷原稿を想定して、高解像度化を行っていきます。
      こちらも Stability AIのUpscale機能を使って高解像度化、特にConservative(コンサバ=保守的)なアップスケールを行います。この際は、生成に使ったプロンプトを再利用します。

      hippy style, (photoreal:2), futuristic, orange toned urban sight scene, cyber worlds with a nature fusioned, skyscraper buildings,

      (photoreal:2)とは、Stability AI APIにおける強調構文です。

      画像

      この時点でも高解像度ですが「商業誌の表紙」という、最高品質印刷原稿を想定して、さらにAUTOMATIC1111の Extraを使って高解像度化していきます。

      BG02026-16448×9408.png (186.7MB) という強烈な解像度ですが、ご興味あるようでしたらダウンロードしてみてください。

      全てが終わったのは朝の5時ですね。
      Google DriveのURLをお届けして祈りました。

      画像

      商業誌の制作を「商業政策」と間違えて書くぐらいには疲れていたようですが、「クリエイティブのヤマ」を超えた清々しさが伝わったようでしたら幸いです。

      SD黄色本」で長年お世話になったAUTOMATIC1111の超解像化技術が、最後の最後の品質に貢献したことは特筆に値すると思います。

      全ての画像生成AIの貢献者、オープンソース開発者に感謝を述べさせてください。

      撮影の現場より

      後日談としてWADAYA Studioの和田圭介さんより写真とメッセージが届きましたので紹介させていただきます。

      画像
      画像
      画像
      画像
      画像

      特に問題は無いのですが、僕がデジタルハリウッドを卒業しているわけではなく、創立3年目に入社した、元スタッフです。 デジタルコンテンツについては、杉山先生の教えで、この道にたどり着いたので、杉山先生の教え子であることには間違いないと思います(笑) ある意味、スタッフも含め卒業なんででしょうね。 ありがたいことに退職した後も、杉山先生からはいろいろなご相談お声掛けをいただき、20周年の時は、メッセージ映像を撮影し、そして30周年でこのコラボレーションが実現しているのが、何とも感慨深いのです。 デジハリからいただいた、この3人の縁も含めて、それを活かして何かしていかなければいけないなと、再度えりを正しました。 これからが楽しみです!!

      WADAYA Studio 和田圭介さんより

      (テスト撮影のデータから)

      画像

      どう考えても「Entertainment, it’s everything!」なDNAが感じられる会社紹介ですね。今後もよろしくお願いいたします。

      さいごに:画像生成AIの過去と未来と人類のクリエイティビティの1ページによせて。

      以上、1998年からCGの世界、世界のCGを届け続けてきた「CGWORLD」さんの表紙、しかも日本のCG・デジタルクリエイター教育とともにあるデジタルハリウッドの30周年を記録する特集、さらにそれを最新のLEDディスプレイウォールによるインカメラVFXで撮影するための画像生成AIによる世界素材の提供…というクリエイター冥利に尽きる仕事の一部始終を個人ブログ形式でお送りさせていただきました。

      この30年、テクノロジー、デジタルツール、生成AIによって楽になったこともあります。しかし、クリエイターはその効率化によって生まれた時間を余暇に費やすのではなく、制作やクオリティ、そして「不可能を可能にする挑戦」に費やしていきます。その姿勢は30年経っても何も変わらないと思います。

      さらに、画像生成AIは、世界中の画像という画像を食べて育った化け物です。イラストやデザインだけではありません。写真出身の私にしてみれば、「写真表現とは何か」を常に突きつけられてきた30余年です。Stable DiffusionやStability AIのAPIに何か言いたいことがあるひとはたくさんいると思います。しかし世界中のクリエイティブをLatent Spaceに詰め込んで、高品質、かつ高速なAPIを提供し、新たな人類のクリエイティビティに挑戦させていただいて、さらに商業利用可能であるとなると、それはホビーでもなんでもなく、プロのクリエイターとして勝負せねばなりません。
      ローカルのGPUも、APIのクレジットも、糸目なく投じて、きちんとクリエイターとしてCGの歴史に爪痕を残す仕事ができたようであれば幸いです。

      なお、公開当初からのStable Diffusion、そしtStability AIのAPIの使い手としてはこの技術を伝承するために、毎日のように個人ブログやAICU mediaを通して解説を発信していることはお気づきかと存じます。

      さらに、こちらの動画教材としてはColosoからこちらのラーニングメディアで公開予定です。
      ■「超入門:Stable Diffusionではじめる画像生成AI」
      https://j.aicu.ai/AICUXColosoJP

      書籍「画像生成AI Stable Diffusion」(SD黄色本)もおかげさまで好調であり、まだまだお問い合わせやサポートなどを通して読者の皆様と交流させていただいております。

      今後、広告、グラフィックス、ゲーム、漫画やアニメといった分野に画像生成AIは一般的に使われるようになるでしょう。

      その時に、これらの作品は、枯れ葉や土壌のような存在になっている事でしょう。それでいいんだとおもいます。
      でも、クリエイティブAIの使い手として、大事なことは道具や、その使い方だけじゃないんです。
      「おもしろそうだな」「やってみよう」「すごいね」「かっこいいね」「おもしろいね」「もっとすごいものがつくれそう」「ぼくもやってみたよ」そういった「つくる人をつくる」という心に火を付ける活動そのものが、きちんと作品を通して他の人の心に伝わったか?それが大事なんです。

      そしてクリエイターの世界は真剣です。偉かろうが、社会的に立場があろうがなかろうが、上手であったり、美しかったりも大事ですが、それだけではなく、最終的なアウトプットにどれぐらいのピクセルが露出するのか、しないのかといった効率だけでなく、その世界とか、メッセージとか、コンテキストとか、モチベーションとか、恥ずかしがらずに馬鹿になってやり続けることが、とても大事だったりします。

      デジタルハリウッド30周年、「CGWORLD」26周年、おめでとうございます。今日、本誌が物理的に届きましたが、その重さ、厚さ、関わった人の多さとニオイに咽んでおります。今後とも、この分野の皆様のご健勝ご盛栄をお祈り申し上げますとともに、この個人ブログの筆を置きたいと存じます。

      謝辞:ご依頼いただいた杉山知之先生、クレジット、およびCGWORLD本誌に掲載できなかったメイキング公開へのご快諾、また本寄稿へ「CGWORLD」のロゴ利用などご許諾いただきましたCGWORLD編集部の藤井さま、ありがとうございました。
      Stable Diffusion開発チーム、Stability AI APIおよびStability AI Japanの皆様、特にご支援いただいたJerry Chiさん、ありがとうございました。この場をお借りして感謝の意を記させていただきます。

      Thank you to the all of Stable Diffusion development team, Stability AI API and Stability AI Japan, and especially to Jerry Chi for your support. I would like to take this opportunity to express my gratitude.

      AICU Inc. 代表・白井暁彦, Akihko SHIRAI, Ph.D (@o_ob)

      画像

      ▼デジタルハリウッド 創立30周年記念ページ

      https://www.dhw.co.jp/30th

      ▼杉山先生の音楽ブログ「Sound Scape of Mojo」
      画像生成によるカバーアートも見どころですね!

      https://note.com/mojo_sugiyama/n/n600cce7f4b69

      Originally published at https://note.com on Oct 9, 2024.

    1. 【超入門】Stability AI APIの革新的機能(2)Edit APIの活用

      この記事では、Stability AI APの革新的機能「Edit API」について解説します。

      おさらい:プロンプトの文法

      まずはプロンプトの基礎から始めたい!という場合は、
      合わせてこちらの記事をご覧ください!

      「プロンプトの文法」編で、こんなことがわかる!

      • Stability AI APIとは?
      • Stability AI APIの種類と特徴・構成
      • プロンプトの文法基礎
      • [機能紹介] Generate APIとは?
      • [機能紹介] Generate APIよりUpscale機能のデモ

      前回はEdit APIからInpaintとOutpaintを紹介しました。

      Stability AI APIの種類と特徴・構成

      プロンプトの文法」編でもご紹介したように、Stability AI APIの画像生成系の機能は2024年10月現在、4つの機能に大別されています。

      • 「Generate」:いわゆる「TextToImage」です
        • プロンプト(テキスト)によって画像生成を行う
        • 現在6つのモデルが提供されている
      • 「Upscale」:高解像度化
        • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像生成を行う
        • 現在{Creative, Conservative}という2つのモデルが提供されている(加えて、Standardがcoming soonとして予告されている)
      • 「Edit」いわゆるImageToImageです
        • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像再生成を行う
        • 現在{Search and Replace, Inpaint, Outpaint, Remove Background, Erase Object}5つのモデルが提供されている
      • 「Control」こちらも いわゆる ImageToImage です
        • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像再生成を行う
        • 現在{Sketch, Structure, Style}3つのモデルが提供されている(加えて、 Recolorがcoming soonとして予告されている)

      https://platform.stability.ai

      今回扱うSearch & Replace、Erase、 Search and Recolor、Remove backgroundは、このうちの「Edit API」に当たります。

      Edit APIの6つの機能

      Edit APIのAPIリファレンスはこちらから確認できます。

      https://platform.stability.ai/docs/api-reference#tag/Edit

      公式のAPIリファレンスによると、
      Edit機能は「既存の画像を編集するためのツール」です。

      全部で5つのEdit機能が公開されています。

      • Erase Object
        • 画像マスクを必要とする機能です
        • 画像マスクを使用して、元画像の汚れや、机の上のアイテム等の不要なオブジェクトを削除します
      • Inpaint
        • 画像マスクを必要とする機能です
        • 画像マスクを使用して、指定された領域を新しいコンテンツで埋めたり置き換えたりすることで、画像をインテリジェントに変更します
      • Outpaint
        • 画像に追加のコンテンツを挿入して、任意の方向のスペースを埋めます
        • 画像内のコンテンツを拡大する他の手段と比較して、
          Outpaint機能は、元の画像が編集された違和感を最小限に抑えます
      • Search and Replace
        • 画像マスクを必要としない、特殊なバージョンの修復機能です
        • 画像マスクの代わりに、search_promptに置換対象をテキストで指定します
        • この機能は、search_promptに指定されたオブジェクトを自動的にセグメント化し、promptで要求されたオブジェクトに置き換えます
      • Remove Background
        • 画像から前景(背景に対して、手前に位置する要素)を正確に分割し、背景を削除します
        • 結果として、前景を残し、背景が透過された状態の画像が得られます
      • Search and Recolor
        • 画像内の特定のオブジェクトの色を変更する機能を提供します。 このサービスは、マスクを必要としないインペインティングの特殊バージョンです。自動的にオブジェクトをセグメント化し、プロンプトで要求された色を使用して再カラー化します。

      Search & Replace機能とは?

      公式が提供しているGoogle Colabでは次のように例が紹介されています。

      Search & Replace機能サービスは、マスクを必要としないインペインティングの特殊バージョンです。ユーザーは「search_prompt」を使って、置き換えたいオブジェクトを簡単な言葉で特定することができます。 サービスは自動的にオブジェクトを分割し、プロンプトで要求されたオブジェクトに置き換えることができます。

      実際にSearch & Replaceを使ってみよう!

      ここからは、公式が提供しているGoogle Colabを使ってデモを行なっていきます。

      このColabへのアクセス、初期設定の方法は「超入門」編の記事を参考にしてください。

      動画でみたい方はこちら

      https://j.aicu.ai/AICUXColosoJP

      準備:画像のパスの入手方法

      Edit機能を使う際は、Colabに画像をアップロードし、その画像パスを取得する必要があります。

      まずは、画面左側の「ファイルマーク」をクリックします。
      下に示す画像に従って、順番にクリックしていきましょう。

      画像

      次に、操作対象の画像を選んで、アップロードします。

      少し待つと、この三角マークを押して表示される「content」フォルダの中にアップロードした画像の名前が表示されます。

      画像

      ここから先、「画像のパスをペーストします」という工程が何度も出てくるのですが、ここで得られるパスを入力してくださいね
      (つまり、画像を入力として入れる際には、「Google Colab内のこのファイル部分にアップロード後に得られるパス」を入力してくださいね)。

      Erase Object機能とは?

      Erase Objectサービスは、画像マスクを使用して、肖像画のシミや机の上のアイテムなど、不要なオブジェクトを削除します。 マスクは2つの方法のいずれかで提供されます
      (1)「mask」 パラメータ経由で別の画像を明示的に渡す。
      (2)「image」 パラメータのアルファチャンネルから派生させる。

      実際にEraseを使ってみよう!

      ステップ1:マスキング前の画像のパスを取得する

      Inpaintの入力項目に、「image」と「mask」があります。

      • image:マスキング前の画像のパスを入力しましょう
      • mask:マスク画像のパスを入力しましょう
      画像

      まずは、元画像のパスを取得しましょう。
      マスクを必要とする機能を使う場合、マスク画像とピクセルがずれた画像を入力したり、本来の画像とは関係のない部分(画像をGoogle Slideなどに貼り付けた場合の余った余白の部分など)を含む画像を入力すると、マスク画像とうまくリンクせずに画像が揺れてしまうことがあります。
      そのため今回は、Google Slideを使って丁寧にマスクをしていきます。
      まず、今回使うinpaint対象の元画像がこちらです。

      画像

      これをGoogle Slideに貼り付け、「背景」を選択し、黒を選択します。

      画像

      この状態で、ファイル>ダウンロード>png画像 と選択し、画像をダウンロードしましょう。

      画像

      これで、元画像の画像パスが得られました。
      プロンプトの「image」部分に、今得られた画像パスを入力しましょう。

      ステップ2:マスク画像のパスを取得する

      元画像に、Google Slideの機能を使って白い丸を乗せて、マスクしました。
      これはまだ「マスク画像」ではないので、注意してください。

      画像

      次に、先ほどと同じように、背景を黒に設定します。
      重要な工程なので、スキップしないようにお願いします。
      背景が黒に設定できたら、元画像を削除し、黒背景とマスクのみが残る状態にしてください。

      画像

      ここまで完了したら、ファイル>ダウンロード>png画像 と選択し、画像をダウンロードしましょう。

      画像

      これを先ほど同様に、Colab上にアップロードします。画像のパスを取得できたら、プロンプトの「mask」部分に得られたパスを入力します。
      これで、「image」と「mask」に適切な画像パスが入力できました。

      ステップ3:prompt, negative prompt, seedを指定する

      今回は、元画像のドレスを着た女性がもともと「何も持っていない」ところを、マスクした箇所において「一輪の白い薔薇を持っている」ようにEditを施したいと思います。
      そこで、それぞれ次のように設定します。

      • prompt:holding a red white rose
      • negative prompt:ugly, normal quality
      • seed:39(お好みで)

      ここまでで、必要な設定が完了しました!

      ステップ4:いざ、実行!

      さあ、画像を生成してみましょう。
      得られた画像が、こちら!

      画像

      Search and Recolor機能を使ってみよう

      Search and Recolorは新しく登場した機能です。まずはサンプルどおりの結果を見ていただくのが良いと思います。

      画像
      画像

      select prompt”chiken”をprompt”green chiken”で置き換えています。

      画像

      つまり、髪色の置き換えなども簡単にできます。

      画像
      画像
      画像

      Remove background機能とは?

      こちらもサンプルどおりに実行してみます。
      プロンプトは特にありません。自動で背景が削除されます。

      画像

      Google Slidesで背景に文字を打ってみました!

      画像

      以上、Stability AI APの革新的機能、「Edit API」について解説しました。

      みなさんの使いこなしアイディアがありましたら X@AICUai でお寄せください

      こちらの動画ラーニングメディアで詳しく紹介していきます!
      「生成AIクリエイティブ AICU」シリーズ
      ■超入門:Stable Diffusionではじめる画像生成AI 

      https://j.aicu.ai/AICUXColosoJP

      Originally published at https://note.com on Oct 6, 2024.

    2. 【超入門】Stability AI API の革新的機能(1)Edit機能からInpaintとOutpaintを便利に使おう!

      こんにちは、AICU media編集部です。ライターのRUNO.がお送りします!

      今回は、Stability AI API Guideの「革新的機能紹介」!
      全4回に分けてお送りします!

        おさらい:プロンプトの文法

        まずはプロンプトの基礎から始めたい!という場合は、
        合わせてこちらの記事をご覧ください!

        「プロンプトの文法」編で、こんなことがわかる!

        • Stability AI APIとは?
        • Stability AI APIの種類と特徴・構成
        • プロンプトの文法基礎
        • [機能紹介] Generate APIとは?
        • [機能紹介] Generate APIよりUpscale機能のデモ

        Stability AI APIの種類と特徴・構成

        「プロンプトの文法」編でもご紹介したように、Stability AI APIの画像生成系の機能は2024年8月現在、4つの機能に大別されています。

        • 「Generate」:いわゆる「TextToImage」です
          • プロンプト(テキスト)によって画像生成を行う
          • 現在6つのモデルが提供されている
        • 「Upscale」:高解像度化
          • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像生成を行う
          • 現在{Creative, Conservative}という2つのモデルが提供されている(加えて、Standardがcoming soonとして予告されている)
        • 「Edit」いわゆるImageToImageです
          • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像再生成を行う
          • 現在{Search and Replace, Inpaint, Outpaint, Remove Background, Erase Object}5つのモデルが提供されている
        • 「Control」こちらも いわゆる ImageToImage です
          • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像再生成を行う
          • 現在{Sketch, Structure, Style}3つのモデルが提供されている(加えて、 Recolorがcoming soonとして予告されている)

        https://platform.stability.ai

        今回扱うInpaintとOutpaintは、このうちの「Edit API」に当たります。

        Edit APIとは?

        Edit APIのAPIリファレンスはこちらから確認できます。

        https://platform.stability.ai/docs/api-reference#tag/Edit

        公式のAPIリファレンスによると、
        Edit機能は「既存の画像を編集するためのツール」です。

        2024年8月現在、全部で5つのEdit機能が公開されています。

        • Erase
          • 画像マスクを必要とする機能です
          • 画像マスクを使用して、元画像の汚れや、机の上のアイテム等の不要なオブジェクトを削除します
        • Inpaint
          • 画像マスクを必要とする機能です
          • 画像マスクを使用して、指定された領域を新しいコンテンツで埋めたり置き換えたりすることで、画像をインテリジェントに変更します
        • Outpaint
          • 画像に追加のコンテンツを挿入して、任意の方向のスペースを埋めます
          • 画像内のコンテンツを拡大する他の手段と比較して、
            Outpaint機能は、元の画像が編集された違和感を最小限に抑えます
        • Search and Replace
          • 画像マスクを必要としない、特殊なバージョンの修復機能です
          • 画像マスクの代わりに、search_promptに置換対象をテキストで指定します
          • この機能は、search_promptに指定されたオブジェクトを自動的にセグメント化し、promptで要求されたオブジェクトに置き換えます
        • Remove Background
          • 画像から前景(背景に対して、手前に位置する要素)を正確に分割し、背景を削除します
          • 結果として、前景を残し、背景が透過された状態の画像が得られます

        今回はこのうちの「Inpaint」と「Outpaint」について詳しく取り扱います。

        Inpaint機能とは?

        入力画像の一部の範囲(マスク)を簡易的に指定し、その部分のみを生成して変化させるImageToImage(img2img)の機能です。

        入力画像の背景や細かいパーツなどを後から追加したり、逆に削除することができます。

        公式が提供しているGoogle Colabでは次のように例が紹介されています。

        prompt: artificer of time and space(時間と空間の錬金術師)

        画像
        inpaint前の元画像
        画像
        inpaint後の画像

        このように、マスキングした画像を入力として与え、そこにどのような描画を施すか?をprompt、つまり文字列で与えることによって、新たな画像を生成してくれる、というのがInpaint機能です。

        実際にInpaintを使ってみよう!

        ここからは、公式が提供しているGoogle Colabを使ってデモを行なっていきます。

        このColabへのアクセス、初期設定の方法は「超入門」編の記事を参考にしてください。

        準備:画像のパスの入手方法

        Inpaintでも、このあと紹介するOutpaintでも、この準備が必要になります。

        まずは、画面左側の「ファイルマーク」をクリックします。
        下に示す画像に従って、順番にクリックしていきましょう。

        画像

        次に、Edit対象の画像を選んで、アップロードします。

        少し待つと、この三角マークを押して表示される「content」フォルダの中にアップロードした画像の名前が表示されます。

        画像

        ここから先、「画像のパスをペーストします」という工程が何度も出てくるのですが、ここで得られるパスを入力してくださいね
        (つまり、画像を入力として入れる際には、「Google Colab内のこのファイル部分にアップロード後に得られるパス」を入力してくださいね)。

        これで、Edit機能を利用する準備ができました!

        ステップ1:マスキング前の画像のパスを取得する

        Inpaintの入力項目に、「image」と「mask」があります。

        • image:マスキング前の画像のパスを入力しましょう
        • mask:マスク画像のパスを入力しましょう
        画像

        まずは、元画像のパスを取得しましょう。

        マスクを必要とする機能を使う場合、マスク画像とピクセルがずれた画像を入力したり、本来の画像とは関係のない部分(画像をGoogle Slideなどに貼り付けた場合の余った余白の部分など)を含む画像を入力すると、マスク画像とうまくリンクせずに画像が揺れてしまうことがあります。

        そのため今回は、Google Slideを使って丁寧にマスクをしていきます。

        まず、今回使うinpaint対象の元画像がこちらです。

        画像
        こちらをinpaint機能を使って加工していきます!

        これをGoogle Slideに貼り付け、「背景」を選択し、黒を選択します。

        画像
        画像
        背景色を黒に選択します

        この状態で、ファイル>ダウンロード>png画像 と選択し、画像をダウンロードしましょう。

        画像
        スクリーンショットだとピクセルを確実に合わせるのが困難なので、
        スライドごと画像ダウンロードしましょう

        これで、元画像の画像パスが得られました。
        プロンプトの「image」部分に、今得られた画像パスを入力しましょう。

        ステップ2:マスク画像のパスを取得する

        元画像に、Google Slideの機能を使って白い丸を乗せて、マスクしました。

        これはまだ「マスク画像」ではないので、注意してください。

        画像
        マスキングを施した画像。ただし、「mask」に入れるパスはこの画像のパスではありません

        次に、先ほどと同じように、背景を黒に設定します。
        重要な工程なので、スキップしないようにお願いします。

        背景が黒に設定できたら、元画像を削除し、黒背景とマスクのみが残る状態にしてください。

        画像
        これが「mask」に入れるマスク画像になります!

        ここまで完了したら、ファイル>ダウンロード>png画像 と選択し、画像をダウンロードしましょう。

        画像
        (※再掲)
        スクリーンショットだとピクセルを確実に合わせるのが困難なので、
        スライドごと画像ダウンロードしましょう

        これを先ほど同様に、Colab上にアップロードします。画像のパスを取得できたら、プロンプトの「mask」部分に得られたパスを入力します。

        これで、「image」と「mask」に適切な画像パスが入力できました。

        ステップ3:prompt, negative prompt, seedを指定する

        今回は、元画像のドレスを着た女性がもともと「何も持っていない」ところを、マスクした箇所において「一輪の白い薔薇を持っている」ようにEditを施したいと思います。

        そこで、それぞれ次のように設定します。

        • prompt:holding a red white rose
        • negative prompt:ugly, normal quality
        • seed:39(お好みで)

        ここまでで、必要な設定が完了しました!

        ステップ4:いざ、実行!

        さあ、画像を生成してみましょう。

        得られた画像が、こちら!

        画像
        inpaint後の画像がこちら

        ちゃんと、指定した位置に白薔薇を持ってくれています!うれしい!

        このように、inpaint機能を使えば、
        「あとちょっと、この部分だけ変えたい!」というときに、
        その位置にマスキングを施すことで
        「欲しい位置」に「欲しい修正」を施してくれます。

        他の画像生成APIと組み合わせて使うことで、さらに創作の幅が広がりますね!

        お手軽テクニック:Google Slide上でマスク画像を編集する

        Google Slideは画像編集ソフトではありませんが、このような簡易な塗りつぶしはラインツールやオブジェクトツールで何度でもやり直しできます。マスクに求められる解像度は高くはないので特に影響はありません。

        もちろんWindowsのペイントなどのアプリでも構いませんが、狙った場所に塗りを入れるツールとして非常にお手軽です。

        少し手間が多いですが、丁寧にやることで手戻りも少なく済むので、
        確実な手順を踏むことをおすすめします。

        Outpaint機能とは?

        入力画像を「指定された方向に」「指定された分だけ」新たな絵を生成してくれる、ImageToImage(img2img)の機能です。

        例えば、「入力画像のサイズを変えたいけれど、今の背景に対するメインモチーフの大きさは変えたくない…」というときに大活躍します!

        公式が提供しているGoogle Colabでは次のように例が紹介されています。

        元画像の左(left)に100、右(right)に512新たに生成する、という指定がされています。

        画像
        公式Colabを開いたら最初から入っている例
        画像
        Outpaint前の元画像
        画像
        Outpaint後の生成結果

        このように、元画像と背景のバランスを保ったまま、ある方向に画像を広げてみたいときに非常に便利な機能です。

        実際にOutpaintを使ってみよう!

        ステップ1:元画像のパスを取得する

        今回Outpaint対象とする画像はこちらになります。

        画像
        先ほどInpaintでEditを施した画像を使用します

        こちらをColabのファイルにアップロードし、パスを取得します。
        完了したら、「image」にパスを入力します。

        ステップ2:画像をどのように広げるか指定する

        今回は、上と左右を広げて広く見せることで、より臨場感のある画像に仕上げたいと思います。

        そこで、次のように指定します。

        • left:200
        • right:200
        • up:500
        • down:0

        場所としては「中世のお姫様が住む高級感のあるお屋敷」とします。

        • prompt:a luxurious mansion, medieval, a princess
        • creativity:0.5
        • seed:39

        これで、Outpaintを実行する準備が完了しました。

        ステップ3:いざ、実行!

        得られた画像がこちら!

        画像
        Outpaint後の生成結果がこちら!

        元の画像には存在しなかった「お屋敷の天井」が、元画像に合った雰囲気で生成されました!

        元画像では切れて写っていた、左端に飾ってある花が、白薔薇として生成されているのが面白いですね。これはInpaint機能と掛け合わせてさらに自然に見えるよう修正してもいいポイントですね。

        このように、Outpaint機能を使えば、用途に合わせて画像サイズを変更する、というのが簡単にできます。

        元の画像に写っていない部分を新たに自分で描き足さなくても、

        「こんなふうにしたい」をプロンプトで指定することで実現できてしまうのが、Stability AI APIのパワーですね!

        さいごに

        公式Colabには今回紹介した以外にも多くのAPIが公開されており自由に触ることができます。
        様々なモデルを試し、ぜひ色々なタイプの画像生成にチャレンジしてみてくださいね!

        Stable Diffusionを開発・公開している Stability AI は、HuggingFaceで無償でダウンロード可能な Stable Diffusion をはじめとするオープンモデル以外に「Stability AI API」という有償のAPIも提供しています。高品質で高速、高機能なAPIであり、新しく魅力的な機能もどんどんリリースされているので 開発者向けのAPIガイド として紹介していきたいと思います。

        上記「Stability AI API Guide」noteより

        それぞれのAPIについて解説した「Stability AI API Guide」は
        こちらに随時更新していきますので、ぜひ合わせてご覧ください。

        https://note.com/aicu/n/n4eda1d7ffcdf

        【AICUからビッグなプロダクトのお知らせ!】

        以上の通り、高速・高画質・高機能で、とても便利な「Stability AI API」ですが、こちらに関連してオンライン講座プラットフォーム「Coloso」と一緒に企画した講座「超入門: Stable Diffusionではじめる画像生成AI」が8月23日に公開されます!
        約10時間超えの豊富なカリキュラムで構成されています。

        画像

        今、Colosoで講座の事前通知申請を申請すると6,000円の割引クーポンがもらえるので、お得な特典をお見逃しなく!

        講座内容は主にStable Diffusionと、Stability AI APIを使ってファッションや広告デザインに活用する方法になる予定です。

        画像
        画像

        リアルテイストのかわいいビジュアル満載のやさしい入門ラーニング動画になる予定なので今から楽しみ!

        画像

        講座のカリキュラムが確認できる詳細ページは、
        8月23日に公開される予定ですので、もう少しお待ちください。

        事前通知はこちら>> https://bit.ly/3YGSNda

        最後までお読みいただき、ありがとうございました!


        この記事の続きはこちらから https://note.com/aicu/n/n605c1963f13b

        Originally published at https://note.com on Aug 20, 2024.

      1. 【超入門】Stability AI API 公式サンプルで「TextToImageの最近の文法」を総ざらい!

        こんにちは、AICU media編集部です。ライターのRUNO.がお送りします!

        今回は、Stability AI API Guideの「超入門」!
        Generate APIと「TextToImageの最近の文法」を総ざらいします。

          Stability AI APIとは?

          Stability AI APIは、Stability AIが提供するクラウドベースのAPIサービスです。後述のGoogle Colabでの実験環境だけでなく、Google Slidesや独自のアプリなどで、画像生成をはじめとしたパワフルな機能を利用することができます。ユーザーはGPUやサーバーといった演算環境をはじめ、何も用意する必要はありません。
          そして、とても重要な特徴なのですが、Stability AIのAPIはすべて「商用利用可能な画像生成が可能」なのです。これはあまり知られていないことなのですが、後々のトラブルを防ぐためにもプロフェッショナル向けの画像生成において意識しておきたいポイントです。

          APIの種類と特徴について

          Stability AI公式ページでは、2024年8月現在全部で16個の画像系モデルが存在しています(coming soonと記載されたものを含めると18個)。

          https://note.com/aicu/n/n4eda1d7ffcdf

          動画生成、言語、3D、オーディオを含めると23種類となります。

          画像

          画像系は大きくは「Generate」「Upscale」「Edit」「Control」の4つに大別され、それぞれ次のような特徴があります。

          • 「Generate」:いわゆる「TextToImage」です
            • プロンプト(テキスト)によって画像生成を行う
            • 現在6つのモデルが提供されている
          • 「Upscale」:高解像度化
            • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像生成を行う
            • 現在{Creative, Conservative}という2つのモデルが提供されている(加えて、Standardがcoming soonとして予告されている)
          • 「Edit」いわゆるImageToImageです
            • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像再生成を行う
            • 現在{Search and Replace, Inpaint, Outpaint, Remove Background, Erase Object}5つのモデルが提供されている
          • 「Control」こちらも いわゆる ImageToImage です
            • ベースとなる画像を入力し、そこにプロンプト(テキスト)で指示を追加し画像再生成を行う
            • 現在{Sketch, Structure, Style}3つのモデルが提供されている(加えて、 Recolorがcoming soonとして予告されている)

          https://platform.stability.ai

          今回は最も基本的な「Generate API」について解説していきます。

          Generate APIとは

          新しい画像や既存の画像のバリエーションを生成するためのツールです。
          TextToImage(テキストから画像を生成する)の根幹を担いますが、最高品質の画質と文字を書く能力(タイポグラフィー)、照明、色合い、構成力などに優れています。特にStable Diffusion 3世代のモデルから作られた Ultraは特筆に値します。

          Stable Image Ultra
          Stability AIの最も先進的な「Text to Image」画像生成サービスであるStable Image Ultraは、前例にないほど迅速な言語理解と最高品質の画像を作成します。Ultraは、タイポグラフィー、複雑な構成、ダイナミックな照明、鮮やかな色合い、そしてアート作品全体のまとまり(cohesion)と構成力に優れています。Stable Diffusion 3をはじめとする最先端のモデルから作られたUltraは、Stable Diffusionエコシステムにおける最高のサービスです。

          https://platform.stability.ai/docs/api-reference#tag/Generate  より人力翻訳

          Stable Diffusion 3時代のプロンプトの文法

          まず、Stable Diffusionではテキストを入力することで単語をもとに画像を生成し、これを「TextToImage(t2i)」と呼びます。このAIに対する指示を行うテキストを「プロンプト」と呼びます。
          モデルによって様々な言語理解が特徴としてありますが、まずはモデルと対話して、効率的なプロンプトの構造を理解することが重要です。

          画像

          モデルが多様にあるため「これが完璧」という方法を一様に宣言することは難しいです。想像や噂がネット上にたくさんあるのですが、最近のモデルはプロンプトを短くすることに努力が割かれていますし、一方では簡単なキーワードで美麗な結果が出すぎるモデルは「過学習」とも言えるかもしれません。画像生成の使い手にとって重要なのは品質や速度、簡単さに加えて「意のままに操れること」つまり「制御性」が重要になります。いくつかのポイントをおさえてモデルと対話すると、その特徴を理解して制御が可能になってきます。
          Stability AI 公式のサンプルに散りばめられたサンプルプロンプトを読んでいると、最新のStable Diffusion 3時代の文法や表現力を引き出すコツが見えてきます。ポイントを整理して、実際に手を動かしながら理解を深めてみたいと思います。

          ポイント①:「生成したい画像のイメージを的確にする」

          例として「遠くに小さな小屋の前で、少女が青い小鳥と仲良く遊んでいる」といったイメージがあったとします。これを細部を深めつつ分解して考えてみましょう。

          • 主題:少女、赤いワンピース、赤い靴、三つ編み、青い小鳥…
          • 背景:小屋・青空・草原・森・木々・差し込む光
          • その他:ファンタジー・落ち着いた雰囲気・昼間・晴れている

          ビジュアルを構成する要素を大きく分けると「主題」と「背景」、そしてアニメ風やファンタジーイラスト、フォトリアルなどの「画風」、さらに構図、表情、雰囲気といった演出の要素になります。

          画像

          ポイント②:「知っておくべきルール」

          • 英語で書く
          • 単語もしくは 文の区切りにカンマ(,)を入れる

          例:ルール通りにプロンプトを書く

          • 主題:1girl, red one-piece dress, red shoes, braided hair, a bluebird
          • 背景:a cottage, blue sky, meadow, forest, trees, rays of sunlight
          • その他:fantasy, calm atmosphere, daytime, sunny

          ポイント③:「クオリティプロンプトを使用する」

          これまで画像生成界隈で言及されてきたプロンプトの常識として「クオリティプロンプト」がありました。例えば、傑作(masterpiece)、高クオリティ(high quality, best quality)、非常に詳細(ultra detailed)、高解像度(8k)といった「定型句」を入れるとグッと画質が上がるというものです。Stability AI APIでもクオリティプロンプトは効果があります。

          画像

          ultra detailed, hires, 8k, girl, witch, black robe, hat, long silver hair, sitting, smile, looking at viewer, full body, flower garden, blue sky, castle, fantasy, vivid color, noon, sunny

          上記のプロンプトをクオリティプロンプトとしての「ultra detailed, hires, 8k,」を変更して、同じシード(seed:39)を使って Stability AI Generate Ultraによる比較をしてみました。

          画像

          なお最近のモデルでは既にこのような常識も学習済みであったり、モデルや出力する画風によっては逆効果になる場合もあります。
          Stability AI API の公式情報によると、

          出力画像で表示させたいもの。 要素、色、主題を明確に定義するわかりやすい説明的なプロンプトを使用すると、より良い結果が得られます。
          特定の単語の重みを制御するには、(単語:重み)という形式を使用します。単語は重みを制御したい単語、重みは0から1の間の値です。例えば、「空は晴れやかだった(青:0.3)」と「(緑:0.8)」は、青と緑の空を表現しますが、青よりも緑が強調されます。

          という指摘があります。AICUでは日々、このような制御構文は研究を進めており、詳しくは別の機会に実験方法とともに解説したいと思います。

          ポイント④:「ポーズを指定しよう」

          画像

          人物画などを生成したいときは、ポーズを指定してみましょう。

          • sitting (座る)
          • raise hands (手を上げる)
          • looking back (振り返る)
          • jumping (ジャンプ)

          ポイント⑤:「構図を指定しよう」

          画像

          ポーズを指定しても、思ったような絵が出ない場合は、構図を指定すると効果的です。構図を後から変えると絵全体が変わることがあるので、初めからある程度決めておくのがおすすめです。

          • from above (上から)
          • from below (下から)
          • face focus (顔のアップ)
          • from side (横顔)

          【実践:基礎】 Google Colabサンプルの動かし方

          それでは実際に、公式で提供されているGoogle Colabサンプルを用いて、
          画像生成してみましょう!

          Stability AI 提供の公式サンプルへのショートカット
          https://j.aicu.ai/SAIci

          APIリファレンスから参照する場合はこちらから
          https://platform.stability.ai/docs/api-reference

          ステップ1:公式Colabにアクセスする

          APIリファレンスを開くと、公式Colabが次のように提供されています。

          画像
          ピンクの枠部分をクリックすると、公式が提供しているColabに飛ぶことができます
          画像

          実際のリンクはこちらになります。

          https://colab.research.google.com/github/stability-ai/stability-sdk/blob/main/nbs/Stable_Image_API_Public.ipynb#scrollTo=yXhs626oZdr1

          ステップ2:画像生成を始めるための準備

          クリックしてColabに飛ぶと、このような画面になります。

          画像生成を始める準備として、上から3つの操作を順番に実行する必要があります。

          画像
          まずはInstall requirementsを実行しましょう

          警告が表示されますが、今回は公式が提供しているColabになるので、
          「このまま実行」をクリックします。

          画像
          青い字で書かれた「このまま実行」をクリックします

          これが完了したら、次にConnect to the Stability APIを実行します。

          画像
          このピンクの枠部分がConnect to the Stability APIの実行ボタンです

          実行すると、このようにAPIキーの入力を求められます。

          画像

          APIキーは、Stability AIにアクセスし、右上のアカウントアイコンをクリックすることで取得することが可能です。

          画像
          右上のアカウントアイコンをクリックしましょう
          画像
          こちらの API key のリンクからでも取得可能です

          https://platform.stability.ai/account/keys

          画像
          ピンクの枠内にAPIキーが表示されています(※マスキングしております)

          「sk-… 」で始まる文字列がAPIキーです。

          これを先ほどのColabの枠内に入力し、Enterを押しましょう。

          完了したら、最後にDefine functionsを実行しましょう。

          画像
          ピンクの枠に示すボタンをクリックし、Define functionsを実行します

          ここまで完了したら、それより下に続くモデルをどれでも利用可能な状態になります。

          ステップ3:モデルを選んで、いざ画像生成!

          今回は、Stable Image Ultraを使って、画像生成をしてみましょう!

          サンプルでは、はじめからこのようなプロンプト例と実行例が表示されています。

          画像
          はじめはこの状態

          既に入力されているプロンプトを削除し、生成したい画像を示すプロンプトを「prompt」箇所に入力します。

          今回は、上で例にとった「遠くに小さな小屋の前で、少女が青い小鳥と仲良く遊んでいる」を生成してみます。

          実際はプロンプトは一行で書きますが、見やすいように要素ごとに分けて記載します。

          prompt:

          • best quality(クオリティプロンプト)
          • 1girl, little girl, wide angle, vertical angle, red one-piece dress, red shoes, gold braided hair(主題1)
          • a tiny bluebird, playing, chatting(主題2)
          • in front of a cottage, blue sky, meadow, forest, trees, rays of sunlight, fantasy, calm atmosphere, daytime, sunny(背景など)

          次に、ネガティブプロンプトを入力します。
          ネガティブプロンプトとは、写って欲しくないものを入力し、出力画像のクオリティを上げるために指定します。

          たとえば、

          • 普通のクオリティ(normal quality)
          • 醜い(ugly)
          • 上手に生成されていない手(bad hands)
          • 暗い雰囲気にしたくないとき(dark)

          今回はシンプルに

          negative prompt:  normal quality, ugly

          とします。

          ちなみに、ネガティブプロンプトは細かく入れすぎると逆効果の場合もあります。できるだけシンプルに入れることで無駄な制約を減らすことができます。

          aspect_ratioは出力画像のサイズを指定します。
          seedは画像の種類に番号が振られているようなイメージで、同じseedかつ同じプロンプトでは毎回同じ出力が得られます。絵柄を固定したい時などに便利です。

          今回はaspect_ratio: 3:2, seed: 39とします。

          それぞれの設定が入力できたら、実行ボタンを押下します。

          画像
          いざ、実行!

          実行が完了すると、画像が表示されます。

          画像
          嬉しい!
          画像
          かわいらしい!そして画質がいい!

          まるでアニメのオープニングのような美しい画像が得られました!

          皆様はイメージ通りの画像が得られましたでしょうか?

          補足1:画像の保存

          この段階で表示された画像を保存したいときは、表示されている画像を右クリックすることで「名前をつけて保存」で保存できます。

          画像

          もう一つの方法はGoogle Colabの左側にあるフォルダタブ📁をクリックして「generated_…」という名前のPNG画像を保存することです。

          画像

          どちらも1216×832ピクセルの同じ画像です。
          これをGoogle Driveに直接保存する方法がありますが、こちらは公式サンプルをほんの少し修正する必要がありますので別の機会に紹介します。

          補足2:Colabをドライブにコピーし、オリジナルのコードを追加する

          左上から「ドライブにコピー」を押すと、ログインしているGoogleアカウントのGoogle driveにColabノートブックをコピーすることができます。

          画像
          自分のドライブ上で自由に生成を楽しもう

          オリジナルのpythonコードを追加して、生成した画像を自動でGoogle drive上のフォルダにアップロードするなど、
          コードを追加すれば様々な処理が可能になります。

          ちなみに、自分のドライブにコピーをしないままコードを追加しようとするとこのようなエラーが出てしまい、実行することができません。

          画像
          コードを追加したいときは最初に自分のドライブにコピーしてから始めましょう!

          【実践:応用】 Upscaler機能紹介とデモ

          Upscalerとは、画像を入力として与え、そこにテキストで追加指示を送ると、高画質に変換してくれるAPIです。

          現在公式が提供しているColab上では「Creative Upscaler」と「Conservative Upscaler」の2つを利用することができます。

          先ほどUltraで生成したColabの画面を下にスクロールすると、Upscaler機能を利用できます。

          画像
          下にスクロールするとUpscalerなど他のモデルがあります

          「Creative Upscaler」と「Conservative Upscaler」の違い

          • Creative Upscalerは、与えた画像にさらにクリエイティブな加工を施すとともに、高画質化して出力します。
          • Conservative Upscalerは、与えた画像を高画質化して出力します。

          先ほどUltraで出力した画像をこの2つのモデルにかけてみましょう。

          Upscalerを始めるための準備

          まずは、画面左側の「ファイルマーク」をクリックします。
          下に示す画像に従って、順番にクリックしていきましょう。

          画像
          画面左側のファイルマークをクリックします
          画像
          次に、一番上のファイルマークをクリックします
          画像
          「content」ファイルにカーソルを当て、右側のマークをクリックします
          画像
          表示されたメニューから「アップロード」をクリックします。

          そして、先ほどUltraで生成した画像を選んで、アップロードします。

          少し待つと、この三角マークを押して表示される「content」フォルダの中にアップロードした画像の名前が表示されます。

          画像
          contentフォルダの中身を確認しましょう
          画像
          アップロードした画像にカーソルを当て、メニューを開きます
          画像
          「パスをコピー」をクリックします

          これで、Upscalerを利用する準備ができました!

          Creative Upscalerを使ってみよう!

          「image」には今コピーしたファイルのパスをペーストします。
          「prompt」には、どのように加工を施すか入力します。
          「negative prompt」には写したくないものや雰囲気を、
          「creativity」には新たに施す加工をどの程度強くするかを設定します。

          今回は
            prompt: photorealistic, emotional
            negative prompt: normal quality, ugly
            seed: 39
            creativity: 0.30
          としました。

          画像
          入力イメージ

          さあ、実行してみましょう。

          画像
          フォトリアルに変わっています!

          比べてみると、高画質化もされているのがわかります。

          画像
          左がUpscale後の画像、右が元画像です

          Conservative Upscalerを使ってみよう!

          「Conservative」とは「保守的な」という意味です。
          「Creative」に対して、もとの画風を維持します。

          promptには、元画像を生成した時のプロンプトを入れます。
          その他の設定はCreative Upscalerと同じです。

          画像
          入力イメージ

          実行すると、次のような画像が得られました。

          画像
          ぱっと見は変化がわかりづらいかも?

          拡大して比較してみると、確かに高解像度化されているのがわかります。

          画像
          左が元画像、右がUpscale後の画像です

          [体験談] ライターのnoteアイコンを実際にUpscaleしてみた

          Upscale前の元画像がこちらになります。

          画像
          Upscale前の元画像です

          Upscale後の画像がこちらです。今回はConservative Upscalerを使用しました。この状態で見比べても、画質が良くなっていることがわかりますね!

          画像
          Conservative Upscalerで高画質化した後の画像です

          拡大して比較すると、明確にUpscaleされていることがわかります。

          画像
          左が元画像、右がUpscale後の画像です!

          元画像はDALL-Eを活用して生成しました。

          このように、他サービスで生成した画像をStability AI APIと掛け合わせて使うこともできるのですね。

          好みや用途に合わせて使うことで、より創作の幅が広がりますね。

          皆様もぜひ、気に入った画像を高画質化してみてくださいね!

          さいごに

          公式Colabには今回紹介した以外にも多くのAPIが公開されており、
          自由に触ることができます。

          様々なAPIを試し、ぜひ色々なタイプの画像生成にチャレンジしてみてくださいね!

          Stable Diffusionを開発・公開している Stability AI は、HuggingFaceで無償でダウンロード可能な Stable Diffusion をはじめとするオープンモデル以外に「Stability AI API」という有償のAPIも提供しています。高品質で高速、高機能なAPIであり、新しく魅力的な機能もどんどんリリースされているので 開発者向けのAPIガイド として紹介していきたいと思います。

          上記「Stability AI API Guide」noteより

          冒頭でも紹介したStability AI API Guideは随時更新していきます!

          https://note.com/aicu/n/n4eda1d7ffcdf

          最後に Stability AI APIの Stable Image Ultra で生成したカバーアートの探求を共有します。

          AICUのAIキャラクター「全力肯定彼氏くんLuC4」です

          画像
          画像

          3D化して

          画像

          実写化してみました

          画像

          そのまま学位帽をかぶせて3Dアニメーション風に…

          画像

          完成です!

          画像
          best quality, photorealistic, graduation cap, mortarboard, 1boy, very cool high school boy, solo, gentle smile, gentle eyes, (streaked hair), red short hair with light highlight, hoodie, jeans, newest, colorful illuminating dust, in a mystical forest seed:39

          ここまで読んでいただき、ありがとうございました!


          この記事の続きはこちらから https://note.com/aicu/n/n8981d463ee89

          Originally published at https://note.com on Aug 14, 2024.

        1. Difyで使う Stability AI API – 10分でつくる「漫画ジェネレーターSAI」

          Dify」(ディファイ)は生成AIをマッシュアップするオープンソースの開発プラットフォームです。ユーザーはノーコードでさまざまなAIアプリケーションを作れます。 たとえば、チャットボット・AIアシスタントや要約・分析ツール、画像生成アプリ、計算ツールなどをつくることができます。

          今回の記事ではこの「Dify」を使って、漫画を簡単に生成するためのツールを開発してみます。特に、漫画のための画像をの作り方ではなく、「ストーリーや絵コンテを考えるツール」の開発を「できるだけ短い時間」でやってみます。

          作り方

          1.Difyでアカウントを作成し「最初から作成」→「エージェント」

          画像
          画像

          ここまでできたらいったん次の「ツール」の設定をして戻ってきます。

          2.「Google Search」と「StableDiffusion」の認証

          次にツールの認証設定をします。
          中央上部の「ツール」を押してみてください。
          https://cloud.dify.ai/tools

          画像

          認証済みだとこの状態になります。

          画像

          認証が終わっていない場合はSerpApiのAPIキーを取得しましょう。

          画像

          SERPとは、「Search Engine Result Page」の頭文字をとった用語で、検索エンジンでリサーチしたとき画面に表示される検索結果ページのことです。Googleの検索結果についてはSERP Incが便利なAPIを無料で提供しているのでこちらを利用します。
          https://serpapi.com/users/sign_in

          利用規約に同意し、ユーザーアカウントを作成するだけでAPIキーを発行できます。
          https://serpapi.com/manage-api-key
          クレジットカードの登録等は必要ありません。

          画像

          次に Stability AI のAPIキーを取得します。
          こちらも「著者 Dify」とあり、Difyが開発したものでStability AIの公式ツールというわけではないようですが、非常に高品質で高画質なAPIをユーザー設定のAPIキーで利用できます。

          画像



          こちらからAPIキーを取得しましょう。無料で登録でき、初回のクレジットが使えるはずです。

          https://platform.stability.ai/account/keys

          Stability AIが提供する「DreamStudio」と共通ですので、すでにクレジットを持っている人もいるかも知れません(ここで確認できます)。絵コンテを作っていくうえでは10ドルぐらい課金しておくと良いと思います。$10で1,000クレジット使えます。

          画像

          この状態になっていれば利用できます。

          画像

          3.エージェントに「手順」を教える

          中央上部の「スタジオ」から先ほどタイトルを設定した「エージェント」の設定に戻ってきましょう。
          https://cloud.dify.ai/apps
          「手順」を書く前に下の「ツール」を設定していきます。

          画像

          まずは「Google Search」を「+ADD」します。

          画像

          続いて「StableDiffusion」を「+ADD」します

          画像

          4.基本の「手順」を設定して動作確認

          まずは以下をそのまま打ち込んでみてください

          あなたはバズを生み出すネットで人気のAIをテーマにした漫画の作者です。
          夏のAIアートコンテストに応募するための作品を検討しています。

          ユーザが入力した内容に基づき、以下の Steps を自動的に実行していきます。

          # テーマの選定
          ユーザーから与えられたテーマを google_search を使い、最新の話題を調査しつつ、
          ・ポップでバズりそうな漫画のタイトルとアプローチを考えて
          ・その中でも「誰もやっていなさそうな話題」を選んで次のステップに進行します
          自動で次のステップへ

          # 「起承転結」を意識して4コマのシナリオを作成
          上記のキャラクター設定とコンセプトに基づき、自動的に英語で画像生成用プロンプトを作成してユーザーにセリフで説明する
          自動で次のステップへ

          # 画像を生成
          上記のシナリオ、状況描写を stability _text2Image で画像生成
          自動で次のステップへ

          # 以上を4回繰り返し

          この「手順」はだいたいでいいです!
          ※AICU media 編集部では、この他にキャラクターの設定や画風の設定、起承転結のそれぞれのコマの役割などを追加しています。

          5.「動作確認」
          ここまで「手順」を設定したら右下の「ユーザー入力フィールド」に適当な話題を振ってみます。

          画像

          ユーザ入力:「スイカはどこいった」

          最新の話題を調査した結果、「スイカ」に関連する検索結果がありました。それぞれの情報を考慮して、ポップでバズりそうな漫画のタイトルとアプローチを考えます。

          以下の中から、「誰もやっていなさそうな話題」を選んで4コマのシナリオを考えましょう。
          1.スイカの歴史
          2.「まじでスイカどこ行った笑笑」のTikTok動画
          3.DASH恒例・二宮と夏祭りでの大玉スイカ消失エピソード
          4.Suicaアプリケーションでのトラブル
          5.スイカの知られざる5000年の歴史
          6.「どこいった、僕のスイカは…」のブログ記事
          7.熊本の生産量日本一のスイカ出荷最盛期の異変
          さて、どの話題で漫画を作成するか選んでいただけますか?

          ここで数字入力で 1~7 を入力してもいいですし、人間のアイディアを加えても上手く動作します。
          試しに「「スイカ割り」とSuicaをかけて『みつからない』漫画」をユーザ入力に入れてみて、画像が生成されれば成功です!

          画像

          なお「Panel」とは英語で「漫画のコマ」のことです。
          「続けて」もしくは「GO」と入力すると続きを生成していきます。

          画像

          動作確認なので中身のできはともかく、どんどん進んでいきましょう!

          画像
          画像
          画像
          画像

          最後にストーリーの内容を確認してみます。

          ユーザー「どういう話だったか台詞を教えて」

          各シーンの台詞をお伝えします。
          Panel 1:
          キャラクター:「みんな、スイカ割り楽しいね!」
          友達1:「絶対俺が一番早く割る!」
          友達2:「おお、スイカの爽やかな香りがする!」

          Panel 2:
          キャラクター:「えっ、Suicaがない!?」

          Panel 3:
          キャラクター:「探さなきゃ!」
          友達1:「どこ見てもないよ!」
          友達2:「慌てないで、一緒に探そう!」

          Panel 4:
          キャプション:「スイカ割りでSuicaを失いましたが、楽しい思い出は見つかりました」

          以上が各パネルのセリフです。楽しい漫画シナリオをお楽しみいただければ幸いです

          「わあ!全然面白くないぞ!」
          と思ったアナタ、ここからの先はアナタの工夫に任されています!
          具体的な方法を簡単にお伝えします。

          6.エージェントの詳細を変更

          この状態では「gpt-3.5-turbo」で動いています。彼は倫理観と速度は確かなものですが、冗談をつくるのは苦手なLLMかもしれません。

          画像

          最新の「gpt-4o-mini」を選んでみてください。応答のキレがぜんぜん違います。
          その他「手順」については、前述の通り、起承転結の作りやキャラクターの設定、画風の設定などを加えていくことをおすすめします。

          7.ツールの設定を変更

          ツールの「StableDiffusion」の[i]ボタンから設定を変更することができます。まずは「Model」からAPIモデルを選択しましょう。

          画像

          ここでは「Core」、「Stable Diffusion 3」、「Stable Diffusion 3 Turbo」が選択できます。どのAPIもおすすめですが、クレジットの消費や速度で考えると、悩んだら絵コンテツールの場合は「Stable Diffusion 3 Turbo」が高速でよいかなと思います。

          画像

          シードは「0」のままだとランダムなので、ある程度画風を固定したいなら、お好きな数字で固定してみるといいでしょう(これは好みがあるので探っていただいたほうがよいですね)。
          Aspect Ratioはつくる漫画に合わせて縦長/横長を選んでいきましょう。
          ネガティブプロンプトにはNSFWを加えておくといいかもしれません。

          最後に右下の「保存」を押すのを忘れずに!

          8.「公開」

          最後に右上の「公開」→「保存/更新」をして「アプリを実行」してみましょう。

          画像

          これで、Difyユーザーに限らず単体のアプリとして起動するURLが発行されます。

          画像

          スマホでも快適動作するレスポンシブ対応です。

          画像

          電車の中で、フッと思いついたネタを壁打ちしてもらえるのに便利ですね!

          注意:一般公開する場合は不特定多数の方に利用される可能性があります。
          Difyダッシュボード内で全ての利用状況は把握できますが、APIキーの管理などに不安がある方は、仲間内だけでの公開がよいかもしれません。

          AICU media 編集部での使い方

          以上が「10分でつくった漫画ジェネレーターSAI」です。
          4コマ漫画や起承転結スタイルだけでなく、工夫次第でもっと長いストーリー漫画にも活用できます。


          より実用的な Difyによる漫画ジェネレーターの使い方も紹介しておきます。

          基本は「フランスでオリンピックが始まるんだって」、「米国株安かと思ったら今度は円高かよ」といった「雑な1行」から、最新の話題を踏まえた漫画原作と絵コンテ制作を手伝ってもらえるツールを使っています。

          上記のサンプルと異なる点は、

          ・キャラクターの設定:名前や性格、ロールや口癖、そしてStability AIのAPIで描画できるプロンプトを具体的に記述していきます。
          ・画風の設定:プロンプトで設定する画風について
          ・起承転結の役割:単に「起承転結」といっても、それぞれのコマで行うべき行動、描写、表現、見せ方は作家や対象の読者によって異なります。

          このあたりをしっかりと記述しています。

          ツールの設定をプロンプト側で上書きしていくこともできますが、プロンプトが長くなっていくと制御性が落ちていくので、決まったことはツールの設定に入れていきましょう。

          もっと細かいことをやりたい場合は、Dify作成のツールではなく、自分でリクエストするツールを作ったほうがいいかもしれません。

          「これが勝ち筋」というところまでできたらまた紹介するかもしれませんが、今回はギャラリーと、実際に遊べるURLを期間限定で公開します。

          ギャラリー

          画風を探求していくとこれぐらいの絵も一発で生成できるようになります。
          このツールの中で探求させる方向性もありですね!

          画像
          画像
          画像

          Core や Stable Diffusion 3 の画風の違いはこちらの記事をご参照ください!

          コンテストに応募してみよう

          現在、AICUでは
          「AICU Summer Art Contest 2024」
          と題した、画像生成コンテストが行われています!

          募集部門は全部で3つ

          応募方法

          (1)「夏」をテーマにしたオリジナルAIアートを作成する
          海、花火、夕焼け、夏祭りなど、あなたのイメージを自由に表現しましょう。
          応募部門は「AICUキャラクター部門 #AICU_art」「#SD黄色本」 「#StableDiffusionAPI」 部門があります。
          作品自体には動画、漫画等を交えても構いません(ビジュアルとしての採用は静止画を対象とします) 解像度やレイアウトについて、詳しくは募集要項をご確認ください。

          (2) 作品をX(Twitter)に投稿する
          必須ハッシュタグ: #AICU 必ずつけてください
          部門ハッシュタグ: #AICU_art#SD黄色本#StableDiffusionAPI いずれかをつけてください
          コンテストへの応募であることを明記し、AICU公式Xアカウント @AICUai をフォローしてください。

          (3)応募フォームでエントリー完了!
          エントリーフォームのURL
          http://j.aicu.ai/SAC24
          ・作品の公開URLをエントリーします
          ・応募期間:2024年7月20日12:00~7月28日23:59(日本時間/予定)
          ・審査員(AICU media編集部) および X上にてAI[Koto]@AICUai が各ハッシュタグを巡回します

          AICU公式X(旧Twitter)より

          応募締め切り

          上にある通り、応募締め切りは2024年7月28日23:59(日本時間/予定)まで!

          ぜひチャレンジしてみてくださいね!

          今回の記事を参考に応募できるジャンル

          Stable Diffusion APIを用いているので、まずは3つ目の「#StableDiffusionAPI 部門」に応募できそうですね。

          今回のブログのようにメイキングで技術紹介をしたり、ストーリーマンガ形式にしていただいてX(Twitter)上で作品として紹介して頂く方法も可能です。

          応募した方は、X上のポストだけでなくエントリーフォームの提出もお忘れなく!

          漫画の作画については…?

          書籍「画像生成AI Stable Diffusionスタートガイド」をおすすめします!

          https://j.aicu.ai/SBXL

          過去の関連記事やイベントについてはこちら

          漫画を発表する場所がほしい…

          「生成AIを使った漫画」だと思われると攻撃されるのでは…とご心配の方もいらっしゃるかもしれません。「何を使った」を表明することは必須ではないと思います。上記のAICUのアートコンテスト他には、AIを使った漫画に特化したAI漫画投稿プラットフォーム「IDEYO!!」もあります。

          https://j.aicu.ai/IDEYO

          ちょうど7月31日までのお題「部活」も開催中とのこと

          画像

          AICU編集部からもエントリーしてみようかな??

          いますぐ遊べるURL

          最後に、Stability AI と AICU のご厚意で、いますぐ遊べるURLも紹介しておきます!
          (管理上、期間限定になるかもしれません)

          ❏「10分で作った漫画ジェネレーターSAI」
          https://j.aicu.ai/MGS10

          この記事の続きはこちらから https://note.com/aicu/n/n5e1b77ef6724

          Originally published at https://note.com on July 27, 2024.