💨

Meshy APIを使って3Dモデルを生成する

2024/12/17に公開

はじめに

本記事では、テキストや画像から3Dモデルを自動生成するAIツールMeshyをAPI経由で利用する方法を紹介します。主な内容はMeshyとは何か、Postmanを使った利用手順、実際の呼び出し例を示すチュートリアル、まとめになります。

Meshyとは

Meshyは、テキストや画像入力から3Dモデルを自動生成するAIツールです。

生成結果は.objや.glb、.fbxなど、一般的な3Dモデル形式でダウンロード可能なため、すぐに3Dプリンターへ入力できます。また、専用のAPIも提供されているので、コードから3Dモデル生成を自動化することも容易です。

これにより、手動で3Dデータをモデリングする手間を省き、開発やデザインの効率を大幅に向上できます。
GUIでMeshyを使っている
Meshy

PostmanでAPIにアクセス

1. API Keyの準備

まずはhttps://www.meshy.ai/api からAPI Keyを取得する必要があります。

作成したKeyは、Postmanでリクエストを送る際にBearerトークンとして利用します。

以上の手順でAPI Keyを用意したら、次のステップで実際にエンドポイントを呼び出せます。

2. モデルを生成

Postmanでリクエストを作成する際、ヘッダーにAuthorization: Bearer <YOUR_API_KEY> を設定します。

BASE_URLはhttps://api.meshy.aiです。

これで準備が整ったので、次に実際の3Dモデル生成を試してみます。

Bearerトークンが設定されている

3. テキストから3Dモデルを生成

テキストプロンプトを使い、MeshyAPIから3Dモデルを生成する最も基本的な例を紹介します。

エンドポイント
{{BASE_URL}}/openapi/v2/text-to-3d
サンプルリクエスト(POST)
{
  "mode": "preview",
  "prompt": "a monster mask",
  "negative_prompt": "low quality, low resolution, low poly, ugly",
  "art_style": "realistic",
  "should_remesh": true
}
レスポンス
{
  "result": "0193c308-dedc-7274-8e32-b48a45483154"
}

text-to-3dにアクセスしている

続いて上記IDを使い、{{BASE_URL}}/openapi/v2/text-to-3d/0193c308-dedc-7274-8e32-b48a45483154 へGETリクエストを送ります。

レスポンスには現在の生成ステータスや、完了時には各3Dモデル形式のダウンロードURLが含まれます。ステータスは"PENDING" | "IN_PROGRESS" | "SUCCEEDED" | "FAILED" | "EXPIRED"のいずれかで、テキストからの生成は約1分程度で完了します。

