Meshy APIを使って3Dモデルを生成する
はじめに
本記事では、テキストや画像から3Dモデルを自動生成するAIツールMeshyをAPI経由で利用する方法を紹介します。主な内容はMeshyとは何か、Postmanを使った利用手順、実際の呼び出し例を示すチュートリアル、まとめになります。
Meshyとは
Meshyは、テキストや画像入力から3Dモデルを自動生成するAIツールです。
生成結果は.objや.glb、.fbxなど、一般的な3Dモデル形式でダウンロード可能なため、すぐに3Dプリンターへ入力できます。また、専用のAPIも提供されているので、コードから3Dモデル生成を自動化することも容易です。
これにより、手動で3Dデータをモデリングする手間を省き、開発やデザインの効率を大幅に向上できます。
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モデル生成を試してみます。
3. テキストから3Dモデルを生成
テキストプロンプトを使い、MeshyAPIから3Dモデルを生成する最も基本的な例を紹介します。
{{BASE_URL}}/openapi/v2/text-to-3d
{
"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"
}
続いて上記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ツールで確認すると以下のような結果が得られます。
出力:a monster mask
4. 画像から3Dモデルの生成
画像を入力して、Meshyで3Dモデルを生成する方法を紹介します。
{{BASE_URL}}/openapi/v1/image-to-3d
{
"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モデル
まとめ
- Meshyの概要
テキストや画像入力から、複数形式の3Dモデルを自動生成できるAIツール。 - API利用の流れ
API Keyを取得 → Bearerトークンで認証 → テキストor画像入力のエンドポイントを叩く → タスクIDで進捗&結果を取得。 - 活用例
ダウンロードしたモデルを3Dプリンターやモデリングツールで編集してプロトタイプ製作やデザイン検討を行う。
おわりに
Meshyを用いると、テキストベースでのモデル生成から、ファイルダウンロード、3Dプリンターへの活用までを容易に実現できます。次回の記事もご期待ください!
Discussion