見出し画像

[Stability AI API] Stable Fast 3DをGoogle Colabで動かす

魅力的な機能をたくさん備えた「Stability AI API」を使いこなすシリーズです。今回は、2024年8月に公開された「Stable Fast 3D」を使ってみます。このAPI は、単一の 2D 入力画像から高品質な 3D アセットを生成します。

試してみる

API キーを取得し、Google Colab サンプルにアクセスしてください。

▶基本はこちら
【超入門】Stability AI API 公式サンプルで「TextToImageの最近の文法」を総ざらい!

Fast 3DのGLBファイル生成はGoogle Colabでほんの3-5秒ぐらいです

背景画像の除去は自動で処理されます。

ちゃんと後頭部の厚みがあります。



例えば漫画の構図出しとか、アクリルキーホルダーのバーチャル試作といった使い道もあるかもしれませんね。



ちゃんと後頭部の厚みがあります。


マテリアル推定がうまくいかないときもあります。

犬沢某(@InsBow)さんのキャラクターイラストで実験。かわいいです。

同じく、キャラクターイラストより。ちゃんと見えないところも3D化しています。

全体としてイラストレーションのほうがうまくいく印象がありました。

APIの詳細

POST リクエストでエンドポイント
https://api.stability.ai/v2beta/3d/stable-fast-3d
を呼び出してください。
Colabのサンプルコードより

#@title Stable Fast 3D

#@markdown - Drag and drop image to file folder on left
#@markdown - Right click it and choose Copy path
#@markdown - Paste that path into image field below
#@markdown <br><br>

image = "/content/cat_statue.jpg" #@param {type:"string"}
texture_resolution = "1024" #@param ['512', '1024', '2048'] {type:"string"}
foreground_ratio = 0.85 #@param {type:"number"}

host = "https://api.stability.ai/v2beta/3d/stable-fast-3d"

response = image_to_3d(
    host,
    image,
    texture_resolution,
    foreground_ratio
)

# Save the model
filename = f"model.glb"
with open(filename, "wb") as f:
    f.write(response.content)
print(f"Saved 3D model {filename}")

# Display the result
output.no_vertical_scroll()
print("Original image:")
thumb = Image.open(image)
thumb.thumbnail((256, 256))
display(thumb)
print("3D model result:")
display_glb(filename)

リクエストのヘッダーには、authorization フィールドに API キーを含める必要があります。リクエストの本文は multipart/form-data でなければなりません。

リクエストの本文には、以下を含める必要があります。

  • image

リクエストの本文には、オプションで以下を含めることもできます。

  • texture_resolution

  • foreground_ratio

  • remesh

注: これらのパラメーターの詳細については、以下のリクエストスキーマを参照してください。

出力

出力は、JSON、バッファー、画像を含む glTF アセットを含むバイナリ BLOB です。詳細については、GLB ファイル形式仕様 を参照してください。

クレジット

生成が成功するごとに 2 クレジットの定額料金がかかります。生成が失敗した場合、課金されません。
※10USD = 1,000 creditsなので、2セント、3円ぐらいですね。

APIリクエストスキーマより

  • image (必須): 3D モデルを生成する画像。

    1. サポートされている形式:

      • jpeg

      • png

      • webp

    2. ルール:

      • 各辺は少なくとも 64 ピクセルである必要があります

      • 合計ピクセル数は 4,096 ~ 4,194,304 ピクセルの間である必要があります

