lowpoly sẽ ngừng hoạt động vào 30 thg 10, 2026. Hãy chuyển sang mô hình khác trước các ngày này để tránh lỗi yêu cầu.

API Phân tích khả năng in

Phân tích một mô hình 3D về khả năng in — tính kín nước, thể tích, lỗ hổng, cạnh non-manifold và mặt suy biến. Ngoài ra, có thể tùy chọn kiểm tra độ dày thành ở kích thước bạn dự định in.


POST/openapi/v1/print/analyze

Create an Analyze Printability Task

Endpoint này tạo một tác vụ phân tích khả năng in mới. Tác vụ này đánh giá một mô hình 3D và báo cáo các chỉ số về khả năng in của nó.

Tác vụ chạy ở chế độ nền. Để biết thời gian xử lý thông thường, xem Thời Gian Xử Lý.

Nếu tác vụ đầu vào đã có khả năng in được lưu đệm sẵn, tác vụ trả về sẽ sẵn sàng ngay lập tức và lệnh GET đầu tiên trên tác vụ đó sẽ trả về kết quả phân tích mà không cần đi qua worker.

Để đồng thời kiểm tra độ dày thành ở kích thước bạn dự định in, hãy gửi printer_type, một kích thước in, hoặc cả hai. Kết quả được trả về trong printability.thin_walls. Việc kiểm tra độ dày thành mất nhiều thời gian hơn, vì vậy tác vụ thường không sẵn sàng ngay lập tức, ngay cả khi mô hình đã được phân tích trước đó.

Tham số

  • Name
    model_url
    Type
    string
    Bắt buộc
    Description

    URL của mô hình 3D cần phân tích. Các định dạng được hỗ trợ: .glb, .gltf, .obj, .fbx, .stl. Sử dụng URL http hoặc https, hoặc URL base64 data: cho GLB (data:model/gltf-binary;base64,...) hoặc glTF (data:model/gltf+json;base64,...). Các tệp .obj, .fbx và .stl phải được gửi dưới dạng URL http hoặc https.

    Kích thước tệp tối đa: 400 MB đối với URL http hoặc https, 100 MB đối với URI data:.

    Một tệp GLB, glTF, FBX hoặc OBJ trên 100 MB có thể có tối đa 10.000.000 mặt. Các mặt được tính dưới dạng tam giác: một tứ giác được tính là 2, và một lưới được vẽ nhiều lần được tính một lần cho mỗi bản sao. Trên 100 MB, tệp FBX phải là FBX nhị phân 7.1 trở lên, và tệp GLB hoặc glTF không được sử dụng nén Draco.

    Các URL tải xuống của Meshy (assets.meshy.ai/…?Expires=…&Signature=…) được ký và ngừng hoạt động khi đến expires_at của tác vụ; việc lấy lại tác vụ không làm mới chúng. Đối với một mô hình được tạo bằng Meshy, hãy truyền input_task_id thay thế. Cách này hoạt động trong khi tác vụ nguồn vẫn được lưu giữ (xem Lưu Giữ Tài Nguyên). Để tái sử dụng một mô hình sau đó, hãy tải xuống trước expires_at và gửi bản sao của riêng bạn.

  • Name
    printer_type
    Type
    string
    Description

    Loại máy in bạn dự định sử dụng. Nó thiết lập độ dày thành tối thiểu cho việc kiểm tra độ dày thành. Mặc định là fdm khi bạn gửi kích thước in mà không kèm theo trường này.

    Các giá trị khả dụng:

    • fdm: sợi nhựa (filament), độ dày thành tối thiểu 1,0 mm.
    • sla: nhựa resin, độ dày thành tối thiểu 0,8 mm.
    • full_color: in màu đầy đủ, độ dày thành tối thiểu 2,0 mm.
  • Name
    intended_print_height_mm
    Type
    number
    Description

    Chiều cao của bản in, tính bằng milimét. Phạm vi: [1, 1000]. Được làm tròn đến milimét gần nhất. Chỉ áp dụng cho đầu vào GLB.

  • Name
    intended_print_longest_side_mm
    Type
    number
    Description

    Chiều dài cạnh dài nhất của bản in, tính bằng milimét. Phạm vi: [1, 1000]. Được làm tròn đến milimét gần nhất. Hoạt động với mọi định dạng đầu vào.

Giá trị trả về

Thuộc tính result của phản hồi chứa id của tác vụ phân tích khả năng in mới được tạo.