レスポンス
{
    "id": "0193c308-dedc-7274-8e32-b48a45483154",
    "mode": "preview",
    "name": "",
    "seed": 1734143958,
    "art_style": "realistic",
    "texture_richness": "",
    "prompt": "a monster mask",
    "negative_prompt": "low quality, low resolution, low poly, ugly",
    "status": "SUCCEEDED",
    "created_at": 1734143959610,
    "progress": 100,
    "started_at": 1734143959942,
    "finished_at": 1734143988898,
    "task_error": null,
    "model_urls": {
        "glb": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/model.glb?Expires=4887734400&Signature=QY892OFGbPdA6J717iRTIF-TiCrU6oRHyeeU6SD5vV4Ma~7cd6qS11OiyeYEJT9z96-iLIB8gWwRdhlVd-mAsIOFSdERU6OSWYqtvoaXuhwUfVPiLtrcFrz8XKzvdxpISKBL10ZK~-BtYKgA737~H~G61J0pMzAn-SG~8VKSpxjSp0Bxrlo5Mk4Ejt8taA-Bll9GEzfm80dK~p6mgrtiqHcLG5B5yWiOEu2khqLHK03ttGknMwuzmMuUYd8pd9drSN-0GvRvU9AL9lpf2RXjBreZ6SmCvIIP-vWI~1yDbkTJ1QDIYm2K9qsXUQVmaaaeZCUcI-ZcbYDkSkB7jyMQDw__&Key-Pair-Id=KL5I0C8H7HX83",
        "fbx": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/model.fbx?Expires=4887734400&Signature=SPYvAiPlCo3grKa3aRuq7jayl2H1y5Ve~XqGt2VABefzuD79X-Y4v3jg206RPQZBYHO1XwW2pLytb3SL57PJSMJiEuBct59B3FTW04teR2E-G9DYA35G2UPQVV0TWJ6BeDPN4aiOIHck0QyUimHYvzdFe1lyBPB3cbNmduq4x1Rb-VYQcH9TCNSqhGrpTn7NPWMRxE~ST4vPIswBfBhkW5S1CtTNwpO54y-J6I~mLpQDdN52rRkxskq1mOFJ8bRe9GczK4rFNhLQ1T~bcti4GVvxpnrt3SAXyi8gtpHaYbKcnlbuxEu5A~6TWV8ePIZqQKDxJRrsiu9bgnYp6TFliQ__&Key-Pair-Id=KL5I0C8H7HX83",
        "usdz": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/model.usdz?Expires=4887734400&Signature=NZ2hTQmqm0KZJfoIIEYiy9zxDwMn8KJi7idLY16AsyigrgNi~m2HQ3Mnt8BlUNwmB4iYPBVeXXKqlh0I96WjuSYTti1tT4ds0~7EMhk7DP-yqebQUjgk67rqMuSF9IEfHMou6IZaP1vI1p6cA3-1VwGCEsddL0EdXovmICHaqMI-Lhdtb46XN5NLUQjCp8ML4teUrubM2pl2wlHouUZrZErGvJZHHH987VEoDvr9l7MaQGGQyFZOrlBXceICbcxP7lnwrKYSV2Cb9NcvJ7nVG8ph6NM5xcqIiPeHHKDIV9qjjxBVzCHTnj5wr9lx1l-9-ur3aEPEKpf98BNkT197yQ__&Key-Pair-Id=KL5I0C8H7HX83",
        "obj": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/model.obj?Expires=4887734400&Signature=JAWsHRtWtIcIIu-VbxZ49GDVUrvFMSQqnYZCjvw~1zJYM8b63L~29uO9by2Z7bRanenIDVNsa~I28Q8WQRb7uzOV2d3E-RSWzKWz9nh9xSzMwCe5tcFj1EyFZj539lfklh-ZglSX1OuNoTlKdU7zv6-NXQvlA9eJ0jqv2QFiRQgQiKhlZeh~o5Whpq3izPzV34LYE74O1P9lKyEdrrtf6RJs~pUW8CZHMbyzhty29GzyubAK1cqpp9rb3ymz1eS9z93TAAF0dpaSksyVJ4PHlMC90iRx7u6q63LDRbfpelJ68gJxczUgb7KY6KZiQhtC2NW4FPbDHqPmVVvAahFyyw__&Key-Pair-Id=KL5I0C8H7HX83",
        "mtl": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/model.mtl?Expires=4887734400&Signature=Z~pm7~eE2dQNdNbK7vgYWL1TaGpzYONno-KEfHelf7YWMmTfY1OXQDSukU1ckJUhH5wFFRvtXzsT89-pejaC0KFTQ-qyG6EtXAcHMvSbKxdOAwjh2c1Zsta71rEfXpzXcUFwnMhCkJFeKJg6dz2JOML-~nhV2~izBqW2dwTNuZqwCkOfd-1BaoHL1NZxljJXS1WPveFIfFB7SlX6yCXLDTuyuC4DqZlen5eBGdi7cLWi2y5WRcGJxGOUnnu9IlK0v0kMlbkTDXYDx2U1kVmf779mPA5nh7zllLxSTBC7MptzyyWZ7WWd-VO3l337hOiv23Ubcgif476WuYDzxc8oBQ__&Key-Pair-Id=KL5I0C8H7HX83"
    },
    "thumbnail_url": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/preview.png?Expires=4887734400&Signature=OBxEZQXS-4ZB2istBBwGONTGMrwzexRDGCAhoYGE46DHFO52oG835ABlQO6LI1FScn5qucPgapcOPpaZYB9IAZ10k4NQtPAVOYDAo~VggFXimDV62b-W2GmeD-Vq3~tksF0Q5XD72gz3dzefT2Twrg29G0ophMAK8IsH5ntSaHu0RH0kZoHi8lsQ2YRMjC9yd59sBK0CccpjbR9Xx~CjTPj7Lpv-byn7lpcErr5s~Cq1QhMaNUYM6vRokoIgDJ77WDDhQrmKhjev2wgyvrBGNJTPHcJjD-BdHPkxT5c1kiqBU9fvz-FZEPa4dINgQqcWAejPJNYZxDpGq4~9r4LyGw__&Key-Pair-Id=KL5I0C8H7HX83",
    "video_url": "https://assets.meshy.ai/5d63220f-4f7d-473d-8959-bd01715b37e7/tasks/0193c308-dedc-7274-8e32-b48a45483154/output/output.mp4?Expires=4887734400&Signature=kHuWFE0GVuoXg6ZZnzT~3llBV2ziPsttRZDuW7m-LUprTOGphebZyLiQe4UXa7q5f8qcA~Y101WlqwAs2Pj1JYnv6CaayF6XAZpZy~CTlkFN~ZmXJraaa43EYZJjs5PpAG8cif9NvbQg9KH30rvZFeBGTjfX3MRLmyKe673UR9lXk2VLlUEt65xT9~L~WNKJupQPisXRVJqP1RueD0HQ2a81Qt24KicEttovSO442zW62fSRpfRSXXmEix0QOeLgADBV7iorJLvkpO63LL5Ygoe3y~vjK~nOrHj80DgZIltjM-~NiPVCnAyU2GvkLOvGrLKOZqp00VjnhsVgsTT8eg__&Key-Pair-Id=KL5I0C8H7HX83",
    "texture_urls": []
}