Colabのサンプルでの引数

  • texture_resolution (オプション): デフォルト: 1024。列挙型: 1024, 2048, 512。アルベド(カラー)マップ法線マップの両方に使用されるテクスチャの解像度を決定します。解像度はピクセル単位で指定され、値が大きいほどテクスチャのディテールレベルが高くなり、サーフェスをより複雑かつ正確にレンダリングできます。ただし、解像度を上げるとアセットサイズも大きくなるため、読み込み時間とパフォーマンスに影響を与える可能性があります。1024 は適切なデフォルト値であり、変更する必要はほとんどありません。

  • foreground_ratio (オプション): デフォルト: 0.85。フレーム内で処理されるオブジェクトの周囲のパディング量を制御します。この比率は、フレーム全体のサイズに対するオブジェクトの相対的なサイズを決定します。比率が高いほどパディングが少なくなり、オブジェクトが大きくなります。比率が低いほどパディングが増え、フレーム内のオブジェクトのサイズが効果的に小さくなります。これは、車やバスなどの長くて狭いオブジェクトを正面(狭い側)から見た場合に役立ちます。この場合、前景比を下げると、生成された 3D アセットが押しつぶされたり歪んだりするのを防ぐのに役立つ可能性があります。デフォルト値の 0.85 は、ほとんどのオブジェクトに適しています。

  • remesh (オプション): デフォルト: none。列挙型: none, triangle。3D モデルの生成に使用されるリメッシュアルゴリズムを制御します。リメッシュアルゴリズムは、入力画像から 3D モデルをどのように構築するかを決定します。「none」のデフォルト値は、リメッシュなしでモデルが生成されることを意味し、ほとんどのユースケースに適しています。「triangle」オプションは、三角形の面を持つモデルを生成します。

Blenderでみたメッシュの状態

GLB形式なので、Mozilla HubsやDOOR.NTTをはじめ、多様なWeb3D系で利用できます。Unityの場合はUniGLTFを使えばできますね。

なお、Stable Fast 3DのAPI提供ではなくセルフホストのためのモデルデータも入手可能です。以下のHugginFaceで公開されています。
stabilityai/stable-fast-3d · Hugging Face
https://huggingface.co/stabilityai/stable-fast-3d

なお、ライセンスは「Stability AI Community License」が適用されており、年間収益100万ドル(約1億5000万円)以内の個人または組織なら商業利用も可能とのことです。

実はStability AI の 3D関連APIは、Stable Zero123など他にもあります。

Stable Fast 3D

Stable Fast 3Dは、TripoSRを基にした重要なアーキテクチャの改善と強化された機能により、単一の画像からわずか0.5秒で高品質な3Dアセットを生成します。これはゲームやVRの開発者、リテール、建築、デザイン、およびその他のグラフィック集約型の分野の専門家に役立ちます。

Stable Video 4D

Stable Video 4Dは、単一の動画をアップロードすることで、8つの視点からダイナミックな新視点動画を受け取ることができるモデルです。単一のオブジェクト動画を複数の新視点動画に変換し、約40秒で8つの視点から5フレームの動画を生成します。カメラアングルを指定することで、特定のクリエイティブニーズに合わせて出力を調整できます。これにより、新たなレベルの柔軟性と創造性が提供されます。


Stable Zero 123

Stable Zero123は、3Dオブジェクトの生成に特化した高度なAIモデルです。さまざまな視点からオブジェクトがどのように見えるべきかを正確に解釈する能力に優れており、3Dビジュアライゼーションの分野で重要な進歩を遂げています。

Stable Video 3D

SV3Dは、Stable Video Diffusionのパワーを活用し、斬新なビュー合成において優れた品質と一貫性を保証することで、3D技術における新たなベンチマークを設定します。このモデルには2つの異なるバリエーションがあります: SV3D_uは単一画像から軌道動画を生成し、SV3D_pは単一画像と軌道画像の両方からフル3D動画を生成するための強化された機能を提供します。

Stable TripoSR

Tripo AIとのコラボレーションによる、3Dオブジェクト再構築モデル「TripoSR」です。この新しい画像から3Dへのモデルは、エンターテインメント、ゲーム、工業デザイン、建築の専門家の高まる需要に応えるために設計されており、詳細な3Dオブジェクトの視覚化に対応するレスポンシブな出力を提供します。

Stable Fast 3DのStability AI APIによる利用は、高度な演算基盤を持っていなくても1回3円で高速ならAPI利用が可能になります。
ゲームやメタバースプロジェクトへの活用が期待されますね。

以上、Stable AI API より Fast 3D をお伝えいたしました。

マガジン「Stability AI Fun!」、各API解説への目次はこちらです。


この記事が気に入ったらサポートをしてみませんか?