Các Chế Độ Lỗi

  • Name
    400 - Bad Request
    Description

    Yêu cầu không được chấp nhận. Các nguyên nhân phổ biến:

    • Thiếu tham số: không có input_task_id lẫn model_url được cung cấp.
    • UUID không hợp lệ: input_task_id không phải là một UUID hợp lệ.
    • URL mô hình không hợp lệ: model_url sai định dạng, sử dụng một scheme không được hỗ trợ, hoặc có phần mở rộng tệp không được hỗ trợ.
    • Tệp mô hình quá lớn: nội dung model_url vượt quá 400 MB (URL http hoặc https) hoặc 100 MB (URI data:).
    • Quá nhiều mặt: model_url là tệp GLB, glTF, FBX hoặc OBJ trên 100 MB với hơn 10.000.000 mặt. Hãy giảm số lượng mặt, sau đó gửi lại tệp.
    • ASCII FBX trên 100 MB: model_url là tệp ASCII FBX trên 100 MB. Hãy gửi dưới dạng FBX nhị phân hoặc GLB.
    • Tệp mô hình không thể đọc được: model_url trên 100 MB và không thể đọc được phần header của nó, ví dụ như một GLB hoặc glTF được nén Draco, hoặc một FBX nhị phân cũ hơn 7.1.
    • Header mô hình quá phức tạp: model_url trên 100 MB và phần header của nó có quá nhiều lưới, node hoặc bản ghi cần kiểm tra. Hãy giảm số lượng đối tượng trong tệp, sau đó gửi lại.
    • Không thể tải xuống tệp mô hình: model_url trả về lỗi, thường là do URL tải xuống đã ký của Meshy đã hết hạn. Việc lấy lại tác vụ sẽ trả về cùng URL với cùng thời hạn, vì vậy hãy gửi bản sao của riêng bạn, hoặc sử dụng input_task_id trong khi tác vụ nguồn vẫn còn được lưu giữ.
    • Tác vụ chưa thành công: tác vụ được tham chiếu vẫn đang chờ xử lý, đang xử lý, hoặc đã thất bại.
    • Kích thước in không hợp lệ: intended_print_height_mm hoặc intended_print_longest_side_mm nằm ngoài [1, 1000], hoặc cả hai đều được gửi.
    • Loại máy in không xác định: printer_type không phải là fdm, sla, hoặc full_color.
    • Chiều cao trên mô hình không phải GLB: intended_print_height_mm được gửi cùng với model_url không phải là .glb. Hãy sử dụng intended_print_longest_side_mm thay thế.
    • Không thể định kích thước mô hình này theo chiều cao: ở chiều cao được yêu cầu (hoặc mặc định 150 mm), cạnh dài nhất của mô hình sẽ nằm ngoài [1, 1000] mm, mô hình phẳng, hoặc không thể xác định kích thước của nó. Hãy sử dụng intended_print_longest_side_mm thay thế. Đối với model_url dạng .glb và một số tác vụ input_task_id, điều này chỉ được phát hiện sau khi tác vụ bắt đầu, và tác vụ sẽ kết thúc với trạng thái FAILED thay vì tiếp tục.
    • Kích thước STL không sử dụng được: printer_type được gửi mà không có kích thước, và cạnh dài nhất của chính tệp .stl không thể đọc được hoặc nằm ngoài [1, 1000] mm. Hãy gửi intended_print_longest_side_mm.
  • Name
    401 - Unauthorized
    Description

    Xác thực thất bại. Vui lòng kiểm tra lại khóa API của bạn.

  • Name
    404 - Not Found
    Description

    Các nguyên nhân phổ biến:

    • Tác vụ không tồn tại, đã bị xóa, hoặc thuộc sở hữu của người dùng khác.
    • Tác vụ sử dụng một mô hình cũ hơn Meshy 6, hoặc mode của nó không tạo ra tài nguyên 3D.
    • Tệp mô hình gốc không còn khả dụng trong bộ lưu trữ.
  • Name
    429 - Too Many Requests
    Description

    Bạn đã vượt quá hạn mức tác vụ đang chờ xử lý hoặc giới hạn tốc độ.

Request

POST
/openapi/v1/print/analyze
# Analyze an existing task
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578"
  }'

# Or analyze a model URL directly
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "model_url": "https://example.com/model.glb"
  }'

# Also check wall thickness for a 100 mm tall SLA print
curl https://api.meshy.ai/openapi/v1/print/analyze \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "printer_type": "sla",
    "intended_print_height_mm": 100
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

