Image to 3D API
影象生成 3D API 是一項功能,讓您能夠將 Meshy 的影象生成 3D 能力整合到您自己的應用程式中。在本節中,您將能找到開始使用此 API 所需的全部資訊。
Create an Image to 3D Task
此端點允許你建立一個新的影象生成 3D 任務。參閱 The Image to 3D Task Object 以檢視影象生成 3D 任務物件包含哪些屬性。
參數
input_task_id 和 image_url 中只有一個是必需的。如果兩者都提供,則 input_task_id 具有更高優先順序。
- Name
- input_task_id
- Type
- string
- 必選
- Description
已完成的圖像生成任務的 ID,其輸出將用作輸入圖像。該任務必須是以下任務之一:文字生成影像或影像生成影像。此外,該任務必須是透過 API 執行的,狀態為
SUCCEEDED,並且只生成一張圖像。
- Name
- image_url
- Type
- string
- 必選
- Description
提供一張圖像供 Meshy 用於模型建立。目前支援
.jpg、.jpeg和.png格式。提供圖像的方式有兩種:
- 可公開存取的 URL:可從公共網際網路存取的 URL。
- Data URI:圖像的 base64 編碼的 data URI。Data URI 範例:
data:image/jpeg;base64,<your base64-encoded image data>。
- Name
- model_type
- Type
- string
- 預設值 standard
- Description
指定 3D 網格生成的類型。
可用值:
standard:常規的高細節 3D 網格生成。smart-topology:搭配ai_model(meshy-t2)選擇 Smart Topology 模型。lowpoly(已棄用):生成經過最佳化、多邊形更簡潔的 low-poly 網格。我們建議改用smart-topology。
選擇
smart-topology時,將忽略topology、should_remesh和save_pre_remeshed_model。選擇
lowpoly時,將忽略ai_model、topology、target_polycount、should_remesh和save_pre_remeshed_model。
- Name
- ai_model
- Type
- string
- 預設值 latest
- Description
要使用的模型 ID。可用值取決於
model_type。標準生成(
model_type: standard):meshy-6-lite、meshy-6、meshy-7.1、latest(Meshy 7.1)meshy-7(已棄用):請改用meshy-7.1。
Smart Topology 生成(
model_type: smart-topology):meshy-t2(預設):Smart Topology 模型 —— 具有更簡潔的 topology、原生分離的部件、三角形輸出,以及可透過target_polycount設定的面數。
- Name
- geometry_resolution
- Type
- string
- 預設值 standard
- Description
幾何體生成階段。
2k以 2048³ 執行 Ultra 階段;4k以 4096³ 執行,以獲得 最精細的表面細節。可用值:
standard、2k、4k需要
meshy-7.1或latest。
- Name
- ultra_mode
- Type
- boolean
- ⚠ 已棄用
- 預設值 false
- Description
請改用
geometry_resolution。ultra_mode: true等同於geometry_resolution: "2k"。
- Name
- should_texture
- Type
- boolean
- 預設值 true
- Description
決定是否生成紋理。設定為
false會跳過紋理階段,得到沒有紋理的網格。
should_texture = true- Name
- enable_pbr
- Type
- boolean
- 預設值 false
- Description
除基礎顏色外,還生成 PBR 貼圖(金屬度、粗糙度、法線)。當
ai_model為meshy-6時,還會包含一張 emission map,但texture_resolution: 8k時除外。meshy-6-lite、meshy-7.1和latest不會生成 emission map。
- Name
- texture_resolution
- Type
- string
- 預設值 2k
- Description
基礎顏色紋理的解析度。可選
2k(2048×2048)、4k(4096×4096)或8k(8192×8192)。解析度越高,捕捉到的表面細節越多。4k和8k不適用於ai_model為meshy-6-lite的情況。使用8k時,不會生成 emission map。
- Name
- hd_texture
- Type
- boolean
- ⚠ 已棄用
- 預設值 false
- Description
請改用
texture_resolution—— 等同於texture_resolution: "4k"。當兩者都設定時,texture_resolution具有更高優先順序。
- Name
- texture_prompt
- Type
- string
- Description
提供一個文字 prompt 以指導紋理生成過程。最多 800 個字元。
- Name
- texture_image_url
- Type
- string
- Description
提供一張二維圖像以指導紋理生成過程。目前支援
.jpg、.jpeg和.png格式。提供圖像的方式有兩種:
- 可公開存取的 URL:可從公共網際網路存取的 URL
- Data URI:圖像的 base64 編碼的 data URI。Data URI 範例:
data:image/jpeg;base64,<your base64-encoded image data>
如果原始 asset 與上傳圖像之間存在較大的幾何體差異,圖像紋理生成可能無法達到最佳效果。指導紋理生成過程時,
texture_image_url和texture_prompt只能使用其中一個。如果兩個參數都提供,則預設使用texture_prompt為模型生成紋理。無論透過文字還是圖像生成紋理,每個任務都將花費 10 積分。
- Name
- should_remesh
- Type
- boolean
- 預設值 false (Meshy 6 and Meshy 7 models), true (others)
- Description
控制是否啟用重構網格階段。為獲得最高品質的模型,我們建議將
should_remesh設定為false。
should_remesh = true- Name
- topology
- Type
- string
- 預設值 triangle
- Description
指定生成模型的 topology。
可用值:
quad:生成以四邊形為主的網格。triangle:生成經過簡化的三角形網格。
- Name
- decimation_mode
- Type
- integer
- Description
透過設定面數層級啟用自適應簡化。設定該參數後,
target_polycount將被忽略。可用值:
1:自適應 —— 超高面數。2:自適應 —— 高面數。3:自適應 —— 中等面數。4:自適應 —— 低面數。
- Name
- save_pre_remeshed_model
- Type
- boolean
- 預設值 false
- Description
設定為
true時,Meshy 還會在重構網格階段完成前額外儲存一個 GLB 檔案。
- Name
- target_polycount
- Type
- integer
- Description
輸出中多邊形(面)的目標數量。實際數量可能會因幾何體情況而與目標值有所偏差。
target_polycount在兩種獨立的情況下生效:- 重構網格 —— 在
standard模型上設定should_remesh: true。網格將被重構網格(簡化)至大約此數量。範圍為 100 到 300,000,預設值為 30,000。如果設定了decimation_mode,則該參數具有更高優先順序,target_polycount將被忽略。 - Smart Topology —— 設定
model_type: smart-topology和ai_model: meshy-t2。模型將直接以此面數生成;不會執行重構網格,也不需要should_remesh。範圍為 100 到 15,000,預設值為 4,000。
- 重構網格 —— 在
- Name
- symmetry_mode
- Type
- string
- ⚠ 已棄用
- 預設值 auto
- Description
已棄用。此參數不再影響輸出。
symmetry_mode欄位控制模型生成過程中的對稱行為。有效值為:
off:停用對稱。auto:根據輸入幾何體自動判斷並套用對稱。on:在生成過程中強制套用對稱。
- Name
- pose_mode
- Type
- string
- 預設值 ""
- Description
指定生成模型的姿態 mode。
可用值:
a-pose:以 A pose 生成模型。t-pose:以 T pose 生成模型。""(空字串):不套用特定姿態。
- Name
- is_a_t_pose
- Type
- boolean
- ⚠ 已棄用
- 預設值 false
- Description
請改用
pose_mode。是否以 A/T pose 生成模型。
- Name
- image_enhancement
- Type
- boolean
- 預設值 true
- Description
最佳化輸入圖像以獲得更好的效果。設定為
false可保留輸入圖像的原始外觀,不做任何風格處理。僅在
ai_model為meshy-6、meshy-7.1或latest時支援。
- Name
- remove_lighting
- Type
- boolean
- 預設值 true
- Description
從基礎顏色紋理中移除高光和陰影,得到更乾淨的效果,在自訂光照設定下表現更好。
僅在
ai_model為meshy-6時支援。
- Name
- moderation
- Type
- boolean
- 預設值 false
- Description
設定為
true時,將自動對輸入內容進行潛在有害內容篩查。如果偵測到有害內容,任務將不會進入生成階段。將對
image_url、texture_image_url和texture_prompt輸入的內容進行篩查。
- Name
- target_formats
- Type
- string[]
- Description
指定輸出中要包含的 3D 檔案格式。僅生成並回傳請求的格式,這樣可以縮短任務完成時間。若省略此參數,則包含所有支援的格式。
可用值:
glb、obj、fbx、stl、usdz、3mf若省略此參數,將生成除
3mf之外的所有格式。3mf僅在明確指定時才會包含。
- Name
- auto_size
- Type
- boolean
- 預設值 false
- Description
設定為
true時,服務將使用 AI 視覺自動估算物體的真實高度,並相應地調整模型尺寸。除非明確設定origin_at,否則原點將預設為bottom。
- Name
- alpha_thumbnail
- Type
- boolean
- 預設值 false
- Description
設定為
true時,任務將額外渲染預覽圖的透明背景(RGBA)版本,並在 GET 回應中以alpha_thumbnail_url回傳。現有的thumbnail_url欄位保持不變。
- Name
- multi_view_thumbnails
- Type
- boolean
- 預設值 false
- Description
設定為
true時,任務將額外渲染四個主要視角的縮圖(正面、右側、背面、左側),並在 GET 回應中透過thumbnail_urls回傳。現有的thumbnail_url欄位保持不變,依舊指向正面視圖,因此不會影響現有客戶端。會為任務延遲增加約 3 秒。
auto_size = true- Name
- origin_at
- Type
- string
- 預設值 bottom
- Description
啟用
auto_size時原點的位置。可用值:
bottom、center。
回傳內容
回應的 result 屬性包含新建立的影象生成 3D 任務的 id。
失敗模式
- Name
400 - Bad Request- Description
請求無法被接受。常見原因:
- 缺少參數:必須提供
image_url或input_task_id之一。 - 輸入任務無效:
input_task_id必須指向狀態為SUCCEEDED的文字生成影像或影像生成影像任務,且該任務只生成了一張圖像。 - 圖像格式無效:提供的
image_url不是受支援的格式(.jpg、.jpeg、.png)。 - URL 無法存取:無法下載
image_url(404 或 timeout)。 - Data URI 無效:base64 字串格式有誤。
- 參數組合無效:
enable_pbr僅在should_texture為 true 時受支援。 - 不支援該模型用於 low poly:
ai_model: "meshy-6-lite"不支援model_type: "lowpoly"。 - 不支援該模型用於 Ultra:
geometry_resolution需要meshy-7.1或latest。
- 缺少參數:必須提供
- Name
401 - Unauthorized- Description
身份驗證失敗。請檢查你的 API 金鑰。
- Name
402 - Payment Required- Description
積分不足,無法執行此任務。
- Name
429 - Too Many Requests- Description
你已超出速率限制。
Request
# Simple request with required params
curl https://api.meshy.ai/openapi/v1/image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_url": "<your publicly accessible image url or base64-encoded data URI>"
}'
# With Ultra 4K geometry, remesh, PBR, and A-pose
curl https://api.meshy.ai/openapi/v1/image-to-3d \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"image_url": "<your publicly accessible image url or base64-encoded data URI>",
"ai_model": "meshy-7.1",
"geometry_resolution": "4k",
"enable_pbr": true,
"should_remesh": true,
"target_polycount": 100000,
"should_texture": true,
"pose_mode": "a-pose",
"target_formats": ["glb"]
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
檢索 Image to 3D 任務
此 endpoint 允許你根據有效的任務 id 檢索 Image to 3D 任務。
請參閱 The Image to 3D Task Object 查看
Image to 3D 任務物件中包含哪些屬性。
參數
- Name
- id
- Type
- path
- Description
要檢索的 Image to 3D 任務的唯一標識符。
回傳值
回應中包含 Image to 3D 任務物件。詳情請查看 The Image to 3D Task Object 部分。
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 30
}
刪除 Image to 3D 任務
此端點會永久刪除一個 Image to 3D 任務,包括所有相關的模型與資料。此操作無法復原。
路徑參數
- Name
- id
- Type
- path
- Description
要刪除的 Image to 3D 任務的 ID。
任務狀態
仍處於 PENDING 狀態的任務會被刪除,並且建立時消耗的
積分會被退還。
已經處於 IN_PROGRESS 狀態的任務無法刪除:該請求會被拒絕,並回傳 409 Conflict,任務會繼續執行。工作節點已經開始處理的任務所消耗的
積分不可退還,因此在執行過程中刪除它會讓你同時損失積分和結果。請等待其變為
SUCCEEDED、FAILED 或 CANCELED 狀態後再刪除。
處於終止狀態(SUCCEEDED、FAILED 或 CANCELED)的任務將被刪除,
且不會退還積分。
回傳值
成功時回傳 200 OK,當任務處於
IN_PROGRESS 狀態時回傳 409 Conflict。
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
取得 Image to 3D 任務列表
此端點允許你取得影象生成 3D 任務的列表。
參數
可選屬性
- Name
- page_num
- Type
- integer
- Description
用於分頁的頁碼。起始值和預設值均為
1。
- Name
- page_size
- Type
- integer
- Description
每頁數量限制。預設值為
10項。最大允許值為100項。
- Name
- sort_by
- Type
- string
- Description
用於排序的欄位。可用值:
+created_at:按建立時間升序排列。-created_at:按建立時間降序排列。
回傳值
回傳一個分頁的 Image to 3D 任務物件 列表。
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 30
}
]
流式取得 Image to 3D 任務
此端點使用 Server-Sent Events(SSE)串流傳輸 Image to 3D 任務的即時更新。
參數
- Name
- id
- Type
- path
- Description
要進行串流傳輸的 Image to 3D 任務的唯一識別碼。
回傳
以 Server-Sent Events 的形式回傳一系列 Image to 3D 任務物件。
對於 PENDING 或 IN_PROGRESS 狀態的任務,回應串流中只會包含必要的 progress 和 status 欄位。
Request
curl -N https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 30
}
影象生成 3D 任務物件
影象生成 3D 任務物件是 Meshy 用於追蹤從圖像輸入生成 3D 模型的工作單元。 該物件具有以下屬性:
屬性
- Name
- id
- Type
- string
- Description
任務的唯一識別碼。雖然我們在實作細節中使用 k-sortable UUID 作為任務 id,但你不應對 id 的格式做任何假設。
- Name
- type
- Type
- string
- Description
影象生成 3D 任務的類型。該值為
image-to-3d。
- Name
- model_urls
- Type
- object
- Description
Meshy 生成的帶紋理 3D 模型檔案的可下載 URL。如果某個格式未生成,該格式對應的屬性將被省略,而不是回傳空字串。
- Name
glb- Type
- string
- Description
GLB 檔案的可下載 URL。
- Name
fbx- Type
- string
- Description
FBX 檔案的可下載 URL。
- Name
obj- Type
- string
- Description
OBJ 檔案的可下載 URL。
- Name
usdz- Type
- string
- Description
USDZ 檔案的可下載 URL。
- Name
mtl- Type
- string
- Description
MTL 檔案的可下載 URL,當存在 texture 時會隨 OBJ 匯出一起回傳。
- Name
stl- Type
- string
- Description
STL 檔案的可下載 URL。
- Name
3mf- Type
- string
- Description
3MF 檔案的可下載 URL。僅當透過
target_formats請求了3mf時才會出現。
- Name
pre_remeshed_glb- Type
- string
- Description
remesh 之前原始 GLB 輸出的可下載 URL。
僅當任務建立時同時設定了
should_remesh: true和save_pre_remeshed_model: true時才可用。
- Name
- thumbnail_url
- Type
- string
- Description
模型檔案縮圖的可下載 URL。存在時等同於
thumbnail_urls.front,保留此欄位是為了向後相容。
- Name
- alpha_thumbnail_url
- Type
- string
- Description
thumbnail_url的透明背景(RGBA)版本的可下載 URL。僅當任務建立時設定了alpha_thumbnail: true且透明預覽成功渲染時才會出現;否則該欄位將被省略。
- Name
- thumbnail_urls
- Type
- object
- Description
所生成 3D 模型的四個基本視角 thumbnail 的可下載 URL。每個值都是一個指向 512×512 PNG 圖像的簽名 URL,該圖像使用與
thumbnail_url相同的材質和光照渲染。適用於在批次處理流程中從多個角度預覽模型,而無需下載 GLB。僅當任務建立時設定了
multi_view_thumbnails: true且已達到SUCCEEDED狀態時才會出現。較舊的任務以及未啟用該選項建立的任務不會包含此欄位。- Name
- front
- Type
- string
- Description
正視圖,繞垂直軸旋轉 0°(與
thumbnail_url一致)。
- Name
- right
- Type
- string
- Description
右視圖,旋轉 90°。
- Name
- back
- Type
- string
- Description
後視圖,旋轉 180°。
- Name
- left
- Type
- string
- Description
左視圖,旋轉 270°。
- Name
- texture_prompt
- Type
- string
- Description
用於指導 texture 處理過程的文字 prompt。
- Name
- texture_image_url
- Type
- string
- Description
用於指導 texture 處理過程的 texture 圖像的可下載 URL。
- Name
- ultra_mode
- Type
- boolean
- ⚠ 已棄用
- Description
已 deprecated;請改為讀取
geometry_resolution。
- Name
- geometry_resolution
- Type
- string
- Description
任務執行所使用的 Ultra 檔位(
2k或4k);standard時省略。
- Name
- progress
- Type
- integer
- Description
任務的 progress。如果任務尚未開始,此屬性為
0。任務成功後,此值將變為100。
- Name
- started_at
- Type
- timestamp
- Description
任務開始時的 timestamp,以毫秒為單位。如果任務尚未開始,此屬性為
0。timestamp 表示自 1970 年 1 月 1 日 UTC 起經過的毫秒數,遵循 RFC 3339
標準。 例如,2023 年 9 月 1 日星期五格林威治標準時間中午 12:00:00 表示為1693569600000。這適用於 Meshy API 中的所有 timestamp。
- Name
- created_at
- Type
- timestamp
- Description
任務建立時的 timestamp,以毫秒為單位。
- Name
- expires_at
- Type
- timestamp
- Description
任務結果過期時的 timestamp,以毫秒為單位。
- Name
- finished_at
- Type
- timestamp
- Description
任務完成時的 timestamp,以毫秒為單位。如果任務尚未完成,此屬性為
0。
- Name
- status
- Type
- string
- Description
任務的狀態。可能的值為
PENDING、IN_PROGRESS、SUCCEEDED、FAILED、CANCELED之一。
- Name
- texture_urls
- Type
- array
- Description
任務生成的 texture URL 物件陣列。通常只包含一個 texture URL 物件。每個 texture URL 具有以下屬性:
- Name
base_color- Type
- string
- Description
基礎顏色貼圖圖像的可下載 URL。
- Name
metallic- Type
- string
- Description
金屬度貼圖圖像的可下載 URL。
如果任務建立時設定了
enable_pbr: false,此屬性將被省略。
- Name
normal- Type
- string
- Description
法線貼圖圖像的可下載 URL。
如果任務建立時設定了
enable_pbr: false,此屬性將被省略。
- Name
roughness- Type
- string
- Description
粗糙度貼圖圖像的可下載 URL。
如果任務建立時設定了
enable_pbr: false,此屬性將被省略。
- Name
emission- Type
- string
- Description
自發光貼圖圖像的可下載 URL。
如果任務建立時設定了
enable_pbr: false,或ai_model為meshy-6-lite、meshy-7.1或latest,此屬性將被省略。
- Name
- preceding_tasks
- Type
- integer
- Description
排在前面的任務數量。
該欄位的值僅在任務狀態為
PENDING時才有意義。
- Name
- task_error
- Type
- object
- Description
失敗任務的錯誤詳情。完整的
task_error物件參考請參見 錯誤。
- Name
- consumed_credits
- Type
- integer
- Description
此任務消耗的 credits 數量。當任務狀態為
PENDING、IN_PROGRESS或SUCCEEDED時會出現該欄位。對於FAILED任務回傳0(失敗時 credits 會被退回)。
Example Image to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"texture_image_url": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": {
"message": ""
},
"consumed_credits": 30
}