画像 → 3D
POST/v1/models/from-image
あらゆる画像を、自分で生成したものも含めて、テクスチャ付きのメッシュに変換します。
imageUrlを渡すか(JSON)、ファイルをアップロードします(multipart image)。どちらか一方が必須です。より高精度な形状を得るには、同じ被写体の2〜4ビューをimageUrls(または multipart images パート)で送ってください。マルチビューを参照。
パラメーター
| パラメーター | 説明 |
|---|---|
| imageUrl条件付き string | ソース画像のURL(http/https)。multipart image ファイルを送らない限り必須です。PicoBerryが生成した画像の files.image URLもここで使えます。 |
| imageUrls条件付き string[] | マルチビュー — 1つの被写体の2〜4ビュー、[front, left, back, right] の順。ローカルファイルは multipart images パートに入れます。すべてのエンジンがマルチビュー入力に対応しているわけではありません。ドキュメントに写した一覧ではなく GET /v1/models?category=image-to-3d の supportsMultiView を確認してください。非対応エンジンは 400 です。下記参照。 |
| engine任意 string | 使用する3Dエンジン — 例: tripo、hunyuan-3.1。省略するとデフォルト。一覧: GET /v1/models?category=image-to-3d — category=3d ではありません。あちらはテキスト→3D のエンジン一覧で、画像専用モデルが漏れます。 |
| polycount任意 integer | 目標ポリゴン数、100〜2,000,000、モデルの範囲に制限されます。 |
| texture任意デフォルト true boolean | PBRテクスチャを生成します。より高速な無テクスチャメッシュには false を設定します。 |
| ultraMode任意デフォルト false boolean | より忠実度の高い形状を生成します。対応エンジンのみ、かつ単一画像のみで使えます — ベンダーが入力画像 1 枚に限定しています。メッシュ ± テクスチャに加えてそのエンジンの ultraCost 分が課金され、対応状況(supportsUltraMode)と金額はGET /v1/models?category=image-to-3dで確認できます。非対応エンジンや imageUrls/multipart images と併用すると、黙って無視せず 400 を返します。 |
画像ソースは正確に1つ
imageUrl、imageUrls、multipart image、multipart images パートのいずれか1つを送ってください。multipart ファイルはURLフィールドより優先されます。リクエスト
multipart アップロード
curl -X POST https://api.picoberry.ai/v1/models/from-image \
-H "Authorization: Bearer pb_live_xxx" \
-F "engine=tripo" -F "image=@./ref.png"requests.post("https://api.picoberry.ai/v1/models/from-image", headers=headers,
data={"engine": "tripo"}, files={"image": open("ref.png", "rb")})const fd = new FormData();
fd.append("engine", "tripo"); fd.append("image", fileBlob, "ref.png");
await fetch(`${BASE}/v1/models/from-image`, { method: "POST", headers, body: fd });画像入力 単一フレームの
png、jpeg、webp、または gif、最大20 MB。URLはサーバー側で取得するため、公開アクセス可能である必要があります。レスポンス
レスポンス · 200
{ "success": true, "data": { "id": "019…", "taskStatus": 0, "type": "model_3d" } }呼び出しは即座に返ります。GET /v1/assets/{id} を taskStatus が 2 になるまでポーリングすると、成功時に files.model が署名付きGLBになります。その後、同じ id を リメッシュ、テクスチャ、オートリグで仕上げます。
マルチビュー
同じ被写体の2〜4ビューを送ると、より高精度な1つのメッシュが生成されます。順序は [front, left, back, right](正面が先) — ホスティング済みURLは imageUrls、ローカルファイルは multipart images パートで送ります。クレジットは単一画像の生成と同じです(ビューごとの倍率なし)。
2〜4ビュー
curl -X POST https://api.picoberry.ai/v1/models/from-image \
-H "Content-Type: application/json" \
-d '{"engine":"meshy6","imageUrls":["https://…/front.png","https://…/left.png"]}'requests.post("https://api.picoberry.ai/v1/models/from-image", headers=headers,
json={"engine": "meshy6", "imageUrls": ["https://…/front.png", "https://…/left.png"]})await fetch(`${BASE}/v1/models/from-image`, { method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({ engine: "meshy6", imageUrls: [front, left] }) });対応エンジン
tripo、tripo-v3.0、tripo-v3.1、tripo-v3.1-ultra、tripo-game-ready、meshy6、hunyuan-3.0、hunyuan-3.1、hunyuan-3.1-lite。その他のエンジンは 400 を返します。