GET/openapi/v1/print/analyze/:id

Lấy thông tin tác vụ Phân tích khả năng in

Endpoint này lấy thông tin một tác vụ phân tích khả năng in theo ID của nó.

Tham số

  • Name
    id
    Type
    path
    Description

    ID của tác vụ phân tích khả năng in cần lấy thông tin.

Giá trị trả về

Đối tượng Tác vụ Phân tích khả năng in. Trường printability là null cho đến khi tác vụ đạt trạng thái SUCCEEDED. Khi độ dày thành được kiểm tra, printability cũng bao gồm intended_print và thin_walls.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

Response (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}

DELETE/openapi/v1/print/analyze/:id

Xóa một tác vụ Phân tích khả năng in

Endpoint này xóa vĩnh viễn một tác vụ phân tích khả năng in cùng với kết quả đã lưu trong bộ nhớ đệm của nó. Hành động này không thể hoàn tác.

Tham số đường dẫn

  • Name
    id
    Type
    path
    Description

    ID của tác vụ phân tích khả năng in cần xóa.

Trạng thái tác vụ

Một tác vụ vẫn còn ở trạng thái PENDING sẽ được xóa và số tín dụng đã tiêu hao lúc tạo tác vụ sẽ được hoàn lại.

Một tác vụ đã ở trạng thái IN_PROGRESS thì không thể xóa được: yêu cầu sẽ bị từ chối với mã 409 Conflict và tác vụ vẫn tiếp tục chạy. Tín dụng cho một tác vụ mà worker đã bắt đầu xử lý sẽ không được hoàn lại, vì vậy việc xóa nó giữa chừng sẽ khiến bạn mất cả tín dụng lẫn kết quả. Hãy đợi cho đến khi tác vụ đạt trạng thái SUCCEEDED, FAILED hoặc CANCELED, sau đó mới xóa nó.

Một tác vụ ở trạng thái cuối cùng (SUCCEEDED, FAILED hoặc CANCELED) sẽ được xóa mà không hoàn lại tín dụng.

Giá trị trả về

Trả về 200 OK khi thành công, hoặc 409 Conflict khi tác vụ đang ở trạng thái IN_PROGRESS.

Request

DELETE
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -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."
}

GET/openapi/v1/print/analyze

List Analyze Printability Tasks

Endpoint này cho phép bạn truy xuất danh sách các tác vụ Phân tích khả năng in.

Parameters

Optional attributes

  • Name
    page_num
    Type
    integer
    Description

    Số trang cho phân trang. Bắt đầu và mặc định là 1.

  • Name
    page_size
    Type
    integer
    Description

    Giới hạn kích thước trang. Mặc định là 10 mục. Tối đa cho phép là 100 mục.

  • Name
    sort_by
    Type
    string
    Description

    Trường để sắp xếp. Các giá trị khả dụng:

    • +created_at: Sắp xếp theo thời gian tạo theo thứ tự tăng dần.
    • -created_at: Sắp xếp theo thời gian tạo theo thứ tự giảm dần.

Returns

Trả về danh sách phân trang các Đối tượng Tác vụ Phân tích khả năng in.

Request

GET
/openapi/v1/print/analyze
curl https://api.meshy.ai/openapi/v1/print/analyze?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "print-analyze",
    "status": "SUCCEEDED",
    "progress": 100,
    "preceding_tasks": 0,
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "expires_at": 1715725401000,
    "task_error": null,
    "printability": {
      "_version": "v1",
      "status": "warning",
      "issue_count": 1,
      "error_count": 0,
      "warning_count": 1,
      "metrics": {
        "is_watertight": true,
        "volume": 1.316167354292668,
        "non_manifold_edges": 0,
        "degenerate_faces": 43242,
        "holes": 0
      },
      "evaluated_at": 1700000001000
    },
    "consumed_credits": 0
  }
]

GET/openapi/v1/print/analyze/:id/stream

Stream an Analyze Printability Task

Endpoint này truyền trực tiếp các cập nhật theo thời gian thực cho một tác vụ phân tích khả năng in bằng Server-Sent Events (SSE).

Tham số

  • Name
    id
    Type
    path
    Description

    Mã định danh duy nhất của tác vụ phân tích khả năng in cần truyền trực tiếp.

Giá trị trả về

Trả về một luồng Đối tượng Tác vụ Phân tích Khả năng in dưới dạng Server-Sent Events.