返却されるmodel_urlsから.glbや.objなどをダウンロードし、3Dプリンターやモデリングツールで利用できます。

モデルデータを取得している

例えば「a monster mask」というプロンプトで生成したモデルをダウンロードし、3Dツールで確認すると以下のような結果が得られます。

3Dモデル
出力:a monster mask

4. 画像から3Dモデルの生成

画像を入力して、Meshyで3Dモデルを生成する方法を紹介します。

エンドポイント
{{BASE_URL}}/openapi/v1/image-to-3d
サンプルリクエスト(POST)
{
  "image_url": "https://example.com/image.png",
  "enable_pbr": true,
  "should_remesh": true
}

画像から生成

レスポンスとして、生成タスクIDが返ってきます。IDを使って{{BASE_URL}}/openapi/v1/image-to-3d/0193c48a-a964-7294-aa6c-672b4911a3eaへGETリクエストを送ります。

レスポンスとしてテキストから生成したときと同様のデータを取得できます。

メガネ
入力:最近購入した眼鏡

メガネの3Dモデル
出力:メガネの3Dモデル

まとめ

  1. Meshyの概要
    テキストや画像入力から、複数形式の3Dモデルを自動生成できるAIツール。
  2. API利用の流れ
    API Keyを取得 → Bearerトークンで認証 → テキストor画像入力のエンドポイントを叩く → タスクIDで進捗&結果を取得。
  3. 活用例
    ダウンロードしたモデルを3Dプリンターやモデリングツールで編集してプロトタイプ製作やデザイン検討を行う。

おわりに

Meshyを用いると、テキストベースでのモデル生成から、ファイルダウンロード、3Dプリンターへの活用までを容易に実現できます。次回の記事もご期待ください!

関連情報

GitHubで編集を提案
YOSHINANI

Discussion