Mỗi khung dữ liệu mang theo toàn bộ đối tượng tác vụ cho giai đoạn đó — cùng cấu trúc mà endpoint Get trả về — vì vậy trong khi tác vụ đang ở trạng thái PENDING hoặc IN_PROGRESS, các trường đầu ra đơn giản là chưa được điền (null, [] hoặc {}) và finished_at là null. Khối printability chỉ được gửi khi tác vụ đạt trạng thái SUCCEEDED.

Request

GET
/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/print/analyze/a43b5c6d-7e8f-901a-234b-567c890d1e2f/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.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object

  • Name
    id
    Type
    string
    Description

    Định danh duy nhất cho tác vụ. Mặc dù chúng tôi sử dụng UUID có thể sắp xếp theo k (k-sortable) làm chi tiết triển khai cho id tác vụ, bạn không nên đưa ra bất kỳ giả định nào về định dạng của id.

  • Name
    type
    Type
    string
    Description

    Loại của tác vụ analyze-printability. Giá trị là print-analyze.

  • Name
    status
    Type
    string
    Description

    Trạng thái của tác vụ. Các giá trị có thể là một trong các giá trị PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Tiến trình của tác vụ. Nếu tác vụ chưa bắt đầu, thuộc tính này sẽ là 0. Khi tác vụ đã thành công, giá trị này sẽ trở thành 100.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Số lượng các tác vụ đứng trước.

  • Name
    created_at
    Type
    timestamp
    Description

    Dấu thời gian khi tác vụ được tạo, tính bằng mili giây.

  • Name
    started_at
    Type
    timestamp
    Description

    Dấu thời gian khi tác vụ được bắt đầu, tính bằng mili giây. Nếu tác vụ chưa bắt đầu, thuộc tính này sẽ là 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Dấu thời gian khi tác vụ hoàn thành, tính bằng mili giây. Nếu tác vụ chưa hoàn thành, thuộc tính này sẽ là 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Dấu thời gian khi kết quả tác vụ sẽ hết hạn khỏi hệ thống, tính bằng mili giây. 0 nếu tác vụ chưa hoàn thành.

  • Name
    task_error
    Type
    object
    Description

    Thông tin lỗi nếu tác vụ thất bại. Thuộc tính này là null nếu tác vụ không thất bại. Xem Lỗi để biết thêm chi tiết.

    • Name
      message
      Type
      string
      Description

      Thông báo lỗi mô tả vấn đề đã xảy ra.

  • Name
    printability
    Type
    object
    Description

    Kết quả đánh giá khả năng in. null cho đến khi tác vụ đạt trạng thái SUCCEEDED.

    • Name
      _version
      Type
      string
      Description

      Phiên bản schema của kết quả khả năng in. Hiện tại là v1.

    • Name
      status
      Type
      string
      Description

      Trạng thái tổng thể. Một trong các giá trị:

      • healthy: không có lỗi và không có cảnh báo.
      • warning: có ít nhất một cảnh báo, không có lỗi.
      • error: có ít nhất một lỗi.
      • unknown: không thể phân tích mô hình.

      Khi độ dày thành được kiểm tra, đây là kết quả xấu hơn giữa các kiểm tra ở trên và thin_walls.status. Theo thứ tự từ xấu nhất đến tốt nhất: error, warning, unknown, healthy.

    • Name
      issue_count
      Type
      integer
      Description

      Tổng số lượng vấn đề, bằng error_count + warning_count.

    • Name
      error_count
      Type
      integer
      Description

      Số lượng vấn đề cấp độ lỗi. Lỗi được phát sinh khi mô hình không kín nước (watertight), có thể tích không dương, hoặc có cạnh non-manifold. Khi độ dày thành được kiểm tra, các thành quá mỏng (thin_walls.status là error) được tính thêm như một lỗi nữa.

    • Name
      warning_count
      Type
      integer
      Description

      Số lượng vấn đề cấp độ cảnh báo. Cảnh báo được phát sinh khi mô hình chứa mặt suy biến hoặc lỗ hổng.

    • Name
      metrics
      Type
      object
      Description

      Các chỉ số hình học thô do bộ đánh giá trả về.

      • Name
        is_watertight
        Type
        boolean
        Description

        true khi lưới không có cạnh biên (tức là kín).

      • Name
        volume
        Type
        number
        Description

        Thể tích của mô hình tính bằng mét khối.

      • Name
        non_manifold_edges
        Type
        integer
        Description

        Số lượng cạnh non-manifold.

      • Name
        degenerate_faces
        Type
        integer
        Description

        Số lượng mặt suy biến (mặt có diện tích bằng không hoặc không hợp lệ).

      • Name
        holes
        Type
        integer
        Description

        Số lượng lỗ hổng (vòng biên) trong lưới.

    • Name
      intended_print
      Type
      object
      Description

      Máy in và kích thước mà kiểm tra độ dày thành đã sử dụng. Chỉ xuất hiện khi độ dày thành được kiểm tra.

      • Name
        printer_type
        Type
        string
        Description

        fdm, sla, hoặc full_color.

      • Name
        height_mm
        Type
        number
        Description

        Chiều cao bản in tính bằng milimét, nếu bản in được định kích thước theo chiều cao. Nếu không, giá trị là null.

      • Name
        longest_side_mm
        Type
        number
        Description

        Cạnh dài nhất của bản in tính bằng milimét. Khi được định kích thước theo chiều cao, giá trị này được tính từ tỷ lệ của mô hình.

      • Name
        wall_thickness_mm
        Type
        number
        Description

        Độ dày thành tối thiểu cho printer_type, tính bằng milimét. Các thành mỏng hơn mức này sẽ được báo cáo là quá mỏng.

      • Name
        dimensions_mm
        Type
        array
        Description

        Kích thước [chiều rộng, chiều sâu, chiều cao] của bản in tính bằng milimét. Chiều cao có thể khác với height_mm một phần nhỏ của milimét. null đối với đầu vào không phải GLB, hoặc nếu không thể xác định kích thước của mô hình.

    • Name
      thin_walls
      Type
      object
      Description

      Kết quả độ dày thành. Chỉ xuất hiện khi độ dày thành được kiểm tra.

      • Name
        thin_area_ratio
        Type
        number
        Description

        Tỷ lệ bề mặt, từ 0 đến 1, mỏng hơn intended_print.wall_thickness_mm. null nếu không thể đo được mô hình.

      • Name
        has_thin_walls
        Type
        boolean
        Description

        true nếu bất kỳ phần nào của bề mặt quá mỏng. Chỉ riêng các góc sắc nhọn cũng có thể khiến giá trị này là true, vì vậy hãy dùng status để quyết định xem các thành có cần làm dày hơn hay không. null nếu không thể đo được mô hình.

      • Name
        status
        Type
        string
        Description

        Kết luận về độ dày thành. Một trong các giá trị:

        • healthy: tối đa 5% bề mặt quá mỏng.
        • error: hơn 5% bề mặt quá mỏng. Để làm dày các thành, hãy truyền id của tác vụ này vào Sửa khả năng in dưới dạng input_task_id (đối với model_url dạng .stl, .fbx, hoặc .gltf, hãy gửi tệp dưới dạng model_url thay thế).
        • unknown: không thể đo được mô hình. Nếu bản thân việc kiểm tra độ dày thành thất bại, tác vụ sẽ kết thúc với trạng thái FAILED.
    • Name
      evaluated_at
      Type
      timestamp
      Description

      Dấu thời gian khi quá trình phân tích được tính toán, tính bằng mili giây kể từ epoch.

  • Name
    consumed_credits
    Type
    integer
    Description

    Luôn là 0. Endpoint này miễn phí.

The Analyze Printability Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "expires_at": 1715725401000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "warning",
    "issue_count": 1,
    "error_count": 0,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "evaluated_at": 1700000001000
  },
  "consumed_credits": 0
}

The Analyze Printability Task Object (wall thickness checked)

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "print-analyze",
  "status": "SUCCEEDED",
  "progress": 100,
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000012000,
  "expires_at": 1715725412000,
  "task_error": null,
  "printability": {
    "_version": "v1",
    "status": "error",
    "issue_count": 2,
    "error_count": 1,
    "warning_count": 1,
    "metrics": {
      "is_watertight": true,
      "volume": 1.316167354292668,
      "non_manifold_edges": 0,
      "degenerate_faces": 43242,
      "holes": 0
    },
    "intended_print": {
      "printer_type": "sla",
      "height_mm": 100,
      "longest_side_mm": 118,
      "wall_thickness_mm": 0.8,
      "dimensions_mm": [118, 72.41, 99.87]
    },
    "thin_walls": {
      "thin_area_ratio": 0.083,
      "has_thin_walls": true,
      "status": "error"
    },
    "evaluated_at": 1700000012000
  },
  "consumed_credits": 0
}